summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Added native key support to QSharedMemory API.Mirko Damiani2010-05-311-7/+19
| | | | | | | | | | | | | | | | | | | | Methods setNativeKey() and nativeKey() were added to QSharedMemory API. Shared memory's native key is returned by nativeKey() and it is set with either setKey() or setNativeKey(). setKey() leads to a native key that is platform independent while setNativeKey() directly sets the native key without any mangling. When using setNativeKey(), key() returns a null string and shared memory's system semaphore is not set. This means that is up to the user to define a such protection mechanism (i.e. lock() can't be used on native keys). QSharedMemory tests were updated. Merge-request: 1497 Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com> Reviewed-by: Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com>
* Make test work with shadow builds again.Andreas Aardal Hanssen2010-05-311-4/+4
| | | | | | | | Broken by 0cdf33e9acb00b8f3654e8268253a3fb7c5db92c, which assumes the binary and sources are in the same directory. The fix reverts the code back to how it was in 4.5 (where it still works with shadow builds). Reviewed-by: Denis Dzyubenko
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-05-281-0/+51
|\ | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fixed bug where testlib would not respect the -iterations option. Improve precision of testlib benchmarking. QMetaMethod::invoke: Document that the function does not check the arguments add test for QMetaMethod::invoke Make QGLBuffer copiable
| * add test for QMetaMethod::invokeOlivier Goffart2010-05-281-0/+51
| |
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2010-05-282-4/+22
|\ \ | |/ |/| | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Active window focus gain should not open virtual keypad Use QElapsedTimer rather than QTime::elapsed()
| * Active window focus gain should not open virtual keypadJoona Petrell2010-05-282-4/+22
| | | | | | | | | | Task-number: Reviewed-by: Martin Jones
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-05-271-0/+29
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Wrong QGraphicsItem::childrenBoundingRect() when applying effects. Fix a bug in QDirectFBPixmapData::fromImage Replace memmove with memcpy Fixed compilation of QtOpenGL. Optimize initialization of QStaticText
| * Wrong QGraphicsItem::childrenBoundingRect() when applying effects.Bjørn Erik Nilsen2010-05-271-0/+29
| | | | | | | | | | | | | | | | | | Problem was that we used the children's raw bounding rect instead of using their effective bounding rect when calculating the bounds. Auto test included. Task-number: QTBUG-10756
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-05-271-0/+45
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Remove superfluous forward declaration. Update documentation for the -font command line option Fixed a crash when creating QGtkStyle before QApplication Added support for Indonesian language on Symbian. Ensure that activation object has been created before popping scope of native context
| * | Ensure that activation object has been created before popping scope of ↵Kent Hansen2010-05-271-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | native context One shouldn't have to call activationObject() or scopeChain() before calling popScope(); the scope chain should always have 2 items (activation and global object) before we start popping anything from the internal chain. Task-number: QTBUG-11020 Reviewed-by: Olivier Goffart
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2010-05-272-2/+10
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Improve QML framerate debugging If a pathview delegate changes size, reposition center on path Remove deprecated Flickable::overshoot property. Don't display unnecessary copyright headers in doc
| * | If a pathview delegate changes size, reposition center on pathMartin Jones2010-05-272-2/+10
| | | | | | | | | | | | Task-number: QTBUG-11006
* | | Merge remote branch 'origin/4.7' into oslo-staging-1Aaron McCarthy2010-05-2718-69/+366
|\ \ \ | | |/ | |/| | | | | | | Conflicts: doc/src/declarative/advtutorial.qdoc
| * | Redraw issues when removing a fully transparent QGraphicsItem from the scene.Bjørn Erik Nilsen2010-05-261-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only happened with fully transparent ancestors (item's effectiveOpacity() == 0.0). Problem was that we didn't take into account the ancestors' opacity when removing an item from the scene. More specifically: The calculated effective opacity for the item was zero and we ignored update requests. We have to ignore the opacity if any of the ancestors' ignoreOpacity bit is 1, which means the opacity is set to 0 and the update request has not yet been processed. Auto test included. Task-number: QTBUG-10778
| * | Fixes a proxymodel sorting odity.Pierre Rossi2010-05-261-0/+36
| | | | | | | | | | | | | | | | | | | | | Sort order was modified when sorted according to an empty column always in the same order Reviewed-by: Thierry
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-05-262-6/+25
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: tst_qxmlstream: fix in shadowbuild QXmlStreamWriter: Auto-formatting does not behave properly with processing instructions. Update the state of the keyboard modifiers on drop events.
| | * tst_qxmlstream: fix in shadowbuildOlivier Goffart2010-05-262-6/+8
| | |
| | * QXmlStreamWriter: Auto-formatting does not behave properly with processing ↵Jakub Wieczorek2010-05-261-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instructions. When writing a processing instruction with auto-formatting enabled, it should put it in a new line for readability and apply the indentation properly. Merge-request: 620 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2010-05-2614-63/+262
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Doc fixes, improvements Allow js files with '.pragma library' to be used from WorkerScript Add more examples of XPath expressions to XmlRole. Open input panel on press if TextInput or TextEdit are already focused but panel has been closed Fix horizontal/verticalCenter anchors bug. Fix TextEdit clipping when not wrapped. Rename most-useful-wrap-mode to "Wrap". Fix for qml reloaded in qml viewer not being maximized properly on a device Unify naming of import plugin targets Add a way to control when software input panels are shown in TextInput and TextEdit elements Replace QTime with QElapsedTimer Fix Gradient doc snippet.
| | * Allow js files with '.pragma library' to be used from WorkerScriptBea Lam2010-05-267-29/+76
| | |
| | * Open input panel on press if TextInput or TextEdit are already focused but ↵Joona Petrell2010-05-262-0/+18
| | | | | | | | | | | | | | | | | | | | | panel has been closed Task-number: Reviewed-by: Martin Jones
| | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7Warwick Allison2010-05-264-31/+165
| | |\
| | | * Fix horizontal/verticalCenter anchors bug.Yann Bodson2010-05-262-0/+25
| | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-10999 Reviewed-by: Michael Brasser
| | | * Add a way to control when software input panels are shown in TextInput and ↵Joona Petrell2010-05-262-31/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | TextEdit elements Task-number: QTBUG-10841 Reviewed-by: Warwick Allison
| | * | Fix TextEdit clipping when not wrapped. Rename most-useful-wrap-mode to "Wrap".Warwick Allison2010-05-263-3/+3
| | |/
* | | escape backslashesOswald Buddenhagen2010-05-2622-44/+44
| | | | | | | | | | | | this makes windows-style path specs *ugly*. that's intentional. :-P
* | | qaccessibility::eventTest(...) was failing.Carlos Manuel Duclos Vergara2010-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The problem here is the fact that to test the mouse click the test depended on some "magical" coordinates which are not valid anymore. But since QTest::mouseClick(...) will target the center of the button, there is no need to calculate coordinates. Reviewed-by: Richard Moe Gustavsen
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-05-251-0/+78
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (50 commits) Dont crash when assigning the same input context twice. Fixed a typo in variable name in qlocale data generator. Fix for Norwegian and Korean languages on symbian. Remove unused function in QDBusConnectionPrivate Doc: Fixing bugs in HTML generator Updating 4.7.0 change log. Doc: Correcting style to class lists qdoc: Improved class index page. Added MSVC 2010 project files to .gitignore Fix architecture detection on GNU/Hurd. Revert "tst_bic: make it possible to test for cross-compilation" fix typo in documentation Improve Bearer Management related documentation in QNetworkAccessManager Compile with QT_NO_ACTION. Unbreak compilation outside Mac QDBusAbstractInterface: don't set lastError outside the object's own thread tst_bic: make it possible to test for cross-compilation Remove Q_PACKED from QChar and QLocale::Data. QDebug operator for QFlags Removing unneeded qDebug statement. ...
| * | Revert "tst_bic: make it possible to test for cross-compilation"Thiago Macieira2010-05-252-10/+4
| | | | | | | | | | | | This reverts commit b5f1a55c3112f46f27e2306fac7d93bde96152e6.
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-05-243-4/+88
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (39 commits) fix typo in documentation Improve Bearer Management related documentation in QNetworkAccessManager Compile with QT_NO_ACTION. Unbreak compilation outside Mac QDBusAbstractInterface: don't set lastError outside the object's own thread tst_bic: make it possible to test for cross-compilation Remove Q_PACKED from QChar and QLocale::Data. QDebug operator for QFlags Removing unneeded qDebug statement. Fixing incorrect addition of public API symbols. Removal erroneous inclusion of new Public API in qmacstyle. Doc: design changes qdoc: Fixed html error, but the problem is still there. qdoc: Changed number of columns to 1. Oila! Doc: Changes to the HTMLGenerator, style and js remove dead code that will never get called. add bytes and activeTime to corelwan. Fix formating of license header. fix irix build clarify wording of warning message ...
| | * \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-05-243-4/+88
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (39 commits) fix typo in documentation Improve Bearer Management related documentation in QNetworkAccessManager Compile with QT_NO_ACTION. Unbreak compilation outside Mac QDBusAbstractInterface: don't set lastError outside the object's own thread tst_bic: make it possible to test for cross-compilation Remove Q_PACKED from QChar and QLocale::Data. QDebug operator for QFlags Removing unneeded qDebug statement. Fixing incorrect addition of public API symbols. Removal erroneous inclusion of new Public API in qmacstyle. Doc: design changes qdoc: Fixed html error, but the problem is still there. qdoc: Changed number of columns to 1. Oila! Doc: Changes to the HTMLGenerator, style and js remove dead code that will never get called. add bytes and activeTime to corelwan. Fix formating of license header. fix irix build clarify wording of warning message ...
| | | * \ Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-05-243-4/+88
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (39 commits) fix typo in documentation Improve Bearer Management related documentation in QNetworkAccessManager Compile with QT_NO_ACTION. Unbreak compilation outside Mac QDBusAbstractInterface: don't set lastError outside the object's own thread tst_bic: make it possible to test for cross-compilation Remove Q_PACKED from QChar and QLocale::Data. QDebug operator for QFlags Removing unneeded qDebug statement. Fixing incorrect addition of public API symbols. Removal erroneous inclusion of new Public API in qmacstyle. Doc: design changes qdoc: Fixed html error, but the problem is still there. qdoc: Changed number of columns to 1. Oila! Doc: Changes to the HTMLGenerator, style and js remove dead code that will never get called. add bytes and activeTime to corelwan. Fix formating of license header. fix irix build clarify wording of warning message ...
| | | | * \ Merge remote branch 'origin/4.7' into oslo-staging-1Aaron McCarthy2010-05-243-29/+214
| | | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/styles/qmacstyle_mac.mm
| | | | * | | tst_bic: make it possible to test for cross-compilationThiago Macieira2010-05-232-4/+10
| | | | | | |
| | | | * | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-05-201-0/+78
| | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Removed a change from the 4.7.0 change log. Improve look and feel of itemviews on mac doc: Fixed many broken links. doc: Fixed many broken links. update 4.7.0 changes QPushButton's click area exceeds the button area by far on Mac OS X QApplication::closeAllWindows() should ignore windows being closed Examples: Fix compilation with namespace. Use QApplication::arguments() to check for command line args Added support for .rc files on VS2010. Doc: Updating CSS and JS Docs: added an intro for qml, Quick for Beginners. Fix crash on exit in native wifi plugin on Vista+ when run in debugger.
| | | | | * | | QApplication::closeAllWindows() should ignore windows being closedBradley T. Hughes2010-05-201-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is very common to display a dialog in response to a close event. Closing the window again will result in QWidget::close() returning true. This confuses QApplication::closeAllWindows(), since the window is still visible even though it was closed (or is closing). Solve this by ignoring windows that have the is_closing flag set in their widget data. Task-number: QTBUG-7635 Reviewed-by: Denis Dzyubenko
* | | | | | | | Merge branch 'qt-4.7-from-4.6' of scm.dev.nokia.troll.no:qt/qt-integration ↵Qt Continuous Integration System2010-05-2540-18/+278020
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into 4.7-integration * 'qt-4.7-from-4.6' of scm.dev.nokia.troll.no:qt/qt-integration: (22 commits) Fix compilation of qegl.cpp after the last merge Fix a race condition with QtDBus blocking for replies. QtDBus: Debug message update Removed DEPLOYMENT from demos/spectrum/spectrum.pro Install source for spectrum demo Fixed path for copying launcher script for spectrum demo My 4.6.3 changes. Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( ecee9d7244ce4f7e7acf723bcef535532780db5f ) Fixed an assert in QMenu Backport multitouch bug fixes to 4.6 tst_bic: Add the Qt 4.5 and 4.6 baselines for x86-64 Call eglTerminate() when the last QEglContext is destroyed to free mem. Removed double EINTR loop from nativeWrite and nativeRead. Fixed qsslkey test deployment for Symbian and fixed compiler warnings. Fixing the race condition in event dispatcher implementation on changes-4.6.3 updated Fixing the compile issue. Fixing the compile issue. Typo. Removed nearest test from qaudiodeviceinfo unit test. ...
| * | | | | | | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-05-2540-18/+278020
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/spectrum/app/app.pro src/gui/egl/qegl.cpp tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro tests/auto/qmenu/tst_qmenu.cpp
| | * | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-05-211-0/+54
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fixed an assert in QMenu Call eglTerminate() when the last QEglContext is destroyed to free mem.
| | | * \ \ \ \ \ Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-05-211-0/+54
| | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fixed an assert in QMenu Call eglTerminate() when the last QEglContext is destroyed to free mem.
| | | | * | | | | | Fixed an assert in QMenuThierry Bastian2010-05-211-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code was changed and changed the behaviour. This is basically a kind of revert. Reviewed-By: gabi Task-Number: QTBUG-10735
| | * | | | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-05-2135-0/+278008
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: My 4.6.3 changes. Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( ecee9d7244ce4f7e7acf723bcef535532780db5f ) tst_bic: Add the Qt 4.5 and 4.6 baselines for x86-64
| | | * | | | | | | | tst_bic: Add the Qt 4.5 and 4.6 baselines for x86-64Thiago Macieira2010-05-2135-0/+278008
| | | |/ / / / / / /
| | * / / / / / / / Fixed qsslkey test deployment for Symbian and fixed compiler warnings.Janne Anttila2010-05-212-5/+9
| | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by: Aleksandar Sasha Babic
| | * | | | | | | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-05-211-0/+4
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Fixing the compile issue. Fixing the compile issue.
| | | * | | | | | | Fixing the compile issue.Aleksandar Sasha Babic2010-05-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to explicitely specify the include path to the MW headers for Symbian. The compiler always gets confused if the private headers get in the way. Reviewed-by: TrustMe
| | * | | | | | | | Removed nearest test from qaudiodeviceinfo unit test.Kurt Korbatits2010-05-201-11/+0
| | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-by:Justin McPherson
* | | | | | | | | Revert "Reading/writing a non-existent property throws an exception"Aaron Kennedy2010-05-254-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2b3e7706f4459569520c77b9fb3ff2bc006e60f1.
* | | | | | | | | Reading/writing a non-existent property throws an exceptionAaron Kennedy2010-05-254-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTBUG-10659
* | | | | | | | | FixWarwick Allison2010-05-251-4/+4
| | | | | | | | |