summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2010-11-24 04:28:18 (GMT)
committerMartin Jones <martin.jones@nokia.com>2010-11-24 04:28:18 (GMT)
commit810e21d9e404aa2fcb602cb68bfd892387b234e7 (patch)
tree00fc61dbeb33b522b0fc5e3e56ddf87a30582e7a
parente3da9407ad85a65abce72f8a32230ec4f2f95369 (diff)
downloadQt-810e21d9e404aa2fcb602cb68bfd892387b234e7.zip
Qt-810e21d9e404aa2fcb602cb68bfd892387b234e7.tar.gz
Qt-810e21d9e404aa2fcb602cb68bfd892387b234e7.tar.bz2
Flickable and MouseArea were too eager to take/keep mouse grab.
This meant that they would sometimes act upon a drag immediately, rather than waiting for a nested area to take the grab. This resulted in a short jump before future events were handled by the nested item. Task-number: QTBUG-15568 Reviewed-by: Bea Lam
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable.cpp16
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea.cpp37
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp7
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.pngbin0 -> 1360 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.pngbin0 -> 1367 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.pngbin0 -> 1367 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.pngbin0 -> 1372 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.pngbin0 -> 1382 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.pngbin0 -> 1379 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.pngbin0 -> 1390 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.pngbin0 -> 1379 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.pngbin0 -> 1380 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.pngbin0 -> 1379 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml5039
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml62
15 files changed, 5142 insertions, 19 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
index 1870647..377f3b5 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
@@ -281,7 +281,6 @@ void QDeclarativeFlickablePrivate::fixupY()
void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal maxExtent)
{
- Q_Q(QDeclarativeFlickable);
if (data.move.value() > minExtent || maxExtent > minExtent) {
timeline.reset(data.move);
if (data.move.value() != minExtent) {
@@ -290,8 +289,7 @@ void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal
timeline.move(data.move, minExtent - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
timeline.move(data.move, minExtent, QEasingCurve(QEasingCurve::OutExpo), 3*fixupDuration/4);
} else {
- data.move.setValue(minExtent);
- q->viewportMoved();
+ timeline.set(data.move, minExtent);
}
}
} else if (data.move.value() < maxExtent) {
@@ -301,8 +299,7 @@ void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal
timeline.move(data.move, maxExtent - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
timeline.move(data.move, maxExtent, QEasingCurve(QEasingCurve::OutExpo), 3*fixupDuration/4);
} else {
- data.move.setValue(maxExtent);
- q->viewportMoved();
+ timeline.set(data.move, minExtent);
}
}
vTime = timeline.time();
@@ -703,6 +700,9 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
bool rejectY = false;
bool rejectX = false;
+ bool stealY = false;
+ bool stealX = false;
+
if (q->yflick()) {
int dy = int(event->pos().y() - pressPos.y());
if (qAbs(dy) > QApplication::startDragDistance() || QDeclarativeItemPrivate::elapsed(pressTime) > 200) {
@@ -731,7 +731,7 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
vMoved = true;
}
if (qAbs(dy) > QApplication::startDragDistance())
- stealMouse = true;
+ stealY = true;
}
}
@@ -764,10 +764,12 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
}
if (qAbs(dx) > QApplication::startDragDistance())
- stealMouse = true;
+ stealX = true;
}
}
+ stealMouse = stealX || stealY;
+
if (!lastPos.isNull()) {
qreal elapsed = qreal(QDeclarativeItemPrivate::restart(lastPosTime)) / 1000.;
if (elapsed <= 0)
diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
index d9edd11..0a043a7 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp
+++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
@@ -500,17 +500,9 @@ void QDeclarativeMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
const int dragThreshold = QApplication::startDragDistance();
qreal dx = qAbs(curLocalPos.x() - startLocalPos.x());
qreal dy = qAbs(curLocalPos.y() - startLocalPos.y());
- if ((d->dragX && !(dx < dragThreshold)) || (d->dragY && !(dy < dragThreshold))) {
+
+ if (keepMouseGrab() && d->stealMouse)
d->drag->setActive(true);
- d->stealMouse = true;
- }
- if (!keepMouseGrab()) {
- if ((!d->dragY && dy < dragThreshold && d->dragX && dx > dragThreshold)
- || (!d->dragX && dx < dragThreshold && d->dragY && dy > dragThreshold)
- || (d->dragX && d->dragY)) {
- setKeepMouseGrab(true);
- }
- }
if (d->dragX && d->drag->active()) {
qreal x = (curLocalPos.x() - startLocalPos.x()) + d->startX;
@@ -528,6 +520,16 @@ void QDeclarativeMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
y = drag()->ymax();
drag()->target()->setY(y);
}
+
+ if (!keepMouseGrab()) {
+ if ((!d->dragY && dy < dragThreshold && d->dragX && dx > dragThreshold)
+ || (!d->dragX && dx < dragThreshold && d->dragY && dy > dragThreshold)
+ || (d->dragX && d->dragY && (dx > dragThreshold || dy > dragThreshold))) {
+ setKeepMouseGrab(true);
+ d->stealMouse = true;
+ }
+ }
+
d->moved = true;
}
QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, false, d->longPress);
@@ -618,6 +620,7 @@ bool QDeclarativeMouseArea::sceneEvent(QEvent *event)
// if our mouse grab has been removed (probably by Flickable), fix our
// state
d->pressed = false;
+ d->stealMouse = false;
setKeepMouseGrab(false);
emit canceled();
emit pressedChanged();
@@ -672,8 +675,18 @@ bool QDeclarativeMouseArea::sendMouseEvent(QGraphicsSceneMouseEvent *event)
return stealThisEvent;
}
if (mouseEvent.type() == QEvent::GraphicsSceneMouseRelease) {
- d->stealMouse = false;
- ungrabMouse();
+ if (d->pressed) {
+ d->pressed = false;
+ d->stealMouse = false;
+ if (s && s->mouseGrabberItem() == this)
+ ungrabMouse();
+ emit canceled();
+ emit pressedChanged();
+ if (d->hovered) {
+ d->hovered = false;
+ emit hoveredChanged();
+ }
+ }
}
return false;
}
diff --git a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
index 57a58e9..9d7cc05 100644
--- a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
+++ b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
@@ -216,7 +216,14 @@ void tst_QDeclarativeMouseArea::dragging()
QCOMPARE(blackRect->x(), 50.0);
QCOMPARE(blackRect->y(), 50.0);
+ // First move event triggers drag, second is acted upon.
+ // This is due to possibility of higher stacked area taking precedence.
QGraphicsSceneMouseEvent moveEvent(QEvent::GraphicsSceneMouseMove);
+ moveEvent.setScenePos(QPointF(106, 106));
+ moveEvent.setButton(Qt::LeftButton);
+ moveEvent.setButtons(Qt::LeftButton);
+ QApplication::sendEvent(scene, &moveEvent);
+
moveEvent.setScenePos(QPointF(110, 110));
moveEvent.setButton(Qt::LeftButton);
moveEvent.setButtons(Qt::LeftButton);
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png
new file mode 100644
index 0000000..793fb0f
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png
new file mode 100644
index 0000000..5935b45
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png
new file mode 100644
index 0000000..a205266
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png
new file mode 100644
index 0000000..3d81ff2
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png
new file mode 100644
index 0000000..ee2076e
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png
new file mode 100644
index 0000000..9017124
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png
new file mode 100644
index 0000000..216dd7e
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png
new file mode 100644
index 0000000..27e8480
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png
new file mode 100644
index 0000000..6b911c5
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png
new file mode 100644
index 0000000..01858a5
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml
new file mode 100644
index 0000000..cec1558
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml
@@ -0,0 +1,5039 @@
+import Qt.VisualTest 4.7
+
+VisualTest {
+ Frame {
+ msec: 0
+ }
+ Frame {
+ msec: 16
+ image: "nested.0.png"
+ }
+ Frame {
+ msec: 32
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 48
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 64
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 80
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 96
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 112
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 128
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 144
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 160
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 176
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 192
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 208
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 224
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 240
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 256
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 272
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 288
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 304
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 320
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 336
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 352
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 368
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 384
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 400
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 416
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 432
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 448
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 464
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 480
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 496
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 512
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 528
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 544
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 560
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 576
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 592
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 608
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 624
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 640
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 656
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 672
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 688
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 704
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 720
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 736
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 752
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 768
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 784
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 800
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 816
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 832
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 848
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Frame {
+ msec: 864
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 25; y: 62
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 880
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 26; y: 62
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 896
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 27; y: 62
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 912
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 28; y: 62
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 29; y: 62
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 928
+ hash: "2400cadaaa467cbfb0c7d2ace8137179"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 30; y: 62
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 33; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 944
+ hash: "f5aa6257fd80c1e383bc2db84e41c354"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 35; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 40; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 960
+ hash: "e96076794d3efc62a8fe2d2e543e97c7"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 42; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 976
+ image: "nested.1.png"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 58; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 992
+ hash: "ab955f6c6b210b66b27e244dc2150860"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 66; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 70; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1008
+ hash: "b655247e73b0b8357dc9d355ba6f49a0"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 79; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 83; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1024
+ hash: "08b67b7e28990cac8c9bd354b7d87698"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 91; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 95; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1040
+ hash: "69cecfb41899e13c0bc5acb6f9bc666d"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 104; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 107; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1056
+ hash: "8d1f0cd85fd3f2654f7c30a6d9ec2b99"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 115; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 122; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1072
+ hash: "f8ddda87cfcf5dc9d8c6e940fbd295f3"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 126; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 133; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1088
+ hash: "ab9d942c47a2cca5531f7b67df034161"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 136; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 143; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1104
+ hash: "7ca5a03fdfac44c389315c3928631a2a"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 146; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 151; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1120
+ hash: "ade955ed9d85fbbe72cf18bbc541c8bf"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 153; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 158; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1136
+ hash: "6ad4afa3e3fcb578946fccbf4896761c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 162; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 163; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1152
+ hash: "3ebe78e37c1c66d0b8fc86c8191e39de"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 165; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 166; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1168
+ hash: "6450917cc89a553cf509265eaf318efb"
+ }
+ Frame {
+ msec: 1184
+ hash: "6450917cc89a553cf509265eaf318efb"
+ }
+ Frame {
+ msec: 1200
+ hash: "6450917cc89a553cf509265eaf318efb"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 166; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1216
+ hash: "6450917cc89a553cf509265eaf318efb"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 164; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 161; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1232
+ hash: "adfe54d5d28f7caf9ace117fd3573444"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 159; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 156; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1248
+ hash: "f4963636cc4fbd8bfe6baf10540ed7e7"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 154; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 149; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1264
+ hash: "1c2d2edb9214cc3857aa221330ee28ba"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 143; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 139; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1280
+ hash: "750226c90e6c6cd0b3bdd3c3dc8da18f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 131; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 126; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1296
+ hash: "b6b5d177ab531460dc125afa82489a1d"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 115; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 111; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1312
+ hash: "62d411a7b6c404393e4bfafab9c638a3"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 100; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 91; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1328
+ hash: "e355997b3decd4deb686fece59c33c7c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 86; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 76; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1344
+ hash: "2ab73c8aac6a0e321686e97c9bb28f28"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 71; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 61; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1360
+ hash: "55a887f9f45f71beb6b723191eb60a2f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 56; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 50; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1376
+ hash: "b2d49e34362994739d14fb8231ff82d6"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 47; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 43; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1392
+ hash: "3964796876870035794b41501991b527"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 41; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 40; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1408
+ hash: "e96076794d3efc62a8fe2d2e543e97c7"
+ }
+ Frame {
+ msec: 1424
+ hash: "e96076794d3efc62a8fe2d2e543e97c7"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 41; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1440
+ hash: "7e524b3c43a987503ef102bdb9f11701"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 42; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1456
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1472
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1488
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1504
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1520
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1536
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1552
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 42; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1568
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1584
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1600
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1616
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1632
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1648
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1664
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1680
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1696
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1712
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1728
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1744
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1760
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1776
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1792
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1808
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1824
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1840
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1856
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1872
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1888
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1904
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1920
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Frame {
+ msec: 1936
+ image: "nested.2.png"
+ }
+ Frame {
+ msec: 1952
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 38; y: 56
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1968
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 39; y: 57
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 1984
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 39; y: 59
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 39; y: 60
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2000
+ hash: "2a7c13e97c21e298541bb5ab8169ff13"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 40; y: 63
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 40; y: 65
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2016
+ hash: "9178754b825d60b2174ed9431ea80586"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 41; y: 68
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 41; y: 70
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 45; y: 79
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2032
+ hash: "89eff8fa9f8710d7cbc50b8d4b751148"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 47; y: 84
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 86
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2048
+ hash: "cdae8b46ecfc2b0c90264c120156cc46"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 50; y: 91
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 93
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2064
+ hash: "cf35919630eab647a28eb91d8a441704"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 99
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 102
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2080
+ hash: "283256d50da8c855c50d5f8813d37afd"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 107
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 109
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2096
+ hash: "2560cd67d507bc24c1000187f645531c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 113
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 117
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2112
+ hash: "6f6f7c299c4516c5231f5bfcd39b6db3"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 119
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 122
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2128
+ hash: "e7989524238996cf59f420f4edf8f982"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 124
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 126
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2144
+ hash: "34d8d456848807e854bcb25ffbde37d4"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 127
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 130
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2160
+ hash: "433bd3983804b07484d38af2723f519e"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 132
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 134
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2176
+ hash: "510e534a8a7b88041f7544e7e4992b8f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 137
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 52; y: 139
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2192
+ hash: "25f43c457a5bf2b70a66ce91685ad4dc"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 141
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 142
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2208
+ hash: "4119ab90627359420e25220618b76a69"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 145
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 50; y: 146
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2224
+ hash: "8a3cc888e96cf3e26e369723b442baf1"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 147
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 150
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2240
+ hash: "980552e8ff9d87ccb40127b06b0f846f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 151
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 153
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2256
+ hash: "9ee23fc7cbca4467f984073d2af7cdf6"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 154
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 155
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2272
+ hash: "032d65792ac867c9b9acef05bd993c54"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 156
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2288
+ hash: "be2f8d5a64034e75e23527c486e33029"
+ }
+ Frame {
+ msec: 2304
+ hash: "be2f8d5a64034e75e23527c486e33029"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 155
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2320
+ hash: "3f65505e4d1f8534c9123b3dea15d43e"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 154
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 152
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2336
+ hash: "e8b1799cf1926cb3b6cbf3adee80cffe"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 149
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 147
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2352
+ hash: "31155b14cc0d3d47bbef4e199fdfcb46"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 140
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 52; y: 132
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2368
+ hash: "b89745a9a60a7ebeb1de0a7f96ad2ac3"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 128
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 57; y: 118
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2384
+ hash: "7e99fa1eba369d45f10778fe02356f09"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 59; y: 114
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 64; y: 103
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2400
+ hash: "cd123f6b332f38f43abbf01469a41301"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 67; y: 98
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 71; y: 90
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2416
+ hash: "353c0602dd2b670e19988117172855fc"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 76; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 78; y: 78
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2432
+ hash: "20df9d19fd2113fa8f8023d5b4328dc5"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 81; y: 70
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 82; y: 67
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2448
+ hash: "10b34a758d5b3790dd36c9d95c47b157"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 84; y: 62
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 85; y: 60
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2464
+ hash: "98a483e1eaa9145fd277fd85a9b0cf03"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 87; y: 57
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 88; y: 55
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2480
+ hash: "e92edd52ff1ee78456fa1947a46e6570"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 89; y: 53
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 91; y: 52
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2496
+ hash: "877384496d967f5f0ab1c817a2b316d6"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 92; y: 51
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 93; y: 51
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2512
+ hash: "15673570ffe9a391f9214601ac9dc86c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 94; y: 50
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 95; y: 50
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2528
+ hash: "4b7f0094b19a4495bf913d2994889497"
+ }
+ Frame {
+ msec: 2544
+ hash: "4b7f0094b19a4495bf913d2994889497"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 95; y: 49
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2560
+ hash: "4b7f0094b19a4495bf913d2994889497"
+ }
+ Frame {
+ msec: 2576
+ hash: "4b7f0094b19a4495bf913d2994889497"
+ }
+ Frame {
+ msec: 2592
+ hash: "4b7f0094b19a4495bf913d2994889497"
+ }
+ Frame {
+ msec: 2608
+ hash: "4b7f0094b19a4495bf913d2994889497"
+ }
+ Frame {
+ msec: 2624
+ hash: "4b7f0094b19a4495bf913d2994889497"
+ }
+ Frame {
+ msec: 2640
+ hash: "4b7f0094b19a4495bf913d2994889497"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 95; y: 49
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 2656
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2672
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2688
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2704
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2720
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2736
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2752
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2768
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2784
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2800
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2816
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2832
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2848
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2864
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2880
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2896
+ image: "nested.3.png"
+ }
+ Frame {
+ msec: 2912
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2928
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2944
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2960
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2976
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 2992
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3008
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3024
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3040
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3056
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3072
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3088
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3104
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3120
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3136
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3152
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3168
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3184
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3200
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3216
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3232
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 156; y: 74
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3248
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Frame {
+ msec: 3264
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 156; y: 73
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 157; y: 73
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3280
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 158; y: 73
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 160; y: 73
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3296
+ hash: "2994e98b8ea9a6883a7324e7e848345c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 161; y: 73
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 163; y: 73
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3312
+ hash: "df6cf21e99177a436e356f818996070c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 166; y: 73
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 171; y: 74
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3328
+ hash: "86f5e3fee147f47edd4a6d042aff0301"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 178; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 181; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3344
+ hash: "589c1418a9179c868d904b1a5169a11b"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 189; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 193; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3360
+ hash: "3141ad77d193e145b749759070e1e6ef"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 200; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 204; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3376
+ hash: "5e34d4deeb6d80b336cacea39797e0ca"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 211; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 217; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3392
+ hash: "b8795d844982bcf60a6713f91717648f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 220; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 224; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3408
+ hash: "857c63b24057ee0186c5136eddb71cb1"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 226; y: 75
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 227; y: 76
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3424
+ hash: "49222ed0d1ebc8759d0a1dc65c3beec6"
+ }
+ Frame {
+ msec: 3440
+ hash: "49222ed0d1ebc8759d0a1dc65c3beec6"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 227; y: 77
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 226; y: 77
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3456
+ hash: "751847708a468f4f3e64e7cb5ebd1351"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 225; y: 78
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 224; y: 78
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3472
+ hash: "4016f80a5219fcba6480645f71998d71"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 221; y: 80
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 220; y: 80
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3488
+ hash: "beef05cd2a3d20bc66978fa4f0ac1d12"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 216; y: 82
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 214; y: 84
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3504
+ hash: "e50a2661e93d34b55c8d2d39abc77e5a"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 209; y: 86
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 206; y: 86
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3520
+ hash: "7beccbc2f091350bb5d9de1e2443021d"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 200; y: 88
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 192; y: 89
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3536
+ hash: "1d39570bf07392f56b6dd24b0bf9e7bc"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 188; y: 90
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 180; y: 91
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3552
+ hash: "62565b3e5aad3979b408207bbf36e615"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 176; y: 92
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 167; y: 92
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3568
+ hash: "d9c6004921847fef16bb8c2f5d6b3b7d"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 162; y: 92
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 152; y: 92
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3584
+ hash: "53da27301ad97ae52c65928615ec0cd7"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 142; y: 92
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 137; y: 90
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3600
+ hash: "9772a776e84515984b4eec70dbd1c5a7"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 125; y: 88
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 119; y: 88
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3616
+ hash: "9caa6583a716443c13e8fef3f2923d6e"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 109; y: 86
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 104; y: 85
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3632
+ hash: "f162a18b2d3f0d5f6f01fc373c016f68"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 98; y: 84
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 96; y: 84
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3648
+ hash: "58976e8e31beddf881c7cfa3ede54c09"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 94; y: 84
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 92; y: 83
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3664
+ hash: "6625f7adb097bc170024083c42d74b4b"
+ }
+ Frame {
+ msec: 3680
+ hash: "6625f7adb097bc170024083c42d74b4b"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 92; y: 82
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3696
+ hash: "1d63f09ca27e9d70c3c0ea923a6cfba4"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 93; y: 82
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3712
+ hash: "1d63f09ca27e9d70c3c0ea923a6cfba4"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 94; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 96; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3728
+ hash: "a23c75fcaa0a28adb944bf192af65bff"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 98; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 100; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3744
+ hash: "2b90fe8937dcc39d1d6add305cf36043"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 107; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 111; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3760
+ hash: "7da82cfaf0f826ca9a41128278b6b09c"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 118; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 122; y: 81
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3776
+ hash: "a3f69d13d38b336fda33a86899564996"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 129; y: 80
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 135; y: 79
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3792
+ hash: "dc562319e1d332ba34ac94bfc0c39c5e"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 138; y: 79
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 140; y: 78
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3808
+ hash: "756482bee292668f56d813847b0ccd53"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 141; y: 77
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 142; y: 76
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3824
+ hash: "06d250c4d18a70f8f7b1c10e22a1bc4c"
+ }
+ Frame {
+ msec: 3840
+ hash: "06d250c4d18a70f8f7b1c10e22a1bc4c"
+ }
+ Frame {
+ msec: 3856
+ image: "nested.4.png"
+ }
+ Frame {
+ msec: 3872
+ hash: "06d250c4d18a70f8f7b1c10e22a1bc4c"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 142; y: 76
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 3888
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 3904
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 3920
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 3936
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 3952
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 3968
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 3984
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4000
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4016
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4032
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4048
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4064
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4080
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4096
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4112
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4128
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4144
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4160
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4176
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4192
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4208
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4224
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4240
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4256
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4272
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4288
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4304
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4320
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4336
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4352
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4368
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4384
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4400
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4416
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4432
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4448
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4464
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4480
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4496
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4512
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4528
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4544
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 16; y: 46
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4560
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 4576
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 16; y: 47
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 16; y: 48
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4592
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 16; y: 49
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 17; y: 50
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4608
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 17; y: 55
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 18; y: 56
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4624
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 20; y: 61
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 20; y: 64
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4640
+ hash: "ff1f86b47e0d1db5db7d939df8349931"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 22; y: 70
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 23; y: 73
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4656
+ hash: "f13393a4556e9e73c33f2bb74d8f7794"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 26; y: 80
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 28; y: 84
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4672
+ hash: "8c9aa01516437184eb17d89348cca004"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 33; y: 91
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 40; y: 99
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4688
+ hash: "8b6848cb722ff5ec02d957da1ee687e5"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 44; y: 102
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 109
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4704
+ hash: "552fde584d128f511788670031d79dd2"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 58; y: 112
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 64; y: 117
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4720
+ hash: "55dc3a4242b46e602f823c0305e67ad2"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 68; y: 118
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 71; y: 120
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4736
+ hash: "603b9b2ed6ff4273c3ab1cbe32afb19e"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 73; y: 120
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 73; y: 120
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 4752
+ hash: "157eda24ea8452a208aa7a6a22639c73"
+ }
+ Frame {
+ msec: 4768
+ hash: "157eda24ea8452a208aa7a6a22639c73"
+ }
+ Frame {
+ msec: 4784
+ hash: "c5005b83816c18b67448dfbccd0ab0b2"
+ }
+ Frame {
+ msec: 4800
+ hash: "878512df863e5d60437b85fbd2a32eb1"
+ }
+ Frame {
+ msec: 4816
+ image: "nested.5.png"
+ }
+ Frame {
+ msec: 4832
+ hash: "02ab69b67b746ec0021295992a03ada1"
+ }
+ Frame {
+ msec: 4848
+ hash: "c621382766d7bacab87055a73623a8ce"
+ }
+ Frame {
+ msec: 4864
+ hash: "a8d1be78741d9afd88363bd19f1cbc6b"
+ }
+ Frame {
+ msec: 4880
+ hash: "5a70275ff656766d73638d4dd4db4492"
+ }
+ Frame {
+ msec: 4896
+ hash: "892ea0a00553524b79889d437eac9b6f"
+ }
+ Frame {
+ msec: 4912
+ hash: "d818258bffc065430902ffa8f5668f86"
+ }
+ Frame {
+ msec: 4928
+ hash: "6b844523522ace7545705ffb8ffe1da3"
+ }
+ Frame {
+ msec: 4944
+ hash: "3906097bc49bad199b52c99dbf87f98f"
+ }
+ Frame {
+ msec: 4960
+ hash: "a2bd859b5ca7f4fac8d62b1c9ab76aad"
+ }
+ Frame {
+ msec: 4976
+ hash: "f374673e3511b1df8b50ff7ef6002b3a"
+ }
+ Frame {
+ msec: 4992
+ hash: "c2eecfadd19418f469b1ab53a3ecae70"
+ }
+ Frame {
+ msec: 5008
+ hash: "2b481965ece0f2e1795ef56aa5d6a752"
+ }
+ Frame {
+ msec: 5024
+ hash: "c294f28000348365a2c37265132efdb5"
+ }
+ Frame {
+ msec: 5040
+ hash: "c294f28000348365a2c37265132efdb5"
+ }
+ Frame {
+ msec: 5056
+ hash: "4e9c18eab469b2da0cb92526d3d54501"
+ }
+ Frame {
+ msec: 5072
+ hash: "4e9c18eab469b2da0cb92526d3d54501"
+ }
+ Frame {
+ msec: 5088
+ hash: "4e9c18eab469b2da0cb92526d3d54501"
+ }
+ Frame {
+ msec: 5104
+ hash: "4e9c18eab469b2da0cb92526d3d54501"
+ }
+ Frame {
+ msec: 5120
+ hash: "3836449b99d88e2dea9a0eb9417faca5"
+ }
+ Frame {
+ msec: 5136
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5152
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5168
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5184
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5200
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5216
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5232
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5248
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5264
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5280
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5296
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5312
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5328
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5344
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5360
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5376
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5392
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5408
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5424
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5440
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5456
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5472
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5488
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5504
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5520
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5536
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5552
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5568
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5584
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5600
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5616
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Frame {
+ msec: 5632
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 20; y: 238
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 21; y: 238
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5648
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 22; y: 239
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 23; y: 239
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5664
+ hash: "42dc501eb5a34843ef0a8977ff029054"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 27; y: 240
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 29; y: 240
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5680
+ hash: "b56d132ac881e27d308009fb9a9d2d50"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 33; y: 241
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 36; y: 241
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5696
+ hash: "6c65fca03ea127d554f15c80da76f21f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 42; y: 242
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 45; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5712
+ hash: "e5d8939135d0e964609a09a437af58bc"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 61; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5728
+ hash: "ab60a45ac475ef8d1177d831a6572d1f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 66; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 75; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5744
+ hash: "78b2e0c7dd8b8bcbd573dac79ff815e4"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 79; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 89; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5760
+ hash: "ef9e89650d8e3d572285e2a2e2b09166"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 95; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 106; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5776
+ image: "nested.6.png"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 118; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 126; y: 243
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5792
+ hash: "b83136fa3769e30ea47097b489e8f1dc"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 137; y: 241
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 143; y: 240
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5808
+ hash: "fb892905b790a061ce5985c927db3cf5"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 154; y: 238
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 159; y: 237
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5824
+ hash: "bc4358e21d2d31942e776adfd32ef1c6"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 170; y: 235
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 184; y: 234
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5840
+ hash: "b42380a7fcf5e2fbfe4dddbe86ad7287"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 191; y: 232
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 201; y: 231
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5856
+ hash: "4b3c12beb43a77ebaf458804b03c7b52"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 205; y: 231
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 208; y: 230
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5872
+ hash: "a18be4d4ab28c0fd0c16696c4ecc03ef"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 209; y: 230
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 209; y: 229
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5888
+ hash: "c5f100bc4b14e958c7d9bbff84e0a934"
+ }
+ Frame {
+ msec: 5904
+ hash: "c5f100bc4b14e958c7d9bbff84e0a934"
+ }
+ Frame {
+ msec: 5920
+ hash: "c5f100bc4b14e958c7d9bbff84e0a934"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 208; y: 229
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5936
+ hash: "a18be4d4ab28c0fd0c16696c4ecc03ef"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 207; y: 229
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 207; y: 230
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5952
+ hash: "a8b23e7dad1bdbaa3452335be0f07658"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 206; y: 230
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 204; y: 231
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5968
+ hash: "4c1feb559a11912b06ed521bebba43d0"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 200; y: 232
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 194; y: 232
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 5984
+ hash: "ffb97bcedf72e02616272c1cad5c38d7"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 190; y: 232
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 181; y: 231
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6000
+ hash: "99498ed9b4d519a2f842d407abdef90a"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 175; y: 230
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 163; y: 229
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6016
+ hash: "1ca3f012adab899eba1dcb63d048345f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 158; y: 228
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 145; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6032
+ hash: "8a81d49de887f314f67976a65f469169"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 132; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 126; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6048
+ hash: "b83136fa3769e30ea47097b489e8f1dc"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 116; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 112; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6064
+ hash: "12cdd297407257ae4bb13c87e24537fb"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 103; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 99; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6080
+ hash: "a51ac0a1e9432671c88f7649c38d265d"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 90; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 86; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6096
+ hash: "4ba4f854659161c765395cdee35594f2"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 77; y: 226
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 70; y: 225
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6112
+ hash: "9907add9e28b4a8976f3727f99a4b6d4"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 66; y: 224
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 60; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6128
+ hash: "c2cb865c4a766b9c08328b374e940f29"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 59; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 56; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6144
+ hash: "c97981263572ded23b328da45cf88012"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 55; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6160
+ hash: "f4bae51c866ba1158f44529208514d6f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 52; y: 222
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 50; y: 222
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6176
+ hash: "35b4f1f9bb343f2b22bd7cdad6f28249"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6192
+ hash: "84eba4cb400e5622463f5a1fa79be72b"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 47; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 46; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6208
+ hash: "d38e882728c7efc906befe69b416082a"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 45; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6224
+ hash: "e5d8939135d0e964609a09a437af58bc"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 44; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 43; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6240
+ hash: "6b6e06e8473d5703e217accd824b08d5"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 42; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 40; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6256
+ hash: "8e38bc5b00e33e24f931b181dc77d3c1"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 39; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 38; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6272
+ hash: "a173708b5380f42a2bdbf6ae69cdca20"
+ }
+ Frame {
+ msec: 6288
+ hash: "a173708b5380f42a2bdbf6ae69cdca20"
+ }
+ Frame {
+ msec: 6304
+ hash: "a173708b5380f42a2bdbf6ae69cdca20"
+ }
+ Frame {
+ msec: 6320
+ hash: "a173708b5380f42a2bdbf6ae69cdca20"
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 38; y: 223
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 6336
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6352
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6368
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6384
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6400
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6416
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6432
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6448
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6464
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6480
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6496
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6512
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6528
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6544
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6560
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6576
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6592
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6608
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6624
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6640
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6656
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6672
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6688
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6704
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6720
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6736
+ image: "nested.7.png"
+ }
+ Frame {
+ msec: 6752
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6768
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6784
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6800
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6816
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6832
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6848
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6864
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6880
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6896
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6912
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6928
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6944
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6960
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6976
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 6992
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 7008
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 7024
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 7040
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 7056
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 7072
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Mouse {
+ type: 2
+ button: 1
+ buttons: 1
+ x: 46; y: 225
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7088
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 7104
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 46; y: 226
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 46; y: 227
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7120
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 46; y: 228
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 46; y: 231
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7136
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 46; y: 233
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 46; y: 238
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7152
+ hash: "35dd0f784c356be0050936ff75b0cdf7"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 47; y: 240
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 245
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7168
+ hash: "9ac066a700eae45edf9b2f1ba12f0324"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 248
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 255
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7184
+ hash: "22a2a8bf257918820b0ab55ecb14b479"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 50; y: 259
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 266
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7200
+ hash: "eb98237e06cde8ed2f18040ce9197d16"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 52; y: 272
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 52; y: 276
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7216
+ hash: "f0c7afe1bd25b9b573cbc69154c25862"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 282
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 285
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7232
+ hash: "d6a681b6de867db47f889e6f1ec03dcf"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 291
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 293
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7248
+ hash: "0ee281281c7654567a1debae7a13abe0"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 304
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7264
+ hash: "9d5f1c8cb0953c14bdd49aa88d2b225f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 306
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 310
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7280
+ hash: "ae1c2a3ed67c5c10fc9d19de4de7b7eb"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 312
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 315
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7296
+ hash: "8505f9d060fc17fef2e91eb2add206bb"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 316
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 318
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7312
+ hash: "c32a6d546a3e4f2ee5349a7dad4b30af"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 53; y: 319
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 52; y: 320
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7328
+ hash: "222f6e8e8deab567f1e7d0aaf7035b60"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 321
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 322
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7344
+ hash: "f7011629f44015187849daad6a53cebf"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 323
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 324
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7360
+ hash: "56b00d9116a51c041483dd00db0aca90"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 50; y: 325
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 50; y: 326
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7376
+ hash: "93232fbcafe8e279b37781f51dfb923a"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 328
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 329
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7392
+ hash: "9fcf62eaacfc3477a4550c31f03c4782"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 330
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 331
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7408
+ hash: "dd669865fd36e42eec1d69860b29e7ce"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 47; y: 331
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7424
+ hash: "9247af334483b219ca9bbe98d8fc362e"
+ }
+ Frame {
+ msec: 7440
+ hash: "9247af334483b219ca9bbe98d8fc362e"
+ }
+ Frame {
+ msec: 7456
+ hash: "9247af334483b219ca9bbe98d8fc362e"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 47; y: 330
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7472
+ hash: "9247af334483b219ca9bbe98d8fc362e"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 47; y: 329
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 47; y: 328
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7488
+ hash: "69ef9255a29d65f26e5441594ea1bad9"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 325
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 48; y: 323
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7504
+ hash: "055f73dd085d2f65a055ba4d9a8a7539"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 318
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 49; y: 316
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7520
+ hash: "384da5b6a948a52d0519935a8e33f014"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 51; y: 309
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 54; y: 303
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7536
+ hash: "1caa0049be4033db45f0d2debb25268f"
+ }
+ Mouse {
+ type: 5
+ button: 0
+ buttons: 1
+ x: 55; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Mouse {
+ type: 3
+ button: 1
+ buttons: 0
+ x: 55; y: 299
+ modifiers: 0
+ sendToViewport: true
+ }
+ Frame {
+ msec: 7552
+ hash: "76b8d00b3a2a68fec277050a442c18ca"
+ }
+ Frame {
+ msec: 7568
+ hash: "0ee281281c7654567a1debae7a13abe0"
+ }
+ Frame {
+ msec: 7584
+ hash: "df1dbb027a8542aa6120cce7b69724a7"
+ }
+ Frame {
+ msec: 7600
+ hash: "06a4d9b1d73362b3e29c6cf52fdb515c"
+ }
+ Frame {
+ msec: 7616
+ hash: "876c0dc8a68a4c1253b7aed6316cb892"
+ }
+ Frame {
+ msec: 7632
+ hash: "b46c74b1a2535099f0cdb8093bd49a4e"
+ }
+ Frame {
+ msec: 7648
+ hash: "0ad09a7638aa6f2affe47db2a810196f"
+ }
+ Frame {
+ msec: 7664
+ hash: "3710dde54d7e4a10a2c3ca2f891da7f5"
+ }
+ Frame {
+ msec: 7680
+ hash: "8426a607c92fbfa508e81c620d90e919"
+ }
+ Frame {
+ msec: 7696
+ image: "nested.8.png"
+ }
+ Frame {
+ msec: 7712
+ hash: "1f38e34787c909d93d567f983a425257"
+ }
+ Frame {
+ msec: 7728
+ hash: "7b09913793d4c79d948fdff1b72c7124"
+ }
+ Frame {
+ msec: 7744
+ hash: "8a0d1484c073d8107b4bf9949edcdb18"
+ }
+ Frame {
+ msec: 7760
+ hash: "4bad25465dfdcc41995216b0f6a5191b"
+ }
+ Frame {
+ msec: 7776
+ hash: "6d39bbeb5f74273c1ed0231ac34fe094"
+ }
+ Frame {
+ msec: 7792
+ hash: "8ccc2e33b8d6c67162326d229e9c17ab"
+ }
+ Frame {
+ msec: 7808
+ hash: "3561eaa9124b96b2a0afa022bc0fe581"
+ }
+ Frame {
+ msec: 7824
+ hash: "b87d739e49f0427d9da577ac5147fd21"
+ }
+ Frame {
+ msec: 7840
+ hash: "7d0efbfceec35e591f9fae650288809b"
+ }
+ Frame {
+ msec: 7856
+ hash: "7d0efbfceec35e591f9fae650288809b"
+ }
+ Frame {
+ msec: 7872
+ hash: "ff5d2037d3cc7bb6930cabc3d53f0196"
+ }
+ Frame {
+ msec: 7888
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 7904
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 7920
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 7936
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 7952
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 7968
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 7984
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8000
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8016
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8032
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8048
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8064
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8080
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8096
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8112
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8128
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8144
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8160
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8176
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8192
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8208
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8224
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8240
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8256
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8272
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8288
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8304
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8320
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8336
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8352
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8368
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8384
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8400
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8416
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8432
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8448
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8464
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8480
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8496
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8512
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8528
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8544
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8560
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8576
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8592
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8608
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8624
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8640
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8656
+ image: "nested.9.png"
+ }
+ Frame {
+ msec: 8672
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8688
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8704
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8720
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8736
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8752
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8768
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8784
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8800
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8816
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8832
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8848
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8864
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8880
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8896
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8912
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8928
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8944
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8960
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8976
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 8992
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 9008
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+ Frame {
+ msec: 9024
+ hash: "76624c57195c25b8abd4297e11c55980"
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml
new file mode 100644
index 0000000..b2d88d2
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml
@@ -0,0 +1,62 @@
+import QtQuick 1.0
+
+/*
+ Test nested MouseArea with different drag axes.
+*/
+
+Rectangle{
+ width:400
+ height:360
+ color: "white"
+ Flickable {
+ anchors.fill: parent
+ contentWidth: 600
+ contentHeight: 600
+ Rectangle{
+ id: draggable
+ width:200; height:200; color: "lightsteelblue"
+ opacity: ma1.drag.active ? 0.5 : 1.0
+ y:20
+ MouseArea{
+ id: ma1
+ objectName: "one"
+ anchors.fill: parent
+ drag.target: draggable
+ drag.axis: "XandYAxis"
+ drag.filterChildren: true
+ drag.minimumX: 0
+ drag.maximumX: 200
+ drag.minimumY: 20
+ drag.maximumY: 220
+ Rectangle{
+ id: draggable_inner
+ width:40; height:40; color: "red"
+ y:20
+ MouseArea{
+ objectName: "two"
+ anchors.fill: parent
+ drag.target: draggable_inner
+ drag.axis: "XAxis"
+ drag.minimumX: 0
+ drag.maximumX: 360
+ }
+ }
+ }
+ }
+ Rectangle{
+ id: draggable3
+ width:40; height:40; color: "green"
+ opacity: ma3.drag.active ? 0.5 : 1.0
+ y:210
+ MouseArea{
+ id: ma3
+ objectName: "three"
+ anchors.fill: parent
+ drag.target: draggable3
+ drag.axis: "XAxis"
+ drag.minimumX: 0
+ drag.maximumX: 360
+ }
+ }
+ }
+}