From eb0d282260db6f03b299029c52a73d203cc16786 Mon Sep 17 00:00:00 2001 From: Katja Marttila Date: Fri, 22 Jan 2016 09:18:50 +0200 Subject: delete unnecessary demos Change-Id: I9b325faabc80a65283f005e5bae3be29fdecccab Reviewed-by: Kimmo Ollila Reviewed-by: Samuli Piippo --- .../controls-touch/content/AndroidDelegate.qml | 92 - basicsuite/controls-touch/content/ButtonPage.qml | 120 - .../controls-touch/content/ProgressBarPage.qml | 114 - basicsuite/controls-touch/content/SliderPage.qml | 106 - basicsuite/controls-touch/content/TabBarPage.qml | 102 - .../controls-touch/content/TextInputPage.qml | 106 - basicsuite/controls-touch/controls-touch.pro | 16 - basicsuite/controls-touch/description.txt | 3 - basicsuite/controls-touch/exclude.txt | 1 - basicsuite/controls-touch/images/NOTICE.txt | 2 - .../controls-touch/images/button_default.png | Bin 1406 -> 0 bytes .../controls-touch/images/button_pressed.png | Bin 1694 -> 0 bytes .../controls-touch/images/navigation_next_item.png | Bin 1341 -> 0 bytes .../images/navigation_previous_item.png | Bin 1343 -> 0 bytes basicsuite/controls-touch/images/tab_selected.png | Bin 217 -> 0 bytes basicsuite/controls-touch/images/tabs_standard.png | Bin 1230 -> 0 bytes basicsuite/controls-touch/images/textinput.png | Bin 4132 -> 0 bytes basicsuite/controls-touch/images/toolbar.png | Bin 1643 -> 0 bytes basicsuite/controls-touch/main.qml | 148 -- basicsuite/controls-touch/preview_l.jpg | Bin 29732 -> 0 bytes basicsuite/controls-touch/title.txt | 1 - basicsuite/qt5-everywhere/description.txt | 1 - basicsuite/qt5-everywhere/main.qml | 5 - basicsuite/qt5-everywhere/preview_l.jpg | Bin 96897 -> 0 bytes basicsuite/qt5-everywhere/qt5-everywhere.pro | 14 - basicsuite/qt5-everywhere/title.txt | 1 - .../qt5-particlesdemo/content/burstandpulse.qml | 110 - .../qt5-particlesdemo/content/customemitter.qml | 96 - basicsuite/qt5-particlesdemo/content/emitmask.qml | 74 - .../qt5-particlesdemo/content/maximumemitted.qml | 82 - .../content/shapeanddirection.qml | 112 - .../qt5-particlesdemo/content/trailemitter.qml | 176 -- .../content/velocityfrommotion.qml | 312 --- basicsuite/qt5-particlesdemo/description.txt | 1 - .../doc/images/qml-emitters-example.png | Bin 54749 -> 0 bytes basicsuite/qt5-particlesdemo/doc/src/emitters.qdoc | 62 - basicsuite/qt5-particlesdemo/emitters.pro | 11 - basicsuite/qt5-particlesdemo/emitters.qmlproject | 16 - basicsuite/qt5-particlesdemo/emitters.qrc | 12 - basicsuite/qt5-particlesdemo/exclude.txt | 1 - basicsuite/qt5-particlesdemo/images/_explo.png | Bin 81528 -> 0 bytes .../qt5-particlesdemo/images/backgroundLeaves.jpg | Bin 78665 -> 0 bytes basicsuite/qt5-particlesdemo/images/bear_tiles.png | Bin 40349 -> 0 bytes basicsuite/qt5-particlesdemo/images/candle.png | Bin 1348 -> 0 bytes basicsuite/qt5-particlesdemo/images/colortable.png | Bin 704 -> 0 bytes .../qt5-particlesdemo/images/finalfrontier.png | Bin 695061 -> 0 bytes basicsuite/qt5-particlesdemo/images/flower.png | Bin 4683 -> 0 bytes basicsuite/qt5-particlesdemo/images/matchmask.png | Bin 2369 -> 0 bytes basicsuite/qt5-particlesdemo/images/meteor.png | Bin 83169 -> 0 bytes .../qt5-particlesdemo/images/meteor_explo.png | Bin 219946 -> 0 bytes basicsuite/qt5-particlesdemo/images/meteors.png | Bin 132137 -> 0 bytes basicsuite/qt5-particlesdemo/images/nullRock.png | Bin 140 -> 0 bytes basicsuite/qt5-particlesdemo/images/particle.png | Bin 861 -> 0 bytes basicsuite/qt5-particlesdemo/images/particle2.png | Bin 3909 -> 0 bytes basicsuite/qt5-particlesdemo/images/particle3.png | Bin 3186 -> 0 bytes basicsuite/qt5-particlesdemo/images/particle4.png | Bin 1799 -> 0 bytes basicsuite/qt5-particlesdemo/images/particleA.png | Bin 3541 -> 0 bytes basicsuite/qt5-particlesdemo/images/portal_bg.png | Bin 96858 -> 0 bytes basicsuite/qt5-particlesdemo/images/realLeaf1.png | Bin 15625 -> 0 bytes basicsuite/qt5-particlesdemo/images/realLeaf2.png | Bin 13660 -> 0 bytes basicsuite/qt5-particlesdemo/images/realLeaf3.png | Bin 23809 -> 0 bytes basicsuite/qt5-particlesdemo/images/realLeaf4.png | Bin 23655 -> 0 bytes basicsuite/qt5-particlesdemo/images/rocket.png | Bin 7315 -> 0 bytes basicsuite/qt5-particlesdemo/images/rocket2.png | Bin 1918 -> 0 bytes basicsuite/qt5-particlesdemo/images/sizeInOut.png | Bin 251 -> 0 bytes basicsuite/qt5-particlesdemo/images/snowflake.png | Bin 189327 -> 0 bytes .../qt5-particlesdemo/images/sparkleSize.png | Bin 378 -> 0 bytes basicsuite/qt5-particlesdemo/images/star.png | Bin 1550 -> 0 bytes basicsuite/qt5-particlesdemo/images/starfish_0.png | Bin 15972 -> 0 bytes basicsuite/qt5-particlesdemo/images/starfish_1.png | Bin 15746 -> 0 bytes basicsuite/qt5-particlesdemo/images/starfish_2.png | Bin 16067 -> 0 bytes basicsuite/qt5-particlesdemo/images/starfish_3.png | Bin 16201 -> 0 bytes basicsuite/qt5-particlesdemo/images/starfish_4.png | Bin 14698 -> 0 bytes .../qt5-particlesdemo/images/starfish_mask.png | Bin 11301 -> 0 bytes basicsuite/qt5-particlesdemo/main.cpp | 41 - basicsuite/qt5-particlesdemo/main.qml | 60 - basicsuite/qt5-particlesdemo/preview_l.jpg | Bin 13013 -> 0 bytes basicsuite/qt5-particlesdemo/qt5-particlesdemo.pro | 15 - basicsuite/qt5-particlesdemo/shared/Button.qml | 91 - .../qt5-particlesdemo/shared/LauncherList.qml | 148 -- basicsuite/qt5-particlesdemo/shared/README | 11 - .../shared/SimpleLauncherDelegate.qml | 89 - .../qt5-particlesdemo/shared/images/back.png | Bin 1590 -> 0 bytes .../qt5-particlesdemo/shared/images/next.png | Bin 1371 -> 0 bytes basicsuite/qt5-particlesdemo/shared/qmldir | 3 - .../qt5-particlesdemo/shared/quick_shared.qrc | 8 - basicsuite/qt5-particlesdemo/shared/shared.h | 58 - basicsuite/qt5-particlesdemo/shared/shared.qrc | 8 - basicsuite/qt5-particlesdemo/title.txt | 1 - basicsuite/sensorexplorer/app.pro | 11 - basicsuite/sensorexplorer/description.txt | 1 - .../sensorexplorer/doc/src/sensor_explorer.qdoc | 82 - basicsuite/sensorexplorer/exclude.txt | 1 - basicsuite/sensorexplorer/imports/explorer.cpp | 136 -- basicsuite/sensorexplorer/imports/explorer.h | 79 - basicsuite/sensorexplorer/imports/imports.pro | 24 - basicsuite/sensorexplorer/imports/main.cpp | 63 - basicsuite/sensorexplorer/imports/plugin.json | 1 - basicsuite/sensorexplorer/imports/propertyinfo.cpp | 140 -- basicsuite/sensorexplorer/imports/propertyinfo.h | 83 - basicsuite/sensorexplorer/imports/qmldir | 2 - basicsuite/sensorexplorer/imports/sensoritem.cpp | 322 --- basicsuite/sensorexplorer/imports/sensoritem.h | 96 - basicsuite/sensorexplorer/main.qml | 224 -- basicsuite/sensorexplorer/preview_l.jpg | Bin 59469 -> 0 bytes basicsuite/sensorexplorer/sensorexplorer.pro | 6 - basicsuite/sensorexplorer/title.txt | 1 - basicsuite/sensors/1.png | Bin 33675 -> 0 bytes basicsuite/sensors/2.png | Bin 27754 -> 0 bytes basicsuite/sensors/3.png | Bin 27841 -> 0 bytes basicsuite/sensors/Accelbubble.qml | 137 -- basicsuite/sensors/Light.qml | 87 - basicsuite/sensors/bluebubble.png | Bin 12815 -> 0 bytes basicsuite/sensors/description.txt | 3 - basicsuite/sensors/exclude.txt | 2 - basicsuite/sensors/main.qml | 109 - basicsuite/sensors/preview_l.jpg | Bin 43733 -> 0 bytes basicsuite/sensors/sensors.pro | 13 - basicsuite/sensors/title.txt | 1 - basicsuite/webengine/content/common/ddg.png | Bin 29990 -> 0 bytes basicsuite/webengine/content/common/open-sans.css | 131 -- .../common/opensans/Light/OpenSans-Light.woff | Bin 62844 -> 0 bytes .../common/opensans/Regular/OpenSans-Regular.woff | Bin 63712 -> 0 bytes basicsuite/webengine/content/common/osm.png | Bin 418498 -> 0 bytes basicsuite/webengine/content/common/qt-io.png | Bin 489628 -> 0 bytes basicsuite/webengine/content/common/reddit.png | Bin 397780 -> 0 bytes basicsuite/webengine/content/common/style.css | 84 - basicsuite/webengine/content/common/youtube-tv.png | Bin 465148 -> 0 bytes .../webengine/content/csstetrahedron/index.html | 25 - .../content/csstetrahedron/screenshot.png | Bin 7405 -> 0 bytes .../webengine/content/csstetrahedron/style.css | 109 - basicsuite/webengine/content/index.html | 26 - .../webengine/content/morphingcubes/index.html | 286 --- .../webengine/content/morphingcubes/screenshot.png | Bin 15607 -> 0 bytes basicsuite/webengine/content/rubiks/css/style.css | 36 - basicsuite/webengine/content/rubiks/index.html | 25 - basicsuite/webengine/content/rubiks/js/css3.oz.js | 28 - basicsuite/webengine/content/rubiks/js/oz.js | 334 --- .../webengine/content/rubiks/js/quaternion.js | 78 - basicsuite/webengine/content/rubiks/js/rubik.js | 492 ---- basicsuite/webengine/content/rubiks/screenshot.png | Bin 7159 -> 0 bytes basicsuite/webengine/content/webgl/helloqt.html | 49 - basicsuite/webengine/content/webgl/helloqt.js | 223 -- basicsuite/webengine/content/webgl/qtlogo.js | 2468 -------------------- basicsuite/webengine/content/webgl/screenshot.png | Bin 17367 -> 0 bytes basicsuite/webengine/content/webgl/three.min.js | 737 ------ basicsuite/webengine/description.txt | 3 - basicsuite/webengine/exclude.txt | 1 - basicsuite/webengine/main.qml | 263 --- basicsuite/webengine/preview_l.jpg | Bin 42323 -> 0 bytes basicsuite/webengine/title.txt | 1 - basicsuite/webengine/ui/icons/down.png | Bin 6275 -> 0 bytes basicsuite/webengine/ui/icons/go-next.png | Bin 6729 -> 0 bytes basicsuite/webengine/ui/icons/go-previous.png | Bin 6737 -> 0 bytes basicsuite/webengine/ui/icons/home.png | Bin 4504 -> 0 bytes basicsuite/webengine/ui/icons/process-stop.png | Bin 9423 -> 0 bytes basicsuite/webengine/ui/icons/up.png | Bin 6257 -> 0 bytes basicsuite/webengine/ui/icons/view-refresh.png | Bin 12593 -> 0 bytes basicsuite/webengine/webengine.pro | 14 - 159 files changed, 9467 deletions(-) delete mode 100644 basicsuite/controls-touch/content/AndroidDelegate.qml delete mode 100644 basicsuite/controls-touch/content/ButtonPage.qml delete mode 100644 basicsuite/controls-touch/content/ProgressBarPage.qml delete mode 100644 basicsuite/controls-touch/content/SliderPage.qml delete mode 100644 basicsuite/controls-touch/content/TabBarPage.qml delete mode 100644 basicsuite/controls-touch/content/TextInputPage.qml delete mode 100644 basicsuite/controls-touch/controls-touch.pro delete mode 100644 basicsuite/controls-touch/description.txt delete mode 100644 basicsuite/controls-touch/exclude.txt delete mode 100644 basicsuite/controls-touch/images/NOTICE.txt delete mode 100644 basicsuite/controls-touch/images/button_default.png delete mode 100644 basicsuite/controls-touch/images/button_pressed.png delete mode 100644 basicsuite/controls-touch/images/navigation_next_item.png delete mode 100644 basicsuite/controls-touch/images/navigation_previous_item.png delete mode 100644 basicsuite/controls-touch/images/tab_selected.png delete mode 100644 basicsuite/controls-touch/images/tabs_standard.png delete mode 100644 basicsuite/controls-touch/images/textinput.png delete mode 100644 basicsuite/controls-touch/images/toolbar.png delete mode 100644 basicsuite/controls-touch/main.qml delete mode 100644 basicsuite/controls-touch/preview_l.jpg delete mode 100644 basicsuite/controls-touch/title.txt delete mode 100644 basicsuite/qt5-everywhere/description.txt delete mode 100644 basicsuite/qt5-everywhere/main.qml delete mode 100644 basicsuite/qt5-everywhere/preview_l.jpg delete mode 100644 basicsuite/qt5-everywhere/qt5-everywhere.pro delete mode 100644 basicsuite/qt5-everywhere/title.txt delete mode 100644 basicsuite/qt5-particlesdemo/content/burstandpulse.qml delete mode 100644 basicsuite/qt5-particlesdemo/content/customemitter.qml delete mode 100644 basicsuite/qt5-particlesdemo/content/emitmask.qml delete mode 100644 basicsuite/qt5-particlesdemo/content/maximumemitted.qml delete mode 100644 basicsuite/qt5-particlesdemo/content/shapeanddirection.qml delete mode 100644 basicsuite/qt5-particlesdemo/content/trailemitter.qml delete mode 100644 basicsuite/qt5-particlesdemo/content/velocityfrommotion.qml delete mode 100644 basicsuite/qt5-particlesdemo/description.txt delete mode 100644 basicsuite/qt5-particlesdemo/doc/images/qml-emitters-example.png delete mode 100644 basicsuite/qt5-particlesdemo/doc/src/emitters.qdoc delete mode 100644 basicsuite/qt5-particlesdemo/emitters.pro delete mode 100644 basicsuite/qt5-particlesdemo/emitters.qmlproject delete mode 100644 basicsuite/qt5-particlesdemo/emitters.qrc delete mode 100644 basicsuite/qt5-particlesdemo/exclude.txt delete mode 100644 basicsuite/qt5-particlesdemo/images/_explo.png delete mode 100755 basicsuite/qt5-particlesdemo/images/backgroundLeaves.jpg delete mode 100644 basicsuite/qt5-particlesdemo/images/bear_tiles.png delete mode 100644 basicsuite/qt5-particlesdemo/images/candle.png delete mode 100644 basicsuite/qt5-particlesdemo/images/colortable.png delete mode 100644 basicsuite/qt5-particlesdemo/images/finalfrontier.png delete mode 100644 basicsuite/qt5-particlesdemo/images/flower.png delete mode 100644 basicsuite/qt5-particlesdemo/images/matchmask.png delete mode 100644 basicsuite/qt5-particlesdemo/images/meteor.png delete mode 100644 basicsuite/qt5-particlesdemo/images/meteor_explo.png delete mode 100644 basicsuite/qt5-particlesdemo/images/meteors.png delete mode 100644 basicsuite/qt5-particlesdemo/images/nullRock.png delete mode 100644 basicsuite/qt5-particlesdemo/images/particle.png delete mode 100644 basicsuite/qt5-particlesdemo/images/particle2.png delete mode 100644 basicsuite/qt5-particlesdemo/images/particle3.png delete mode 100644 basicsuite/qt5-particlesdemo/images/particle4.png delete mode 100644 basicsuite/qt5-particlesdemo/images/particleA.png delete mode 100644 basicsuite/qt5-particlesdemo/images/portal_bg.png delete mode 100644 basicsuite/qt5-particlesdemo/images/realLeaf1.png delete mode 100644 basicsuite/qt5-particlesdemo/images/realLeaf2.png delete mode 100644 basicsuite/qt5-particlesdemo/images/realLeaf3.png delete mode 100644 basicsuite/qt5-particlesdemo/images/realLeaf4.png delete mode 100644 basicsuite/qt5-particlesdemo/images/rocket.png delete mode 100644 basicsuite/qt5-particlesdemo/images/rocket2.png delete mode 100644 basicsuite/qt5-particlesdemo/images/sizeInOut.png delete mode 100644 basicsuite/qt5-particlesdemo/images/snowflake.png delete mode 100644 basicsuite/qt5-particlesdemo/images/sparkleSize.png delete mode 100644 basicsuite/qt5-particlesdemo/images/star.png delete mode 100644 basicsuite/qt5-particlesdemo/images/starfish_0.png delete mode 100644 basicsuite/qt5-particlesdemo/images/starfish_1.png delete mode 100644 basicsuite/qt5-particlesdemo/images/starfish_2.png delete mode 100644 basicsuite/qt5-particlesdemo/images/starfish_3.png delete mode 100644 basicsuite/qt5-particlesdemo/images/starfish_4.png delete mode 100644 basicsuite/qt5-particlesdemo/images/starfish_mask.png delete mode 100644 basicsuite/qt5-particlesdemo/main.cpp delete mode 100644 basicsuite/qt5-particlesdemo/main.qml delete mode 100644 basicsuite/qt5-particlesdemo/preview_l.jpg delete mode 100644 basicsuite/qt5-particlesdemo/qt5-particlesdemo.pro delete mode 100644 basicsuite/qt5-particlesdemo/shared/Button.qml delete mode 100644 basicsuite/qt5-particlesdemo/shared/LauncherList.qml delete mode 100644 basicsuite/qt5-particlesdemo/shared/README delete mode 100644 basicsuite/qt5-particlesdemo/shared/SimpleLauncherDelegate.qml delete mode 100644 basicsuite/qt5-particlesdemo/shared/images/back.png delete mode 100644 basicsuite/qt5-particlesdemo/shared/images/next.png delete mode 100644 basicsuite/qt5-particlesdemo/shared/qmldir delete mode 100644 basicsuite/qt5-particlesdemo/shared/quick_shared.qrc delete mode 100644 basicsuite/qt5-particlesdemo/shared/shared.h delete mode 100644 basicsuite/qt5-particlesdemo/shared/shared.qrc delete mode 100644 basicsuite/qt5-particlesdemo/title.txt delete mode 100644 basicsuite/sensorexplorer/app.pro delete mode 100644 basicsuite/sensorexplorer/description.txt delete mode 100644 basicsuite/sensorexplorer/doc/src/sensor_explorer.qdoc delete mode 100644 basicsuite/sensorexplorer/exclude.txt delete mode 100644 basicsuite/sensorexplorer/imports/explorer.cpp delete mode 100644 basicsuite/sensorexplorer/imports/explorer.h delete mode 100644 basicsuite/sensorexplorer/imports/imports.pro delete mode 100644 basicsuite/sensorexplorer/imports/main.cpp delete mode 100644 basicsuite/sensorexplorer/imports/plugin.json delete mode 100644 basicsuite/sensorexplorer/imports/propertyinfo.cpp delete mode 100644 basicsuite/sensorexplorer/imports/propertyinfo.h delete mode 100644 basicsuite/sensorexplorer/imports/qmldir delete mode 100644 basicsuite/sensorexplorer/imports/sensoritem.cpp delete mode 100644 basicsuite/sensorexplorer/imports/sensoritem.h delete mode 100644 basicsuite/sensorexplorer/main.qml delete mode 100644 basicsuite/sensorexplorer/preview_l.jpg delete mode 100644 basicsuite/sensorexplorer/sensorexplorer.pro delete mode 100644 basicsuite/sensorexplorer/title.txt delete mode 100644 basicsuite/sensors/1.png delete mode 100644 basicsuite/sensors/2.png delete mode 100644 basicsuite/sensors/3.png delete mode 100644 basicsuite/sensors/Accelbubble.qml delete mode 100644 basicsuite/sensors/Light.qml delete mode 100644 basicsuite/sensors/bluebubble.png delete mode 100644 basicsuite/sensors/description.txt delete mode 100644 basicsuite/sensors/exclude.txt delete mode 100644 basicsuite/sensors/main.qml delete mode 100644 basicsuite/sensors/preview_l.jpg delete mode 100644 basicsuite/sensors/sensors.pro delete mode 100644 basicsuite/sensors/title.txt delete mode 100644 basicsuite/webengine/content/common/ddg.png delete mode 100644 basicsuite/webengine/content/common/open-sans.css delete mode 100644 basicsuite/webengine/content/common/opensans/Light/OpenSans-Light.woff delete mode 100644 basicsuite/webengine/content/common/opensans/Regular/OpenSans-Regular.woff delete mode 100644 basicsuite/webengine/content/common/osm.png delete mode 100644 basicsuite/webengine/content/common/qt-io.png delete mode 100644 basicsuite/webengine/content/common/reddit.png delete mode 100644 basicsuite/webengine/content/common/style.css delete mode 100644 basicsuite/webengine/content/common/youtube-tv.png delete mode 100644 basicsuite/webengine/content/csstetrahedron/index.html delete mode 100644 basicsuite/webengine/content/csstetrahedron/screenshot.png delete mode 100644 basicsuite/webengine/content/csstetrahedron/style.css delete mode 100644 basicsuite/webengine/content/index.html delete mode 100644 basicsuite/webengine/content/morphingcubes/index.html delete mode 100644 basicsuite/webengine/content/morphingcubes/screenshot.png delete mode 100644 basicsuite/webengine/content/rubiks/css/style.css delete mode 100644 basicsuite/webengine/content/rubiks/index.html delete mode 100644 basicsuite/webengine/content/rubiks/js/css3.oz.js delete mode 100644 basicsuite/webengine/content/rubiks/js/oz.js delete mode 100644 basicsuite/webengine/content/rubiks/js/quaternion.js delete mode 100644 basicsuite/webengine/content/rubiks/js/rubik.js delete mode 100644 basicsuite/webengine/content/rubiks/screenshot.png delete mode 100644 basicsuite/webengine/content/webgl/helloqt.html delete mode 100644 basicsuite/webengine/content/webgl/helloqt.js delete mode 100644 basicsuite/webengine/content/webgl/qtlogo.js delete mode 100644 basicsuite/webengine/content/webgl/screenshot.png delete mode 100644 basicsuite/webengine/content/webgl/three.min.js delete mode 100644 basicsuite/webengine/description.txt delete mode 100644 basicsuite/webengine/exclude.txt delete mode 100644 basicsuite/webengine/main.qml delete mode 100644 basicsuite/webengine/preview_l.jpg delete mode 100644 basicsuite/webengine/title.txt delete mode 100644 basicsuite/webengine/ui/icons/down.png delete mode 100644 basicsuite/webengine/ui/icons/go-next.png delete mode 100644 basicsuite/webengine/ui/icons/go-previous.png delete mode 100644 basicsuite/webengine/ui/icons/home.png delete mode 100644 basicsuite/webengine/ui/icons/process-stop.png delete mode 100644 basicsuite/webengine/ui/icons/up.png delete mode 100644 basicsuite/webengine/ui/icons/view-refresh.png delete mode 100644 basicsuite/webengine/webengine.pro diff --git a/basicsuite/controls-touch/content/AndroidDelegate.qml b/basicsuite/controls-touch/content/AndroidDelegate.qml deleted file mode 100644 index e4870cc..0000000 --- a/basicsuite/controls-touch/content/AndroidDelegate.qml +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Quick Controls module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - - - - -import QtQuick 2.1 - -Item { - id: root - width: parent.width - height: 88 - - property alias text: textitem.text - signal clicked - - Rectangle { - anchors.fill: parent - color: "#11ffffff" - visible: mouse.pressed - } - - Text { - id: textitem - color: "white" - font.pixelSize: 32 - text: modelData - anchors.verticalCenter: parent.verticalCenter - anchors.left: parent.left - anchors.leftMargin: 30 - } - - Rectangle { - anchors.left: parent.left - anchors.right: parent.right - anchors.margins: 15 - height: 1 - color: "#424246" - } - - Image { - anchors.right: parent.right - anchors.rightMargin: 20 - anchors.verticalCenter: parent.verticalCenter - source: "../images/navigation_next_item.png" - } - - MouseArea { - id: mouse - anchors.fill: parent - onClicked: root.clicked() - - } -} diff --git a/basicsuite/controls-touch/content/ButtonPage.qml b/basicsuite/controls-touch/content/ButtonPage.qml deleted file mode 100644 index e315d72..0000000 --- a/basicsuite/controls-touch/content/ButtonPage.qml +++ /dev/null @@ -1,120 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Quick Controls module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - - - - -import QtQuick 2.1 -import QtQuick.Controls 1.0 -import QtQuick.Controls.Styles 1.0 - -Item { - width: parent.width - height: parent.height - - property real progress: 0 - SequentialAnimation on progress { - loops: Animation.Infinite - running: true - NumberAnimation { - from: 0 - to: 1 - duration: 3000 - } - NumberAnimation { - from: 1 - to: 0 - duration: 3000 - } - } - - Column { - spacing: 40 - anchors.centerIn: parent - - Button { - anchors.margins: 20 - text: "Press me" - style: touchStyle - } - - Button { - anchors.margins: 20 - style: touchStyle - text: "Press me too" - } - - Button { - anchors.margins: 20 - style: touchStyle - text: "Dont press me" - onClicked: if (stackView) stackView.pop() - } - - } - - Component { - id: touchStyle - ButtonStyle { - panel: Item { - implicitHeight: 50 - implicitWidth: 320 - BorderImage { - anchors.fill: parent - antialiasing: true - border.bottom: 8 - border.top: 8 - border.left: 8 - border.right: 8 - anchors.margins: control.pressed ? -4 : 0 - source: control.pressed ? "../images/button_pressed.png" : "../images/button_default.png" - Text { - text: control.text - anchors.centerIn: parent - color: "white" - font.pixelSize: 23 - renderType: Text.NativeRendering - } - } - } - } - } -} diff --git a/basicsuite/controls-touch/content/ProgressBarPage.qml b/basicsuite/controls-touch/content/ProgressBarPage.qml deleted file mode 100644 index d370d39..0000000 --- a/basicsuite/controls-touch/content/ProgressBarPage.qml +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Quick Controls module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - - - - -import QtQuick 2.1 -import QtQuick.Controls 1.0 -import QtQuick.Controls.Styles 1.0 - -Item { - width: parent.width - height: parent.height - - property real progress: 0 - SequentialAnimation on progress { - loops: Animation.Infinite - running: true - NumberAnimation { - from: 0 - to: 1 - duration: 3000 - } - NumberAnimation { - from: 1 - to: 0 - duration: 3000 - } - } - - Column { - spacing: 40 - anchors.centerIn: parent - - ProgressBar { - anchors.margins: 20 - style: touchStyle - width: 400 - value: progress - } - - ProgressBar { - anchors.margins: 20 - style: touchStyle - width: 400 - value: 1 - progress - } - - ProgressBar { - anchors.margins: 20 - style: touchStyle - value: 1 - width: 400 - } - - } - - Component { - id: touchStyle - ProgressBarStyle { - panel: Rectangle { - implicitHeight: 15 - implicitWidth: 400 - color: "#444" - opacity: 0.8 - Rectangle { - antialiasing: true - radius: 1 - color: "#468bb7" - height: parent.height - width: parent.width * control.value / control.maximumValue - } - } - } - } -} diff --git a/basicsuite/controls-touch/content/SliderPage.qml b/basicsuite/controls-touch/content/SliderPage.qml deleted file mode 100644 index eb5d70c..0000000 --- a/basicsuite/controls-touch/content/SliderPage.qml +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Quick Controls module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - - - - -import QtQuick 2.1 -import QtQuick.Controls 1.0 -import QtQuick.Controls.Styles 1.0 - -Item { - width: parent.width - height: parent.height - - Column { - spacing: 12 - anchors.centerIn: parent - - Slider { - anchors.margins: 20 - style: touchStyle - value: 0 - } - Slider { - anchors.margins: 20 - style: touchStyle - value: 0.5 - } - Slider { - anchors.margins: 20 - style: touchStyle - value: 1.0 - } - - } - - Component { - id: touchStyle - SliderStyle { - handle: Rectangle { - width: 30 - height: 30 - radius: height - antialiasing: true - color: Qt.lighter("#468bb7", 1.2) - } - - groove: Item { - implicitHeight: 50 - implicitWidth: 400 - Rectangle { - height: 8 - width: parent.width - anchors.verticalCenter: parent.verticalCenter - color: "#444" - opacity: 0.8 - Rectangle { - antialiasing: true - radius: 1 - color: "#468bb7" - height: parent.height - width: parent.width * control.value / control.maximumValue - } - } - } - } - } -} diff --git a/basicsuite/controls-touch/content/TabBarPage.qml b/basicsuite/controls-touch/content/TabBarPage.qml deleted file mode 100644 index f13ab78..0000000 --- a/basicsuite/controls-touch/content/TabBarPage.qml +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Quick Controls module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - - - - -import QtQuick 2.1 -import QtQuick.Controls 1.0 -import QtQuick.Controls.Styles 1.0 - -Item { - width: parent.width - height: parent.height - - TabView { - anchors.fill: parent - style: touchStyle - Tab { - title: "Buttons" - ButtonPage{ visible: true } - } - Tab { - title: "Sliders" - SliderPage{ visible: true } - } - Tab { - title: "Progress" - ProgressBarPage{ visible: true } - } - } - - Component { - id: touchStyle - TabViewStyle { - tabsAlignment: Qt.AlignVCenter - tabOverlap: 0 - frame: Item { } - tab: Item { - implicitWidth: control.width/control.count - implicitHeight: 50 - BorderImage { - anchors.fill: parent - border.bottom: 8 - border.top: 8 - source: styleData.selected ? "../images/tab_selected.png":"../images/tabs_standard.png" - Text { - anchors.centerIn: parent - color: "white" - text: styleData.title.toUpperCase() - font.pixelSize: 16 - } - Rectangle { - visible: index > 0 - anchors.top: parent.top - anchors.bottom: parent.bottom - anchors.margins: 10 - width:1 - color: "#3a3a3a" - } - } - } - } - } -} diff --git a/basicsuite/controls-touch/content/TextInputPage.qml b/basicsuite/controls-touch/content/TextInputPage.qml deleted file mode 100644 index 058ff53..0000000 --- a/basicsuite/controls-touch/content/TextInputPage.qml +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Quick Controls module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - - - - -import QtQuick 2.1 -import QtQuick.Controls 1.0 -import QtQuick.Controls.Styles 1.0 - -Item { - width: parent.width - height: parent.height - - property real progress: 0 - SequentialAnimation on progress { - loops: Animation.Infinite - running: true - NumberAnimation { - from: 0 - to: 1 - duration: 3000 - } - NumberAnimation { - from: 1 - to: 0 - duration: 3000 - } - } - - Column { - spacing: 40 - anchors.centerIn: parent - - TextField { - anchors.margins: 20 - text: "Text input" - style: touchStyle - } - - TextField { - anchors.margins: 20 - text: "Readonly Text input" - style: touchStyle - readOnly: true - } - } - Component { - id: touchStyle - - TextFieldStyle { - textColor: "white" - font.pixelSize: 28 - background: Item { - implicitHeight: 50 - implicitWidth: 320 - BorderImage { - source: "../images/textinput.png" - border.left: 8 - border.right: 8 - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right: parent.right - } - } - } - } -} diff --git a/basicsuite/controls-touch/controls-touch.pro b/basicsuite/controls-touch/controls-touch.pro deleted file mode 100644 index 9771bef..0000000 --- a/basicsuite/controls-touch/controls-touch.pro +++ /dev/null @@ -1,16 +0,0 @@ -TARGET = controls-touch - -include(../shared/shared.pri) -b2qtdemo_deploy_defaults() - -content.files = \ - *.qml \ - *.png \ - content \ - images - -content.path = $$DESTPATH - -OTHER_FILES += $${content.files} - -INSTALLS += target content diff --git a/basicsuite/controls-touch/description.txt b/basicsuite/controls-touch/description.txt deleted file mode 100644 index 5106dff..0000000 --- a/basicsuite/controls-touch/description.txt +++ /dev/null @@ -1,3 +0,0 @@ -The purpose of this example is to show Qt Quick Controls in practice. The example uses a StackView to navigate between pages and illustrates the use of many of the controls provided by Qt Quick Control, including Button, Slider, ProgressBar, TabBar and TextInput types. The style in the example is a custom style made to look like the Android theme, it is written purely in QML. - -The example has been adapted slightly to run inside this launcher, the original is available in the Qt Quick Controls repository. diff --git a/basicsuite/controls-touch/exclude.txt b/basicsuite/controls-touch/exclude.txt deleted file mode 100644 index 0702cb5..0000000 --- a/basicsuite/controls-touch/exclude.txt +++ /dev/null @@ -1 +0,0 @@ -all diff --git a/basicsuite/controls-touch/images/NOTICE.txt b/basicsuite/controls-touch/images/NOTICE.txt deleted file mode 100644 index 93a9afc..0000000 --- a/basicsuite/controls-touch/images/NOTICE.txt +++ /dev/null @@ -1,2 +0,0 @@ -Notice some of these images are derived from Google applications resources. They were provided under the following license: -You may use the materials in this directory without restriction to develop your apps and to use in your apps. diff --git a/basicsuite/controls-touch/images/button_default.png b/basicsuite/controls-touch/images/button_default.png deleted file mode 100644 index 6d6cfd9..0000000 Binary files a/basicsuite/controls-touch/images/button_default.png and /dev/null differ diff --git a/basicsuite/controls-touch/images/button_pressed.png b/basicsuite/controls-touch/images/button_pressed.png deleted file mode 100644 index ab78b6e..0000000 Binary files a/basicsuite/controls-touch/images/button_pressed.png and /dev/null differ diff --git a/basicsuite/controls-touch/images/navigation_next_item.png b/basicsuite/controls-touch/images/navigation_next_item.png deleted file mode 100644 index 6665c9d..0000000 Binary files a/basicsuite/controls-touch/images/navigation_next_item.png and /dev/null differ diff --git a/basicsuite/controls-touch/images/navigation_previous_item.png b/basicsuite/controls-touch/images/navigation_previous_item.png deleted file mode 100644 index f8be011..0000000 Binary files a/basicsuite/controls-touch/images/navigation_previous_item.png and /dev/null differ diff --git a/basicsuite/controls-touch/images/tab_selected.png b/basicsuite/controls-touch/images/tab_selected.png deleted file mode 100644 index 2345f7a..0000000 Binary files a/basicsuite/controls-touch/images/tab_selected.png and /dev/null differ diff --git a/basicsuite/controls-touch/images/tabs_standard.png b/basicsuite/controls-touch/images/tabs_standard.png deleted file mode 100644 index 7140ab7..0000000 Binary files a/basicsuite/controls-touch/images/tabs_standard.png and /dev/null differ diff --git a/basicsuite/controls-touch/images/textinput.png b/basicsuite/controls-touch/images/textinput.png deleted file mode 100644 index b0256db..0000000 Binary files a/basicsuite/controls-touch/images/textinput.png and /dev/null differ diff --git a/basicsuite/controls-touch/images/toolbar.png b/basicsuite/controls-touch/images/toolbar.png deleted file mode 100644 index e9eba4c..0000000 Binary files a/basicsuite/controls-touch/images/toolbar.png and /dev/null differ diff --git a/basicsuite/controls-touch/main.qml b/basicsuite/controls-touch/main.qml deleted file mode 100644 index 929f31e..0000000 --- a/basicsuite/controls-touch/main.qml +++ /dev/null @@ -1,148 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Quick Controls module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.1 -import QtQuick.Controls 1.0 -import "content" - -Item { - width: 800 - height: 1280 - - Rectangle { - color: "#212126" - anchors.fill: parent - } - - // Implements back key navigation - Keys.onReleased: { - if (event.key === Qt.Key_Back) { - if (stackView.depth > 1) { - stackView.pop(); - event.accepted = true; - } else { Qt.quit(); } - } - } - - BorderImage { - id: toolbar - border.bottom: 8 - source: "images/toolbar.png" - width: parent.width - height: 100 - - Rectangle { - id: backButton - width: opacity ? 60 : 0 - anchors.left: parent.left - anchors.leftMargin: 20 - opacity: stackView.depth > 1 ? 1 : 0 - anchors.verticalCenter: parent.verticalCenter - antialiasing: true - height: 60 - radius: 4 - color: backmouse.pressed ? "#222" : "transparent" - Behavior on opacity { NumberAnimation{} } - Image { - anchors.verticalCenter: parent.verticalCenter - source: "images/navigation_previous_item.png" - } - MouseArea { - id: backmouse - anchors.fill: parent - anchors.margins: -10 - onClicked: stackView.pop() - } - } - - Text { - font.pixelSize: 42 - Behavior on x { NumberAnimation{ easing.type: Easing.OutCubic} } - x: backButton.x + backButton.width + 20 - anchors.verticalCenter: parent.verticalCenter - color: "white" - text: "Widget Gallery" - } - } - - ListModel { - id: pageModel - ListElement { - title: "Buttons" - page: "content/ButtonPage.qml" - } - ListElement { - title: "Sliders" - page: "content/SliderPage.qml" - } - ListElement { - title: "ProgressBar" - page: "content/ProgressBarPage.qml" - } - ListElement { - title: "Tabs" - page: "content/TabBarPage.qml" - } - ListElement { - title: "TextInput" - page: "content/TextInputPage.qml" - } - } - - StackView { - id: stackView - anchors.fill: parent - anchors.topMargin: toolbar.height - - initialItem: Item { - width: parent.width - height: parent.height - ListView { - model: pageModel - anchors.fill: parent - delegate: AndroidDelegate { - text: title - onClicked: stackView.push(Qt.resolvedUrl(page)) - } - } - } - } - -} diff --git a/basicsuite/controls-touch/preview_l.jpg b/basicsuite/controls-touch/preview_l.jpg deleted file mode 100644 index 0653058..0000000 Binary files a/basicsuite/controls-touch/preview_l.jpg and /dev/null differ diff --git a/basicsuite/controls-touch/title.txt b/basicsuite/controls-touch/title.txt deleted file mode 100644 index 60325b1..0000000 --- a/basicsuite/controls-touch/title.txt +++ /dev/null @@ -1 +0,0 @@ -080. Controls - Touch diff --git a/basicsuite/qt5-everywhere/description.txt b/basicsuite/qt5-everywhere/description.txt deleted file mode 100644 index 4846702..0000000 --- a/basicsuite/qt5-everywhere/description.txt +++ /dev/null @@ -1 +0,0 @@ -This demo shows how to use different user interface styles in several platforms and device types with one source code. It contains several Qt Quick 2 applications which you can launch by tapping each device. diff --git a/basicsuite/qt5-everywhere/main.qml b/basicsuite/qt5-everywhere/main.qml deleted file mode 100644 index 1d8b86a..0000000 --- a/basicsuite/qt5-everywhere/main.qml +++ /dev/null @@ -1,5 +0,0 @@ -import QtQuick 2.2 - -Loader { - source: "qml/QtDemo/main.qml" -} diff --git a/basicsuite/qt5-everywhere/preview_l.jpg b/basicsuite/qt5-everywhere/preview_l.jpg deleted file mode 100644 index 8351f1f..0000000 Binary files a/basicsuite/qt5-everywhere/preview_l.jpg and /dev/null differ diff --git a/basicsuite/qt5-everywhere/qt5-everywhere.pro b/basicsuite/qt5-everywhere/qt5-everywhere.pro deleted file mode 100644 index c7fe2d7..0000000 --- a/basicsuite/qt5-everywhere/qt5-everywhere.pro +++ /dev/null @@ -1,14 +0,0 @@ -TARGET = qt5-everywhere - -include(../shared/shared.pri) -b2qtdemo_deploy_defaults() - -content.files = \ - *.qml \ - qml \ - -content.path = $$DESTPATH - -OTHER_FILES += $${content.files} - -INSTALLS += target content diff --git a/basicsuite/qt5-everywhere/title.txt b/basicsuite/qt5-everywhere/title.txt deleted file mode 100644 index 2aae9a5..0000000 --- a/basicsuite/qt5-everywhere/title.txt +++ /dev/null @@ -1 +0,0 @@ -020. Qt5 Everywhere diff --git a/basicsuite/qt5-particlesdemo/content/burstandpulse.qml b/basicsuite/qt5-particlesdemo/content/burstandpulse.qml deleted file mode 100644 index de140c3..0000000 --- a/basicsuite/qt5-particlesdemo/content/burstandpulse.qml +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 - -Rectangle { - width: 320 - height: 480 - color: "black" - property bool lastWasPulse: false - Timer { - interval: 3500 - triggeredOnStart: true - running: true - repeat: true - onTriggered: { - //! [0] - if (lastWasPulse) { - burstEmitter.burst(500); - lastWasPulse = false; - } else { - pulseEmitter.pulse(500); - lastWasPulse = true; - } - //! [0] - } - } - ParticleSystem { - id: particles - anchors.fill: parent - ImageParticle { - source: "../images/star.png" - alpha: 0 - colorVariation: 0.6 - } - - Emitter { - id: burstEmitter - x: parent.width/2 - y: parent.height/3 - emitRate: 1000 - lifeSpan: 2000 - enabled: false - velocity: AngleDirection{magnitude: 64; angleVariation: 360} - size: 24 - sizeVariation: 8 - Text { - anchors.centerIn: parent - color: "white" - font.pixelSize: 18 - text: "Burst" - } - } - Emitter { - id: pulseEmitter - x: parent.width/2 - y: 2*parent.height/3 - emitRate: 1000 - lifeSpan: 2000 - enabled: false - velocity: AngleDirection{magnitude: 64; angleVariation: 360} - size: 24 - sizeVariation: 8 - Text { - anchors.centerIn: parent - color: "white" - font.pixelSize: 18 - text: "Pulse" - } - } - } -} diff --git a/basicsuite/qt5-particlesdemo/content/customemitter.qml b/basicsuite/qt5-particlesdemo/content/customemitter.qml deleted file mode 100644 index 1c32cee..0000000 --- a/basicsuite/qt5-particlesdemo/content/customemitter.qml +++ /dev/null @@ -1,96 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Particles 2.0 - -ParticleSystem { - id: sys - width: 360 - height: 600 - running: true - Rectangle { - z: -1 - anchors.fill: parent - color: "black" - } - - property real petalLength: 180 - property real petalRotation: 0 - NumberAnimation on petalRotation { - from: 0; - to: 360; - loops: -1; - running: true - duration: 24000 - } - - function convert(a) {return a*(Math.PI/180);} - Emitter { - lifeSpan: 4000 - emitRate: 120 - size: 12 - anchors.centerIn: parent - //! [0] - onEmitParticles: { - for (var i=0; i - - emitters.qml - content/burstandpulse.qml - content/customemitter.qml - content/emitmask.qml - content/maximumemitted.qml - content/shapeanddirection.qml - content/trailemitter.qml - content/velocityfrommotion.qml - - diff --git a/basicsuite/qt5-particlesdemo/exclude.txt b/basicsuite/qt5-particlesdemo/exclude.txt deleted file mode 100644 index 0702cb5..0000000 --- a/basicsuite/qt5-particlesdemo/exclude.txt +++ /dev/null @@ -1 +0,0 @@ -all diff --git a/basicsuite/qt5-particlesdemo/images/_explo.png b/basicsuite/qt5-particlesdemo/images/_explo.png deleted file mode 100644 index 4297245..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/_explo.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/backgroundLeaves.jpg b/basicsuite/qt5-particlesdemo/images/backgroundLeaves.jpg deleted file mode 100755 index 08be167..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/backgroundLeaves.jpg and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/bear_tiles.png b/basicsuite/qt5-particlesdemo/images/bear_tiles.png deleted file mode 100644 index 6bbb2a9..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/bear_tiles.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/candle.png b/basicsuite/qt5-particlesdemo/images/candle.png deleted file mode 100644 index 8fa3193..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/candle.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/colortable.png b/basicsuite/qt5-particlesdemo/images/colortable.png deleted file mode 100644 index a62ceeb..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/colortable.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/finalfrontier.png b/basicsuite/qt5-particlesdemo/images/finalfrontier.png deleted file mode 100644 index 2ba1815..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/finalfrontier.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/flower.png b/basicsuite/qt5-particlesdemo/images/flower.png deleted file mode 100644 index b5c6062..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/flower.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/matchmask.png b/basicsuite/qt5-particlesdemo/images/matchmask.png deleted file mode 100644 index e575875..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/matchmask.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/meteor.png b/basicsuite/qt5-particlesdemo/images/meteor.png deleted file mode 100644 index e8c368a..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/meteor.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/meteor_explo.png b/basicsuite/qt5-particlesdemo/images/meteor_explo.png deleted file mode 100644 index e659bfe..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/meteor_explo.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/meteors.png b/basicsuite/qt5-particlesdemo/images/meteors.png deleted file mode 100644 index bada8a1..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/meteors.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/nullRock.png b/basicsuite/qt5-particlesdemo/images/nullRock.png deleted file mode 100644 index 4076327..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/nullRock.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/particle.png b/basicsuite/qt5-particlesdemo/images/particle.png deleted file mode 100644 index 5c83896..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/particle.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/particle2.png b/basicsuite/qt5-particlesdemo/images/particle2.png deleted file mode 100644 index 36349c6..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/particle2.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/particle3.png b/basicsuite/qt5-particlesdemo/images/particle3.png deleted file mode 100644 index 905d8f3..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/particle3.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/particle4.png b/basicsuite/qt5-particlesdemo/images/particle4.png deleted file mode 100644 index bc95b70..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/particle4.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/particleA.png b/basicsuite/qt5-particlesdemo/images/particleA.png deleted file mode 100644 index c63acde..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/particleA.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/portal_bg.png b/basicsuite/qt5-particlesdemo/images/portal_bg.png deleted file mode 100644 index 3c59eea..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/portal_bg.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/realLeaf1.png b/basicsuite/qt5-particlesdemo/images/realLeaf1.png deleted file mode 100644 index 6cabf29..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/realLeaf1.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/realLeaf2.png b/basicsuite/qt5-particlesdemo/images/realLeaf2.png deleted file mode 100644 index bfeca86..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/realLeaf2.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/realLeaf3.png b/basicsuite/qt5-particlesdemo/images/realLeaf3.png deleted file mode 100644 index b1071e8..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/realLeaf3.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/realLeaf4.png b/basicsuite/qt5-particlesdemo/images/realLeaf4.png deleted file mode 100644 index d61d53d..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/realLeaf4.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/rocket.png b/basicsuite/qt5-particlesdemo/images/rocket.png deleted file mode 100644 index a171610..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/rocket.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/rocket2.png b/basicsuite/qt5-particlesdemo/images/rocket2.png deleted file mode 100644 index 7110f8f..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/rocket2.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/sizeInOut.png b/basicsuite/qt5-particlesdemo/images/sizeInOut.png deleted file mode 100644 index 0a306ea..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/sizeInOut.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/snowflake.png b/basicsuite/qt5-particlesdemo/images/snowflake.png deleted file mode 100644 index 490887a..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/snowflake.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/sparkleSize.png b/basicsuite/qt5-particlesdemo/images/sparkleSize.png deleted file mode 100644 index 7520565..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/sparkleSize.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/star.png b/basicsuite/qt5-particlesdemo/images/star.png deleted file mode 100644 index 0d592cf..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/star.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/starfish_0.png b/basicsuite/qt5-particlesdemo/images/starfish_0.png deleted file mode 100644 index 8747f02..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/starfish_0.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/starfish_1.png b/basicsuite/qt5-particlesdemo/images/starfish_1.png deleted file mode 100644 index 1f3f159..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/starfish_1.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/starfish_2.png b/basicsuite/qt5-particlesdemo/images/starfish_2.png deleted file mode 100644 index c6c7e5a..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/starfish_2.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/starfish_3.png b/basicsuite/qt5-particlesdemo/images/starfish_3.png deleted file mode 100644 index 307a89f..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/starfish_3.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/starfish_4.png b/basicsuite/qt5-particlesdemo/images/starfish_4.png deleted file mode 100644 index d61c265..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/starfish_4.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/images/starfish_mask.png b/basicsuite/qt5-particlesdemo/images/starfish_mask.png deleted file mode 100644 index 2ef74f9..0000000 Binary files a/basicsuite/qt5-particlesdemo/images/starfish_mask.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/main.cpp b/basicsuite/qt5-particlesdemo/main.cpp deleted file mode 100644 index 15cb10b..0000000 --- a/basicsuite/qt5-particlesdemo/main.cpp +++ /dev/null @@ -1,41 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include "../../shared/shared.h" -DECLARATIVE_EXAMPLE_MAIN(particles/emitters/emitters) diff --git a/basicsuite/qt5-particlesdemo/main.qml b/basicsuite/qt5-particlesdemo/main.qml deleted file mode 100644 index d996b7b..0000000 --- a/basicsuite/qt5-particlesdemo/main.qml +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import "shared" as Examples - -Item { - height: 480 - width: 320 - Examples.LauncherList { - id: ll - anchors.fill: parent - Component.onCompleted: { - addExample("Velocity from Motion", "Particle motion just by moving emitters", Qt.resolvedUrl("content/velocityfrommotion.qml")); - addExample("Burst and Pulse", "Emit imperatively", Qt.resolvedUrl("content/burstandpulse.qml")); - addExample("Custom Emitter", "Custom starting state", Qt.resolvedUrl("content/customemitter.qml")); - addExample("Emit Mask", "Emit arbitrary shapes", Qt.resolvedUrl("content/emitmask.qml")); - addExample("Maximum Emitted", "Put a limit on emissions", Qt.resolvedUrl("content/maximumemitted.qml")); - addExample("Shape and Direction", "Creates a portal effect", Qt.resolvedUrl("content/shapeanddirection.qml")); - addExample("TrailEmitter", "Emit from other particles", Qt.resolvedUrl("content/trailemitter.qml")); - } - } -} diff --git a/basicsuite/qt5-particlesdemo/preview_l.jpg b/basicsuite/qt5-particlesdemo/preview_l.jpg deleted file mode 100644 index f611937..0000000 Binary files a/basicsuite/qt5-particlesdemo/preview_l.jpg and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/qt5-particlesdemo.pro b/basicsuite/qt5-particlesdemo/qt5-particlesdemo.pro deleted file mode 100644 index 29afc4f..0000000 --- a/basicsuite/qt5-particlesdemo/qt5-particlesdemo.pro +++ /dev/null @@ -1,15 +0,0 @@ -TARGET = qt5-particlesdemo - -include(../shared/shared.pri) -b2qtdemo_deploy_defaults() - -content.files = \ - *.qml \ - content \ - images \ - shared -content.path = $$DESTPATH - -OTHER_FILES += $${content.files} - -INSTALLS += target content diff --git a/basicsuite/qt5-particlesdemo/shared/Button.qml b/basicsuite/qt5-particlesdemo/shared/Button.qml deleted file mode 100644 index 0f85e75..0000000 --- a/basicsuite/qt5-particlesdemo/shared/Button.qml +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Item { - id: container - - property string text: "Button" - property string subText: "" - signal clicked - property alias containsMouse: mouseArea.containsMouse - property alias pressed: mouseArea.pressed - implicitHeight: col.height - height: implicitHeight - width: buttonLabel.width + 20 - - MouseArea { - id: mouseArea - anchors.fill: parent - onClicked: container.clicked() - hoverEnabled: true - } - - Column { - spacing: 2 - id: col - anchors.verticalCenter: parent.verticalCenter - width: parent.width - Text { - id: buttonLabel - anchors.left: parent.left - anchors.leftMargin: 10 - anchors.right: parent.right - anchors.rightMargin: 10 - text: container.text - color: "black" - font.pixelSize: 22 - wrapMode: Text.WrapAtWordBoundaryOrAnywhere - styleColor: "white" - style: Text.Raised - - } - Text { - id: buttonLabel2 - anchors.left: parent.left - anchors.leftMargin: 10 - text: container.subText - wrapMode: Text.WrapAtWordBoundaryOrAnywhere - color: "#666" - font.pixelSize: 12 - } - } -} diff --git a/basicsuite/qt5-particlesdemo/shared/LauncherList.qml b/basicsuite/qt5-particlesdemo/shared/LauncherList.qml deleted file mode 100644 index d18212a..0000000 --- a/basicsuite/qt5-particlesdemo/shared/LauncherList.qml +++ /dev/null @@ -1,148 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.0 - -Item { - //model is a list of {"name":"somename", "url":"file:///some/url/mainfile.qml"} - //function used to add to model A) to enforce scheme B) to allow Qt.resolveUrl in url assignments - - function addExample(name, desc, url) - { - myModel.append({"name":name, "description":desc, "url":url}) - } - function hideExample() - { - ei.visible = false; - } - - ListView { - clip: true - delegate: SimpleLauncherDelegate{exampleItem: ei} - model: ListModel {id:myModel} - anchors.fill: parent - visible: !ei.visible - } - - Item { - id: ei - visible: false - clip: true - property url exampleUrl - onExampleUrlChanged: visible = (exampleUrl == '' ? false : true); //Setting exampleUrl automatically shows example - anchors.fill: parent - anchors.bottomMargin: 40 - MouseArea{ - anchors.fill: parent - enabled: ei.visible - //Eats mouse events - } - Loader{ - focus: true - source: ei.exampleUrl - anchors.fill: parent - } - } - Rectangle { - id: bar - visible: ei.visible - anchors.bottom: parent.bottom - width: parent.width - height: 40 - - Rectangle { - height: 1 - color: "#ccc" - anchors.top: parent.top - anchors.left: parent.left - anchors.right: parent.right - } - - Rectangle { - height: 1 - color: "#fff" - anchors.top: parent.top - anchors.topMargin: 1 - anchors.left: parent.left - anchors.right: parent.right - } - - gradient: Gradient { - GradientStop { position: 0 ; color: "#eee" } - GradientStop { position: 1 ; color: "#ccc" } - } - - MouseArea{ - anchors.fill: parent - enabled: ei.visible - //Eats mouse events - } - - Image { - id: back - source: "images/back.png" - anchors.verticalCenter: parent.verticalCenter - anchors.verticalCenterOffset: 2 - anchors.left: parent.left - anchors.leftMargin: 16 - - MouseArea { - id: mouse - hoverEnabled: true - anchors.centerIn: parent - width: 38 - height: 31 - anchors.verticalCenterOffset: -1 - onClicked: ei.exampleUrl = "" - Rectangle { - anchors.fill: parent - opacity: mouse.pressed ? 1 : 0 - Behavior on opacity { NumberAnimation{ duration: 100 }} - gradient: Gradient { - GradientStop { position: 0 ; color: "#22000000" } - GradientStop { position: 0.2 ; color: "#11000000" } - } - border.color: "darkgray" - antialiasing: true - radius: 4 - } - } - } - } -} diff --git a/basicsuite/qt5-particlesdemo/shared/README b/basicsuite/qt5-particlesdemo/shared/README deleted file mode 100644 index bf16f23..0000000 --- a/basicsuite/qt5-particlesdemo/shared/README +++ /dev/null @@ -1,11 +0,0 @@ -These files are shared between multiple examples as a set of common and -reusuable components. While they do demonstrate the building of reusable -components in QML, they are not official examples themselves. -Consequently they do not have entries in the Qt documentation, and are -documented only through the code comments within the files. Developers -new to QML are strongly encouraged to go through the official examples -before delving into this directory. - -For most application use, see the Qt Quick Components project to find -ready-made Components you can use in your own projects. Qt Declarative -examples do not use them only to avoid external dependencies. diff --git a/basicsuite/qt5-particlesdemo/shared/SimpleLauncherDelegate.qml b/basicsuite/qt5-particlesdemo/shared/SimpleLauncherDelegate.qml deleted file mode 100644 index 2e9138b..0000000 --- a/basicsuite/qt5-particlesdemo/shared/SimpleLauncherDelegate.qml +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.0 - -Rectangle { - id: container - property Item exampleItem - width: ListView.view.width - height: button.implicitHeight + 22 - - gradient: Gradient { - GradientStop { - position: 0 - Behavior on color {ColorAnimation { duration: 100 }} - color: button.pressed ? "#e0e0e0" : "#fff" - } - GradientStop { - position: 1 - Behavior on color {ColorAnimation { duration: 100 }} - color: button.pressed ? "#e0e0e0" : button.containsMouse ? "#f5f5f5" : "#eee" - } - } - - Image { - id: image - opacity: 0.7 - Behavior on opacity {NumberAnimation {duration: 100}} - source: "images/next.png" - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: 16 - } - - Button { - id: button - anchors.top: parent.top - anchors.left: parent.left - anchors.bottom: parent.bottom - anchors.right:image.left - text: name - subText: description - onClicked: exampleItem.exampleUrl = url; - } - - Rectangle { - height: 1 - color: "#ccc" - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right: parent.right - } -} diff --git a/basicsuite/qt5-particlesdemo/shared/images/back.png b/basicsuite/qt5-particlesdemo/shared/images/back.png deleted file mode 100644 index 5340209..0000000 Binary files a/basicsuite/qt5-particlesdemo/shared/images/back.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/shared/images/next.png b/basicsuite/qt5-particlesdemo/shared/images/next.png deleted file mode 100644 index cdef8db..0000000 Binary files a/basicsuite/qt5-particlesdemo/shared/images/next.png and /dev/null differ diff --git a/basicsuite/qt5-particlesdemo/shared/qmldir b/basicsuite/qt5-particlesdemo/shared/qmldir deleted file mode 100644 index 2f1e56a..0000000 --- a/basicsuite/qt5-particlesdemo/shared/qmldir +++ /dev/null @@ -1,3 +0,0 @@ -Button 2.0 Button.qml -LauncherList 2.0 LauncherList.qml -SimpleLauncherDelegate 2.0 SimpleLauncherDelegate.qml diff --git a/basicsuite/qt5-particlesdemo/shared/quick_shared.qrc b/basicsuite/qt5-particlesdemo/shared/quick_shared.qrc deleted file mode 100644 index 9fc114d..0000000 --- a/basicsuite/qt5-particlesdemo/shared/quick_shared.qrc +++ /dev/null @@ -1,8 +0,0 @@ - - - LauncherList.qml - SimpleLauncherDelegate.qml - Button.qml - images/back.png - - diff --git a/basicsuite/qt5-particlesdemo/shared/shared.h b/basicsuite/qt5-particlesdemo/shared/shared.h deleted file mode 100644 index 9370758..0000000 --- a/basicsuite/qt5-particlesdemo/shared/shared.h +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include -#include -#include -#include -#define DECLARATIVE_EXAMPLE_MAIN(NAME) int main(int argc, char* argv[]) \ -{\ - QGuiApplication app(argc,argv);\ - QQuickView view;\ - view.connect(view.engine(), SIGNAL(quit()), &app, SLOT(quit()));\ - view.setSource(QUrl("qrc:///" #NAME ".qml")); \ - if (QGuiApplication::platformName() == QLatin1String("qnx") || \ - QGuiApplication::platformName() == QLatin1String("eglfs")) {\ - view.setResizeMode(QQuickView::SizeRootObjectToView);\ - view.showFullScreen();\ - } else {\ - view.show();\ - }\ - return app.exec();\ -} diff --git a/basicsuite/qt5-particlesdemo/shared/shared.qrc b/basicsuite/qt5-particlesdemo/shared/shared.qrc deleted file mode 100644 index 4ac856e..0000000 --- a/basicsuite/qt5-particlesdemo/shared/shared.qrc +++ /dev/null @@ -1,8 +0,0 @@ - - - LauncherList.qml - SimpleLauncherDelegate.qml - Button.qml - images/back.png - - diff --git a/basicsuite/qt5-particlesdemo/title.txt b/basicsuite/qt5-particlesdemo/title.txt deleted file mode 100644 index 1db7719..0000000 --- a/basicsuite/qt5-particlesdemo/title.txt +++ /dev/null @@ -1 +0,0 @@ -998. Qt5 Particles Demo diff --git a/basicsuite/sensorexplorer/app.pro b/basicsuite/sensorexplorer/app.pro deleted file mode 100644 index bc968c2..0000000 --- a/basicsuite/sensorexplorer/app.pro +++ /dev/null @@ -1,11 +0,0 @@ -TARGET = sensorexplorer - -include(../shared/shared.pri) -b2qtdemo_deploy_defaults() - -content.files = *.qml -content.path = $$DESTPATH - -OTHER_FILES += $${content.files} - -INSTALLS += target content \ No newline at end of file diff --git a/basicsuite/sensorexplorer/description.txt b/basicsuite/sensorexplorer/description.txt deleted file mode 100644 index 606dc9b..0000000 --- a/basicsuite/sensorexplorer/description.txt +++ /dev/null @@ -1 +0,0 @@ -This example provides a list of all available sensors installed on the system for which Qt has a backend. Start a sensor to see how values change depending from environment and user-device interaction. diff --git a/basicsuite/sensorexplorer/doc/src/sensor_explorer.qdoc b/basicsuite/sensorexplorer/doc/src/sensor_explorer.qdoc deleted file mode 100644 index 25aa34f..0000000 --- a/basicsuite/sensorexplorer/doc/src/sensor_explorer.qdoc +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://www.qt.io/licensing. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: http://www.gnu.org/copyleft/fdl.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \example sensorexplorer - \title Sensor Explorer - \brief The Sensor Explorer example demonstrates how to read the meta-data of available sensors. - \ingroup b2qt-demos - - \image b2qt-demo-sensorexplorer.jpg - - This example provides a list of all available sensors installed on the system for which Qt has - a backend. Start a sensor to see how values change depending from environment and user-device - interaction. - - This example is divided into two parts: - - \list - \li A C++ plug-in that provides QML alternatives for QSensorExplorer, QPropertyInfo and the QSensorItem classes. - \li A QML Application that uses the QML alternatives to read the sensors meta-data and present it. - \endlist - - - This is a pure QML application that can be run from Qt Creator or directly using the - \c qmlscene binary. You should install the other C++ plug-in before trying to run - this example, otherwise it will not find its dependencies. - - \code - qmlscene main.qml - \endcode - - To write a QML application that will use the Explorer QML type you need to do the following steps: - - Import the Explorer 1.0 declarative plugin: - - \snippet sensorexplorer/main.qml 0 - - Create a SensorExplorer QML item: - - \snippet sensorexplorer/main.qml 1 - - You can retrieve a list of all available sensors using the SensorExplorer: - - \snippet sensorexplorer/main.qml 2 - - To retrieve the properties of a SensorItem use: - - \snippet sensorexplorer/main.qml 3 - - Changing a property value can be done like: - - \snippet sensorexplorer/main.qml 4 - - Starting and stopping a sensor can be done like: - - \snippet sensorexplorer/main.qml 5 -*/ - diff --git a/basicsuite/sensorexplorer/exclude.txt b/basicsuite/sensorexplorer/exclude.txt deleted file mode 100644 index 0702cb5..0000000 --- a/basicsuite/sensorexplorer/exclude.txt +++ /dev/null @@ -1 +0,0 @@ -all diff --git a/basicsuite/sensorexplorer/imports/explorer.cpp b/basicsuite/sensorexplorer/imports/explorer.cpp deleted file mode 100644 index 5ca644f..0000000 --- a/basicsuite/sensorexplorer/imports/explorer.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://www.qt.io/licensing. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "explorer.h" -#include -#include -#include -#include - -QT_BEGIN_NAMESPACE - -/* - \class QSensorExplorer - \brief The QSensorExplorer type provides an easy access for reading all avalaible sensors installed on the system. -*/ - -/* - Construct a QSensorExplorer object with parent \a parent -*/ -QSensorExplorer::QSensorExplorer(QObject* parent) - : QObject(parent) - , _selectedSensorItem(0) -{ - loadSensors(); -} - -/* - Destructor of a QSensorExplorer -*/ -QSensorExplorer::~QSensorExplorer() -{ -} - -/* - Load all available sensors and store it in a list. -*/ -void QSensorExplorer::loadSensors() -{ - _availableSensors.clear(); - foreach (const QByteArray &type, QSensor::sensorTypes()) { - foreach (const QByteArray &identifier, QSensor::sensorsForType(type)) { - // Don't put in sensors we can't connect to - QSensor* sensor = new QSensor(type, this); - //sensor->setIdentifier(identifier); - if (!sensor->connectToBackend()) { - qWarning() << "Couldn't connect to" << sensor->description(); - continue; - } - _availableSensors.append(new QSensorItem(sensor, this)); - } - } - emit availableSensorsChanged(); -} - -/* - \fn QSensorExplorer::availableSensorsChanged() - Notifies the client if the list of the available sensors was changed -*/ - -/* - \property QSensorExplorer::availableSensors - Returns a list of all available sensor. -*/ -QQmlListProperty QSensorExplorer::availableSensors() -{ - return QQmlListProperty(this,_availableSensors); -} - -/* - \fn QSensorExplorer::selectedSensorItemChanged() - Notifies the client if the selected sensor has been changed -*/ - -/* - \property QSensorExplorer::selectedSensorItem - Returns the current selected sensor item. -*/ -QSensorItem* QSensorExplorer::selectedSensorItem() -{ - return _selectedSensorItem; -} - -/* - \fn QSensorExplorer::setSelectedSensorItem(QSensorItem* selitem) - Sets the QSensorItem \a selitem as the current selected QSensorItem. -*/ -void QSensorExplorer::setSelectedSensorItem(QSensorItem* selitem) -{ - if (selitem && _selectedSensorItem != selitem) { - if (_selectedSensorItem) - _selectedSensorItem->unSelect(); - _selectedSensorItem = selitem; - _selectedSensorItem->select(); - emit selectedSensorItemChanged(); - } -} - -QT_END_NAMESPACE diff --git a/basicsuite/sensorexplorer/imports/explorer.h b/basicsuite/sensorexplorer/imports/explorer.h deleted file mode 100644 index 1eee6c0..0000000 --- a/basicsuite/sensorexplorer/imports/explorer.h +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://www.qt.io/licensing. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSEONSOREXPLORER_H -#define QSEONSOREXPLORER_H - -#include -#include -#include "sensoritem.h" - -QT_BEGIN_NAMESPACE - -class QSensorExplorer : public QObject -{ - Q_OBJECT - Q_PROPERTY(QQmlListProperty availableSensors READ availableSensors NOTIFY availableSensorsChanged) - Q_PROPERTY(QSensorItem* selectedSensorItem READ selectedSensorItem WRITE setSelectedSensorItem NOTIFY selectedSensorItemChanged) -public: - QSensorExplorer(QObject* parent = 0); - virtual ~QSensorExplorer(); - -private: - QQmlListProperty availableSensors(); - void loadSensors(); - void setSelectedSensorItem(QSensorItem* selitem); - QSensorItem* selectedSensorItem(); - -Q_SIGNALS: - void availableSensorsChanged(); - void selectedSensorItemChanged(); - -private: - QList _availableSensors; - QSensorItem* _selectedSensorItem; -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QSensorExplorer) - -#endif // QSEONSOREXPLORER_H diff --git a/basicsuite/sensorexplorer/imports/imports.pro b/basicsuite/sensorexplorer/imports/imports.pro deleted file mode 100644 index 41a5f18..0000000 --- a/basicsuite/sensorexplorer/imports/imports.pro +++ /dev/null @@ -1,24 +0,0 @@ -TEMPLATE = lib -CONFIG += plugin - -TARGET = sensorexplorer - -QT += qml sensors - -SOURCES = main.cpp \ - explorer.cpp \ - sensoritem.cpp \ - propertyinfo.cpp \ - -HEADERS = explorer.h \ - sensoritem.h \ - propertyinfo.h \ - -pluginfiles.files += \ - qmldir \ - -B2QT_DEPLOYPATH = /data/user/qt/qmlplugins/Explorer -target.path += $$B2QT_DEPLOYPATH -pluginfiles.path += $$B2QT_DEPLOYPATH - -INSTALLS += target pluginfiles diff --git a/basicsuite/sensorexplorer/imports/main.cpp b/basicsuite/sensorexplorer/imports/main.cpp deleted file mode 100644 index 106ca93..0000000 --- a/basicsuite/sensorexplorer/imports/main.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include -#include "explorer.h" - -QT_BEGIN_NAMESPACE - -class SensorExplorerDeclarativeModule : public QQmlExtensionPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface" FILE "plugin.json") -public: - virtual void registerTypes(const char *uri) - { - Q_ASSERT(QLatin1String(uri) == QLatin1String("Explorer")); - qmlRegisterType(uri, 1, 0, "SensorExplorer"); - qmlRegisterType(uri, 1, 0, "SensorItem"); - qmlRegisterType(uri, 1, 0, "PropertyInfo"); - } -}; - -QT_END_NAMESPACE - -#include "main.moc" diff --git a/basicsuite/sensorexplorer/imports/plugin.json b/basicsuite/sensorexplorer/imports/plugin.json deleted file mode 100644 index 0967ef4..0000000 --- a/basicsuite/sensorexplorer/imports/plugin.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/basicsuite/sensorexplorer/imports/propertyinfo.cpp b/basicsuite/sensorexplorer/imports/propertyinfo.cpp deleted file mode 100644 index b8af5c5..0000000 --- a/basicsuite/sensorexplorer/imports/propertyinfo.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://www.qt.io/licensing. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "sensoritem.h" -#include -#include - -QT_BEGIN_NAMESPACE - -/* - \class QPropertyInfo - \brief The QPropertyInfo type provides an easy access for reading and writing the property values. -*/ - -/* - Construct a QPropertyInfo object with parent \a parent -*/ -QPropertyInfo::QPropertyInfo(QObject* parent) - : QObject(parent) - , _index(0) - , _isWriteable(false) - , _name("") - , _typeName("") - , _value("") -{} - -/* - Construct a QPropertyInfo object with parent \a parent, property name \a name, property index \a index, - property write access \a writeable, property type \a typeName and property value \a value -*/ -QPropertyInfo::QPropertyInfo(const QString& name, int index, bool writeable, const QString& typeName, const QString& value, QObject* parent) - : QObject(parent) - , _index(index) - , _isWriteable(writeable) - , _name(name) - , _typeName(typeName) - , _value(value) -{} - -/* - \property QPropertyInfo::name - Returns the name of the property -*/ -QString QPropertyInfo::name() -{ - return _name; -} - -/* - \property QPropertyInfo::typeName - Returns the type of the property -*/ -QString QPropertyInfo::typeName() -{ - return _typeName; -} - -/* - \property QPropertyInfo::value - Returns the current value of the property -*/ -QString QPropertyInfo::value() -{ - return _value; -} - -/* - \fn void QPropertyInfo::valueChanged() - Signal that notifies the client if the property value was changed. -*/ - -/* - \fn QPropertyInfo::setValue(const QString& value) - Sets the value \a value of the property -*/ -void QPropertyInfo::setValue(const QString& value) -{ - if (value != _value){ - _value = value; - emit valueChanged(); - } -} - -/* - \fn QPropertyInfo::index() - Returns the meta-data index of the property -*/ -int QPropertyInfo::index() -{ - return _index; -} - -/* - \property QPropertyInfo::isWriteable - Returns true if the property is writeable false if property is read only -*/ -bool QPropertyInfo::isWriteable() -{ - return _isWriteable; -} - -QT_END_NAMESPACE diff --git a/basicsuite/sensorexplorer/imports/propertyinfo.h b/basicsuite/sensorexplorer/imports/propertyinfo.h deleted file mode 100644 index 9bcd07e..0000000 --- a/basicsuite/sensorexplorer/imports/propertyinfo.h +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://www.qt.io/licensing. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPROPERTYINFO_H -#define QPROPERTYINFO_H - -#include -#include - -QT_BEGIN_NAMESPACE - -class QPropertyInfo : public QObject -{ - Q_OBJECT - Q_PROPERTY(QString name READ name CONSTANT) - Q_PROPERTY(QString typeName READ typeName CONSTANT) - Q_PROPERTY(QString value READ value NOTIFY valueChanged) - Q_PROPERTY(bool isWriteable READ isWriteable CONSTANT) - -public: - QPropertyInfo(QObject* parent = 0); - QPropertyInfo(const QString& name, int index, bool writeable, const QString& typeName, const QString& value, QObject* parent=0); - QString name(); - QString typeName(); - QString value(); - void setValue(const QString& value); - int index(); - bool isWriteable(); - -Q_SIGNALS: - void valueChanged(); - -private: - int _index; - bool _isWriteable; - QString _name; - QString _typeName; - QString _value; -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QPropertyInfo) - -#endif // QPROPERTYINFO_H diff --git a/basicsuite/sensorexplorer/imports/qmldir b/basicsuite/sensorexplorer/imports/qmldir deleted file mode 100644 index ad67d81..0000000 --- a/basicsuite/sensorexplorer/imports/qmldir +++ /dev/null @@ -1,2 +0,0 @@ -module Explorer -plugin sensorexplorer diff --git a/basicsuite/sensorexplorer/imports/sensoritem.cpp b/basicsuite/sensorexplorer/imports/sensoritem.cpp deleted file mode 100644 index ec8eb06..0000000 --- a/basicsuite/sensorexplorer/imports/sensoritem.cpp +++ /dev/null @@ -1,322 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://www.qt.io/licensing. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "sensoritem.h" -#include -#include - -QT_BEGIN_NAMESPACE - -/* - \class QSensorItem - \brief The QSensorItem type provides information about the meta-data from a sensors installed on the system. -*/ - -/* - Construct a QSensorItem object with parent \a parent -*/ -QSensorItem::QSensorItem(QObject* parent) - : QObject(parent) - , _qsensor(0) -{ -} - -/* - Construct a QSensorItem object with QSensor \a sensor and parent \a parent -*/ -QSensorItem::QSensorItem(QSensor* sensor, QObject* parent) - : QObject(parent) - , _qsensor(sensor) -{ -} - -/* - Destructor of a QSensorItem -*/ -QSensorItem::~QSensorItem() -{ -} - -/* - \fn QSensorItem::startChanged() - Notifies the client if the sensors has changed its start active status -*/ - -/* - \property QSensorItem::start - This property starts or stops the sensor -*/ -bool QSensorItem::start() -{ - return (_qsensor ? _qsensor->isActive() : false); -} - -void QSensorItem::setStart(bool run) -{ - if (_qsensor) - _qsensor->setActive(run); -} - -/* - \property QSensorItem::id - Returns the sensor id of the sensor item -*/ -QString QSensorItem::id() -{ - return (_qsensor ? (!_qsensor->description().isEmpty() ? _qsensor->description() : _qsensor->identifier()) : ""); -} - -/* - Set the new value \a val to the QPropertyInfo object \a property -*/ -void QSensorItem::changePropertyValue(QPropertyInfo* property, const QString& val) -{ - if (_qsensor && _sensorProperties.contains(property)){ - if ( _qsensor->setProperty(property->name().toLatin1().constData(), QVariant(val))) - updateSensorPropertyValues(); - else - qWarning() << "new property value couldn't be set"; - } -} - -/* - Reading the meta-data and activates the sensor. -*/ -void QSensorItem::select() -{ - if (_sensorProperties.isEmpty()) { - // Probe the reading using Qt's meta-object facilities - //Read properties from reader - QSensorReading *reading = _qsensor->reading(); - const QMetaObject *mo = reading->metaObject(); - int firstProperty = QSensorReading::staticMetaObject.propertyOffset(); - - for (int i = firstProperty; i < mo->propertyCount(); ++i) { - QString typeName = QLatin1String(mo->property(i).typeName()); - int crap = typeName.lastIndexOf("::"); - if (crap != -1) - typeName = typeName.mid(crap + 2); - - QPropertyInfo* pi = new QPropertyInfo(mo->property(i).name() - , i - , isWriteable(mo->property(i).name()) - , typeName - , "-" - , this); - _readerProperties.append(pi); - } - - //Read properties from sensor - const QMetaObject *mo1 = _qsensor->metaObject(); - firstProperty = QSensorReading::staticMetaObject.propertyOffset(); - - for (int i = firstProperty; i < mo1->propertyCount(); ++i) { - QString propertyname = mo1->property(i).name(); - if (ignoreProperty(propertyname)) - continue; - - QString typeName = QLatin1String(mo1->property(i).typeName()); - int crap = typeName.lastIndexOf("::"); - if (crap != -1) - typeName = typeName.mid(crap + 2); - - QPropertyInfo* pi = new QPropertyInfo(propertyname - , i - , isWriteable(propertyname) - , typeName - , "-" - , this); - _sensorProperties.append(pi); - } - updateSensorPropertyValues(); - connect(_qsensor, SIGNAL(readingChanged()), this, SLOT(sensorReadingChanged())); - } - connect(_qsensor, SIGNAL(activeChanged()), SIGNAL(startChanged())); -} - -/* - Unselect the sensor by stopping the sensor. -*/ -void QSensorItem::unSelect() -{ - _qsensor->stop(); - disconnect(_qsensor, SIGNAL(activeChanged()), this , SIGNAL(startChanged())); -} - -/* - Updates the property values from QSensor -*/ -void QSensorItem::updateSensorPropertyValues() -{ - if (_qsensor){ - const QMetaObject *mo = _qsensor->metaObject(); - for (int i = 0; i < _sensorProperties.count(); i++){ - QVariant val = mo->property(_sensorProperties[i]->index()).read(_qsensor); - _sensorProperties[i]->setValue(convertValue(_sensorProperties[i]->typeName(), val)); - } - } -} - -/* - \fn QSensorItem::propertiesChanged() - Notifies the client if the list of the properties was changed -*/ - -/* - Updates the property values from the QSensorReader -*/ -void QSensorItem::sensorReadingChanged() -{ - QSensorReading *reading = _qsensor->reading(); - const QMetaObject *mo = reading->metaObject(); - for (int i = 0; i < _readerProperties.count(); i++){ - QVariant val = mo->property(_readerProperties[i]->index()).read(reading); - _readerProperties[i]->setValue(convertValue(_readerProperties[i]->typeName(), val)); - } -} - -/* - Returns true if the property with the name \a propertyname should be ignored -*/ -bool QSensorItem::ignoreProperty(const QString& propertyname) -{ - if (propertyname == "reading" || - propertyname == "active" || - propertyname == "identifier" || - propertyname == "connectedToBackend" || - propertyname == "busy") - return true; - - return false; -} - -/* - Returns true if the property with the name \a propertyname is writeable -*/ -bool QSensorItem::isWriteable(const QString& propertyname) -{ - if (_qsensor){ - const QMetaObject *mo = _qsensor->metaObject(); - int propertyindex = mo->indexOfProperty(propertyname.toLocal8Bit().constData()); - if (propertyindex >= 0){ - QMetaProperty prop = mo->property(propertyindex); - return prop.isWritable(); - } - else { - QSensorReading *reading = _qsensor->reading(); - const QMetaObject *moreader = reading->metaObject(); - propertyindex = moreader->indexOfProperty(propertyname.toLocal8Bit().constData()); - if (propertyindex >= 0){ - QMetaProperty prop = mo->property(propertyindex); - return prop.isWritable(); - } - } - } - - return false; -} - -/* - Convert the variant \a val dependent on the type \a type and returns the converted value as a QString -*/ -QString QSensorItem::convertValue(const QString& type, const QVariant& val) -{ - if (type == "LightLevel"){ - switch (val.toInt()) { - case 1: return "Dark"; - case 2: return "Twilight"; - case 3: return "Light"; - case 4: return "Bright"; - case 5: return "Sunny"; - default: return "Undefined"; - } - } - else if (type == "Orientation"){ - switch (val.toInt()) { - case 1: return "TopUp"; - case 2: return "TopDown"; - case 3: return "LeftUp"; - case 4: return "RightUp"; - case 5: return "FaceUp"; - case 6: return "FaceDown"; - default: return "Undefined"; - } - } - else if (type == "qrangelist"){ - qrangelist rangelist = val.value(); - QStringList ranges; - foreach (const qrange &r, rangelist) { - if (r.first == r.second) - ranges << QString("%1 Hz").arg(r.first); - else - ranges << QString("%1-%2 Hz").arg(r.first).arg(r.second); - } - if (ranges.count() > 0) - return ranges.join(", "); - return "-"; - } - else if (type == "qoutputrangelist") { - qoutputrangelist rangelist = val.value(); - QStringList ranges; - foreach (const qoutputrange &r, rangelist) { - ranges << QString("(%1, %2) += %3").arg(r.minimum).arg(r.maximum).arg(r.accuracy); - } - if (ranges.count() > 0) - return ranges.join(", "); - return "-"; - } - - return val.toString(); -} - -/* - \property QSensorItem::properties - Returns a list of all properties from the sensor -*/ -QQmlListProperty QSensorItem::properties() -{ - _properties.clear(); - _properties.append(_sensorProperties); - _properties.append(_readerProperties); - return QQmlListProperty (this, _properties); -} - -QT_END_NAMESPACE diff --git a/basicsuite/sensorexplorer/imports/sensoritem.h b/basicsuite/sensorexplorer/imports/sensoritem.h deleted file mode 100644 index a78af9d..0000000 --- a/basicsuite/sensorexplorer/imports/sensoritem.h +++ /dev/null @@ -1,96 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://www.qt.io/licensing. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSENSORITEM_H -#define QSENSORITEM_H - -#include -#include -#include "propertyinfo.h" - -QT_BEGIN_NAMESPACE - -class QSensor; -class QSensorItem : public QObject -{ - Q_OBJECT - Q_PROPERTY(bool start READ start WRITE setStart NOTIFY startChanged) - Q_PROPERTY(QString id READ id CONSTANT) - Q_PROPERTY(QQmlListProperty properties READ properties NOTIFY propertiesChanged) -public: - QSensorItem(QObject* parent = 0); - QSensorItem(QSensor* sensor, QObject* parent = 0); - virtual ~QSensorItem(); - -public slots: - void select(); - void unSelect(); - void changePropertyValue(QPropertyInfo* property, const QString& val); - -private slots: - void sensorReadingChanged(); - -private: - QString id(); - bool start(); - void setStart(bool run); - QQmlListProperty properties(); - QString convertValue(const QString& type, const QVariant& val); - bool isWriteable(const QString& propertyname); - bool ignoreProperty(const QString& propertyname); - void updateSensorPropertyValues(); - -Q_SIGNALS: - void propertiesChanged(); - void startChanged(); - -private: - QSensor* _qsensor; - QList _properties; - QList _readerProperties; - QList _sensorProperties; -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QSensorItem) - -#endif // QSENSORITEM_H diff --git a/basicsuite/sensorexplorer/main.qml b/basicsuite/sensorexplorer/main.qml deleted file mode 100644 index 2a58709..0000000 --- a/basicsuite/sensorexplorer/main.qml +++ /dev/null @@ -1,224 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtSensors module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.Controls 1.0 -import QtSensors 5.0 - -//! [0] -import Explorer 1.0 -//! [0] - -Item { - id: root - width: 800 - height: 1280 - - Rectangle { - id: main - width: root.width - height: root.height - anchors.centerIn: parent - - //! [1] - SensorExplorer { - id: explorer - } - //! [1] - - Column { - anchors.fill: parent - anchors.margins: 8 - spacing: 8 - - GroupBox { - id: topBox - title: qsTr("Available Sensors") - width: parent.width - height: main.height * 0.4 - - TableView { - id: sensorList - width: parent.width - height: parent.height * 0.80 - anchors.top: parent.top - anchors.topMargin: 22 - //! [2] - model: explorer.availableSensors - //! [2] - - TableViewColumn { role: "id"; title: qsTr("ID"); width: main.width * 0.7 } - TableViewColumn { role: "start"; title: qsTr("Running"); width: main.width * 0.15 } - - onClicked: { - explorer.selectedSensorItem = explorer.availableSensors[row] - //! [3] - propertyList.model = explorer.selectedSensorItem.properties - //! [3] - button.update() - } - } - - Button { - id: button - anchors.top: sensorList.bottom - anchors.right: parent.right - anchors.topMargin: 8 - text: qsTr("Start") - enabled: explorer.selectedSensorItem !== null - - function update() { - text = (explorer.selectedSensorItem !== null ? - (explorer.selectedSensorItem.start === true ? - qsTr("Stop") : qsTr("Start")) : qsTr("Start")) - } - - onClicked: { - if (explorer.selectedSensorItem !== null) { - //! [5] - if (text === "Start") { - explorer.selectedSensorItem.start = true; - text = "Stop"; - } - else { - explorer.selectedSensorItem.start = false; - text = "Start"; - } - //! [5] - } - } - } - - } - - GroupBox { - title: qsTr("Properties") - width: parent.width - height: main.height - topBox.height - 30 - enabled: explorer.selectedSensorItem != null - - TableView { - id: propertyList - property PropertyInfo selectedItem: null - - anchors.fill: parent - anchors.topMargin: 22 - - TableViewColumn { role: "name"; title: qsTr("Name"); width: 140 } - TableViewColumn { role: "value"; title: qsTr("Value"); width: 140 } - - onClicked: { - selectedItem = model[row] - } - - itemDelegate: { - if (selectedItem && selectedItem.isWriteable) - return editableDelegate; - return readOnlyDelegate; - } - - Component { - id: readOnlyDelegate - Item { - Text { - width: parent.width - anchors.margins: 4 - anchors.left: parent.left - anchors.verticalCenter: parent.verticalCenter - elide: styleData.elideMode - text: styleData.value - color: propertyList.model[styleData.row].isWriteable ? - styleData.textColor : Qt.lighter(styleData.textColor) - } - } - } - - Component { - id: editableDelegate - Item { - Text { - width: parent.width - anchors.margins: 4 - anchors.left: parent.left - anchors.verticalCenter: parent.verticalCenter - elide: styleData.elideMode - text: styleData.value - color: styleData.textColor - visible: !styleData.selected || styleData.column === 0 - } - Loader { // Initialize text editor lazily to improve performance - id: loaderEditor - anchors.margins: 4 - anchors.left: parent.left - anchors.verticalCenter: parent.verticalCenter - Connections { - target: loaderEditor.item - onAccepted: { - //! [4] - explorer.selectedSensorItem.changePropertyValue(propertyList.selectedItem, loaderEditor.item.text); - //! [4] - } - } - - // Load the editor for selected 'Value' cell - sourceComponent: (styleData.selected && styleData.column === 1) ? editor : null - - Component { - id: editor - TextInput { // ### TODO - this needs to utilize a virtual keyboard - id: textinput - color: styleData.textColor - text: styleData.value - MouseArea { - id: mouseArea - anchors.fill: parent - hoverEnabled: true - onClicked: textinput.forceActiveFocus() - } - } - } - } - } - } - } - } - } - } -} diff --git a/basicsuite/sensorexplorer/preview_l.jpg b/basicsuite/sensorexplorer/preview_l.jpg deleted file mode 100644 index 59809ea..0000000 Binary files a/basicsuite/sensorexplorer/preview_l.jpg and /dev/null differ diff --git a/basicsuite/sensorexplorer/sensorexplorer.pro b/basicsuite/sensorexplorer/sensorexplorer.pro deleted file mode 100644 index 22ef5b8..0000000 --- a/basicsuite/sensorexplorer/sensorexplorer.pro +++ /dev/null @@ -1,6 +0,0 @@ -TEMPLATE = subdirs -CONFIG += ordered -SUBDIRS += \ - imports \ - app.pro - diff --git a/basicsuite/sensorexplorer/title.txt b/basicsuite/sensorexplorer/title.txt deleted file mode 100644 index 64de850..0000000 --- a/basicsuite/sensorexplorer/title.txt +++ /dev/null @@ -1 +0,0 @@ -999. Sensor Explorer diff --git a/basicsuite/sensors/1.png b/basicsuite/sensors/1.png deleted file mode 100644 index 8dd146b..0000000 Binary files a/basicsuite/sensors/1.png and /dev/null differ diff --git a/basicsuite/sensors/2.png b/basicsuite/sensors/2.png deleted file mode 100644 index 362abaf..0000000 Binary files a/basicsuite/sensors/2.png and /dev/null differ diff --git a/basicsuite/sensors/3.png b/basicsuite/sensors/3.png deleted file mode 100644 index c8d3f8c..0000000 Binary files a/basicsuite/sensors/3.png and /dev/null differ diff --git a/basicsuite/sensors/Accelbubble.qml b/basicsuite/sensors/Accelbubble.qml deleted file mode 100644 index cff693b..0000000 --- a/basicsuite/sensors/Accelbubble.qml +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: For any questions to Digia, please use the contact form at -** http://www.qt.io -** -** This file is part of the examples of the Qt Enterprise Embedded. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.0 -import QtSensors 5.0 - -Rectangle { - id: area - color: "lightblue" - border.width: 1 - border.color: "darkblue" - property real velocityX: 0 - property real velocityY: 0 - - // Calculate effective rotation - function getRotation() { - var rot = rotation - var newParent = parent - - while (newParent) { - rot += newParent.rotation - newParent = newParent.parent - } - return rot%360 - } - - function updatePosition() { - var actualRotation = getRotation(); - - // Transform accelerometer readings according - // to actual rotation of item - if (actualRotation == 0) { - velocityX -= accel.reading.x - velocityY += accel.reading.y - } else if (actualRotation == 90 || actualRotation == -270) { - velocityX += accel.reading.y - velocityY += accel.reading.x - } else if (actualRotation == 180 || actualRotation == -180) { - velocityX += accel.reading.x - velocityY -= accel.reading.y - } else if (actualRotation == 270 || actualRotation == -90) { - velocityX -= accel.reading.y - velocityY -= accel.reading.x - } else { - console.debug("The screen rotation of the device has to be a multiple of 90 degrees.") - } - - velocityX *= 0.95 - velocityY *= 0.95 - - var newX = bubble.x + velocityX - var newY = bubble.y + velocityY - var right = area.width - bubble.width - var bottom = area.height - bubble.height - - if (newX < 0) { - newX = 0 - velocityX = -velocityX * 0.9 - } - if (newY < 0) { - newY = 0 - velocityY = -velocityY * 0.9 - } - - if (newX > right) { - newX = right - velocityX = -velocityX * 0.9 - } - if (newY > bottom) { - newY = bottom - velocityY = -velocityY * 0.9 - } - - bubble.x = newX - bubble.y = newY - } - - Accelerometer { - id: accel - active:true - } - - Component.onCompleted: timer.running = true - - Timer { - id: timer - interval: 16 - running: false - repeat: true - onTriggered: updatePosition() - } - - Image { - id: bubble - source: "bluebubble.png" - smooth: true - x: parent.width/2 - bubble.width/2 - y: parent.height/2 - bubble.height/2 - } -} diff --git a/basicsuite/sensors/Light.qml b/basicsuite/sensors/Light.qml deleted file mode 100644 index c92dabc..0000000 --- a/basicsuite/sensors/Light.qml +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: For any questions to Digia, please use the contact form at -** http://www.qt.io -** -** This file is part of the examples of the Qt Enterprise Embedded. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.0 -import QtSensors 5.0 - -Rectangle { - id: bg - Image { - id: avatar - width: parent.width * 0.9 - height: parent.height * 0.9 - fillMode: Image.PreserveAspectFit - anchors.centerIn: parent - } - Text { - id: illuminanceLevel - font.pointSize: 20 - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: parent.bottom - anchors.bottomMargin: 60 - } - - AmbientLightSensor { - active: true - onReadingChanged: { - if (reading.lightLevel === AmbientLightReading.Dark) { - avatar.source = "3.png" - bg.color = "#1947A3" - } else if (reading.lightLevel === AmbientLightReading.Twilight - || reading.lightLevel === AmbientLightReading.Light) { - avatar.source = "2.png" - bg.color = "steelblue" - } else if (reading.lightLevel === AmbientLightReading.Bright - || reading.lightLevel === AmbientLightReading.Sunny) { - avatar.source = "1.png" - bg.color = "#FFFF75" - } else { - avatar.text = "Unknown light level" - } - } - } - - LightSensor { - active: true - onReadingChanged: { - illuminanceLevel.text = "Illuminance: " + reading.illuminance.toFixed(2); - } - } -} diff --git a/basicsuite/sensors/bluebubble.png b/basicsuite/sensors/bluebubble.png deleted file mode 100644 index f96126e..0000000 Binary files a/basicsuite/sensors/bluebubble.png and /dev/null differ diff --git a/basicsuite/sensors/description.txt b/basicsuite/sensors/description.txt deleted file mode 100644 index e306066..0000000 --- a/basicsuite/sensors/description.txt +++ /dev/null @@ -1,3 +0,0 @@ -Demonstrates using the accelerometer and light sensors in a QML application. - -Tilting the device moves the bubble around, based on readings from the accelerometer sensor. For the light sensor, exposing the device to different lighting conditions changes the displayed image. diff --git a/basicsuite/sensors/exclude.txt b/basicsuite/sensors/exclude.txt deleted file mode 100644 index 3945bcb..0000000 --- a/basicsuite/sensors/exclude.txt +++ /dev/null @@ -1,2 +0,0 @@ -all - diff --git a/basicsuite/sensors/main.qml b/basicsuite/sensors/main.qml deleted file mode 100644 index 71af99d..0000000 --- a/basicsuite/sensors/main.qml +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: For any questions to Digia, please use the contact form at -** http://www.qt.io -** -** This file is part of the examples of the Qt Enterprise Embedded. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.0 -import QtSensors 5.0 -import QtSensors 5.0 as Sensors - -Rectangle { - id: root - anchors.fill: parent - - Component { - id: sensorExample - Rectangle { - id: main - width: root.width - height: root.height - anchors.centerIn: parent - color: "blue" - border.width: 1 - Accelbubble { - id: bubble - width: parent.width / 2 - height: parent.height - } - Light { - anchors.left: bubble.right - width: parent.width / 2 - height: parent.height - } - - } - } - - Component { - id: message - Rectangle { - width: root.width - height: root.height - color: "black" - Text { - font.pixelSize: 80 - width: parent.width * 0.8 - anchors.centerIn: parent - color: "white" - text: "It appears that this device doesn't provide the required sensors!" - wrapMode: Text.WordWrap - } - } - } - - Loader { - id: pageLoader - anchors.centerIn: parent - } - - Component.onCompleted: { - var typesList = Sensors.QmlSensors.sensorTypes(); - var count = 0 - for (var i = 0; i < typesList.length; ++i) { - if (typesList[i] == "QAccelerometer") - count++ - if (typesList[i] == "QLightSensor") - count++ - } - - if (count > 1) - pageLoader.sourceComponent = sensorExample - else - pageLoader.sourceComponent = message - } -} diff --git a/basicsuite/sensors/preview_l.jpg b/basicsuite/sensors/preview_l.jpg deleted file mode 100644 index 9d0d88c..0000000 Binary files a/basicsuite/sensors/preview_l.jpg and /dev/null differ diff --git a/basicsuite/sensors/sensors.pro b/basicsuite/sensors/sensors.pro deleted file mode 100644 index 0b431b8..0000000 --- a/basicsuite/sensors/sensors.pro +++ /dev/null @@ -1,13 +0,0 @@ -TARGET = sensors - -include(../shared/shared.pri) -b2qtdemo_deploy_defaults() - -content.files = \ - *.qml \ - *.png -content.path = $$DESTPATH - -OTHER_FILES += $${content.files} - -INSTALLS += target content \ No newline at end of file diff --git a/basicsuite/sensors/title.txt b/basicsuite/sensors/title.txt deleted file mode 100644 index a3a5b97..0000000 --- a/basicsuite/sensors/title.txt +++ /dev/null @@ -1 +0,0 @@ -140. Sensors Demo diff --git a/basicsuite/webengine/content/common/ddg.png b/basicsuite/webengine/content/common/ddg.png deleted file mode 100644 index 06ebe7c..0000000 Binary files a/basicsuite/webengine/content/common/ddg.png and /dev/null differ diff --git a/basicsuite/webengine/content/common/open-sans.css b/basicsuite/webengine/content/common/open-sans.css deleted file mode 100644 index 6342492..0000000 --- a/basicsuite/webengine/content/common/open-sans.css +++ /dev/null @@ -1,131 +0,0 @@ -/* Open Sans @font-face kit */ - -/* BEGIN Light */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/Light/OpenSans-Light.eot'); - src: url('opensans/Light/OpenSans-Light.eot?#iefix') format('embedded-opentype'), - url('opensans/Light/OpenSans-Light.woff') format('woff'), - url('opensans/Light/OpenSans-Light.ttf') format('truetype'), - url('opensans/Light/OpenSans-Light.svg#OpenSansLight') format('svg'); - font-weight: 300; - font-style: normal; -} -/* END Light */ - -/* BEGIN Light Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/LightItalic/OpenSans-LightItalic.eot'); - src: url('opensans/LightItalic/OpenSans-LightItalic.eot?#iefix') format('embedded-opentype'), - url('opensans/LightItalic/OpenSans-LightItalic.woff') format('woff'), - url('opensans/LightItalic/OpenSans-LightItalic.ttf') format('truetype'), - url('opensans/LightItalic/OpenSans-LightItalic.svg#OpenSansLightItalic') format('svg'); - font-weight: 300; - font-style: italic; -} -/* END Light Italic */ - -/* BEGIN Regular */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/Regular/OpenSans-Regular.eot'); - src: url('opensans/Regular/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), - url('opensans/Regular/OpenSans-Regular.woff') format('woff'), - url('opensans/Regular/OpenSans-Regular.ttf') format('truetype'), - url('opensans/Regular/OpenSans-Regular.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-style: normal; -} -/* END Regular */ - -/* BEGIN Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/Italic/OpenSans-Italic.eot'); - src: url('opensans/Italic/OpenSans-Italic.eot?#iefix') format('embedded-opentype'), - url('opensans/Italic/OpenSans-Italic.woff') format('woff'), - url('opensans/Italic/OpenSans-Italic.ttf') format('truetype'), - url('opensans/Italic/OpenSans-Italic.svg#OpenSansItalic') format('svg'); - font-weight: normal; - font-style: italic; -} -/* END Italic */ - -/* BEGIN Semibold */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/Semibold/OpenSans-Semibold.eot'); - src: url('opensans/Semibold/OpenSans-Semibold.eot?#iefix') format('embedded-opentype'), - url('opensans/Semibold/OpenSans-Semibold.woff') format('woff'), - url('opensans/Semibold/OpenSans-Semibold.ttf') format('truetype'), - url('opensans/Semibold/OpenSans-Semibold.svg#OpenSansSemibold') format('svg'); - font-weight: 600; - font-style: normal; -} -/* END Semibold */ - -/* BEGIN Semibold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/SemiboldItalic/OpenSans-SemiboldItalic.eot'); - src: url('opensans/SemiboldItalic/OpenSans-SemiboldItalic.eot?#iefix') format('embedded-opentype'), - url('opensans/SemiboldItalic/OpenSans-SemiboldItalic.woff') format('woff'), - url('opensans/SemiboldItalic/OpenSans-SemiboldItalic.ttf') format('truetype'), - url('opensans/SemiboldItalic/OpenSans-SemiboldItalic.svg#OpenSansSemiboldItalic') format('svg'); - font-weight: 600; - font-style: italic; -} -/* END Semibold Italic */ - -/* BEGIN Bold */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/Bold/OpenSans-Bold.eot'); - src: url('opensans/Bold/OpenSans-Bold.eot?#iefix') format('embedded-opentype'), - url('opensans/Bold/OpenSans-Bold.woff') format('woff'), - url('opensans/Bold/OpenSans-Bold.ttf') format('truetype'), - url('opensans/Bold/OpenSans-Bold.svg#OpenSansBold') format('svg'); - font-weight: bold; - font-style: normal; -} -/* END Bold */ - -/* BEGIN Bold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/BoldItalic/OpenSans-BoldItalic.eot'); - src: url('opensans/BoldItalic/OpenSans-BoldItalic.eot?#iefix') format('embedded-opentype'), - url('opensans/BoldItalic/OpenSans-BoldItalic.woff') format('woff'), - url('opensans/BoldItalic/OpenSans-BoldItalic.ttf') format('truetype'), - url('opensans/BoldItalic/OpenSans-BoldItalic.svg#OpenSansBoldItalic') format('svg'); - font-weight: bold; - font-style: italic; -} -/* END Bold Italic */ - -/* BEGIN Extrabold */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/ExtraBold/OpenSans-ExtraBold.eot'); - src: url('opensans/ExtraBold/OpenSans-ExtraBold.eot?#iefix') format('embedded-opentype'), - url('opensans/ExtraBold/OpenSans-ExtraBold.woff') format('woff'), - url('opensans/ExtraBold/OpenSans-ExtraBold.ttf') format('truetype'), - url('opensans/ExtraBold/OpenSans-ExtraBold.svg#OpenSansExtrabold') format('svg'); - font-weight: 800; - font-style: normal; -} -/* END Extrabold */ - -/* BEGIN Extrabold Italic */ -@font-face { - font-family: 'Open Sans'; - src: url('opensans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot'); - src: url('opensans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'), - url('opensans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff') format('woff'), - url('opensans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf') format('truetype'), - url('opensans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.svg#OpenSansExtraboldItalic') format('svg'); - font-weight: 800; - font-style: italic; -} -/* END Extrabold Italic */ diff --git a/basicsuite/webengine/content/common/opensans/Light/OpenSans-Light.woff b/basicsuite/webengine/content/common/opensans/Light/OpenSans-Light.woff deleted file mode 100644 index 937323d..0000000 Binary files a/basicsuite/webengine/content/common/opensans/Light/OpenSans-Light.woff and /dev/null differ diff --git a/basicsuite/webengine/content/common/opensans/Regular/OpenSans-Regular.woff b/basicsuite/webengine/content/common/opensans/Regular/OpenSans-Regular.woff deleted file mode 100644 index bd0f824..0000000 Binary files a/basicsuite/webengine/content/common/opensans/Regular/OpenSans-Regular.woff and /dev/null differ diff --git a/basicsuite/webengine/content/common/osm.png b/basicsuite/webengine/content/common/osm.png deleted file mode 100644 index d6390aa..0000000 Binary files a/basicsuite/webengine/content/common/osm.png and /dev/null differ diff --git a/basicsuite/webengine/content/common/qt-io.png b/basicsuite/webengine/content/common/qt-io.png deleted file mode 100644 index 1596e73..0000000 Binary files a/basicsuite/webengine/content/common/qt-io.png and /dev/null differ diff --git a/basicsuite/webengine/content/common/reddit.png b/basicsuite/webengine/content/common/reddit.png deleted file mode 100644 index 5f6aaef..0000000 Binary files a/basicsuite/webengine/content/common/reddit.png and /dev/null differ diff --git a/basicsuite/webengine/content/common/style.css b/basicsuite/webengine/content/common/style.css deleted file mode 100644 index ceecf60..0000000 --- a/basicsuite/webengine/content/common/style.css +++ /dev/null @@ -1,84 +0,0 @@ -a, a:link, a:active, a:visited { - text-decoration:none; -} - -body { - margin: 2px; - background-color: black; - font-family: "Open Sans"; - font-weight: 300; - color: white; -} - -h1 { - font-size: 56px; - font-weight: 500; - margin: 0.7em; - text-align: center; -} - -.bookmark { - margin-top: 4px; - padding-top: 9%; - padding-bottom: 2%; - -webkit-filter: grayscale(80%); - transition: -webkit-filter 0.5s; -} -.bookmark:hover { -/* -webkit-filter: none;*/ - -webkit-filter: saturate(130%); -} -.bookmark span{ - font-size: 48px; - color: #eee; - margin-left: 10%; - text-shadow: black 6px 4px 8px ; - background: rgba(160, 160, 160,0.3); - padding: 5px; - border-radius: 0.2em; -} -/* - * url(attr()) is not really such a good combo. expand by hand - */ -#qt-io { - background-image: url("qt-io.png"); - background-size: 100% auto; -} -#youtube-tv { - background-image: url("youtube-tv.png"); - background-size: 100% auto; -} -#osm { - background-image: url("osm.png"); - background-size: 100% auto; -} -#ddg { - background-image: url("ddg.png"); - background-position: 0% 25%; - background-size: 100% auto; -} -#reddit { - background-image: url("reddit.png"); - background-size: 100% auto; -} -/* Flexbox stuff */ -#links-container { - display:flex; - flex-direction: column; -} -#examples-container { - display:flex; - flex-direction: row; -} -.example { - flex-grow: 1; - transition: flex-grow 0.5s; - width: 15%; - margin:2px; -} -.example:hover { - flex-grow: 3; -} -.example_image{ - width: 100%; -} diff --git a/basicsuite/webengine/content/common/youtube-tv.png b/basicsuite/webengine/content/common/youtube-tv.png deleted file mode 100644 index 489167e..0000000 Binary files a/basicsuite/webengine/content/common/youtube-tv.png and /dev/null differ diff --git a/basicsuite/webengine/content/csstetrahedron/index.html b/basicsuite/webengine/content/csstetrahedron/index.html deleted file mode 100644 index 540890b..0000000 --- a/basicsuite/webengine/content/csstetrahedron/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - A tetrahedron built with CSS 3D transforms - - - - -
-
-
-
-
-
-
-
- - - \ No newline at end of file diff --git a/basicsuite/webengine/content/csstetrahedron/screenshot.png b/basicsuite/webengine/content/csstetrahedron/screenshot.png deleted file mode 100644 index 1c1283f..0000000 Binary files a/basicsuite/webengine/content/csstetrahedron/screenshot.png and /dev/null differ diff --git a/basicsuite/webengine/content/csstetrahedron/style.css b/basicsuite/webengine/content/csstetrahedron/style.css deleted file mode 100644 index 70d872a..0000000 --- a/basicsuite/webengine/content/csstetrahedron/style.css +++ /dev/null @@ -1,109 +0,0 @@ -#pyramid { - position: relative; - margin: 0px auto; - height: 350px; - width: 100px; - -webkit-transform-style: preserve-3d; - -webkit-animation: spin 10s linear infinite; - -webkit-transform-origin: 116px 200px 116px; - - -moz-transform-style: preserve-3d; - -moz-animation: spin 10s linear infinite; - -moz-transform-origin: 116px 200px 116px; - - -ms-transform-style: preserve-3d; - -ms-animation: spin 10s linear infinite; - -ms-transform-origin: 116px 200px 116px; - - transform-style: preserve-3d; - animation: spin 10s linear infinite; - transform-origin: 116px 200px 116px; - -} - -@-webkit-keyframes spin { - from { - -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); - } - to { - -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); - } -} - -@-moz-keyframes spin { - from { - -moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); - } - to { - -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); - } -} - -@-ms-keyframes spin { - from { - -ms-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); - } - to { - -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); - } -} - -@keyframes spin { - from { - transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); - } - to { - transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); - } -} - -#pyramid > div { - position: absolute; - border-style: solid; - border-width: 200px 0 200px 346px; - -webkit-transform-origin: 0 0; - -moz-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; -} - -/* Put some text on each face */ -#pyramid > div:after { - position: absolute; - content: "QtWebEngine"; - color: #fff; - left: -250px; - text-align: center; -} - -#pyramid > div:first-child { - border-color: transparent transparent transparent rgba(40, 150, 10, 0.6); - -webkit-transform: rotateY(-19.5deg) rotateX(180deg) translateY(-400px); - -moz-transform: rotateY(-19.5deg) rotateX(180deg) translateY(-400px); - -ms-transform: rotateY(-19.5deg) rotateX(180deg) translateY(-400px); - transform: rotateY(-19.5deg) rotateX(180deg) translateY(-400px); -} - -#pyramid > div:nth-child(2) { - border-color: transparent transparent transparent rgba(30, 120, 10, 0.6); - -webkit-transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-400px); - -moz-transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-400px); - -ms-transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-400px); - transform: rotateY(90deg) rotateZ(60deg) rotateX(180deg) translateY(-400px); -} - -#pyramid > div:nth-child(3) { - border-color: transparent transparent transparent rgba(20, 100, 10, 0.9); - -webkit-transform: rotateX(60deg) rotateY(19.5deg); - -moz-transform: rotateX(60deg) rotateY(19.5deg); - -ms-transform: rotateX(60deg) rotateY(19.5deg); - transform: rotateX(60deg) rotateY(19.5deg); -} - -#pyramid > div:nth-child(4) { - border-color: transparent transparent transparent rgba(10, 80, 10, 0.8); - -webkit-transform: rotateX(-60deg) rotateY(19.5deg) translateX(-116px) translateY(-200px) translateZ(326px); - -moz-transform: rotateX(-60deg) rotateY(19.5deg) translateX(-116px) translateY(-200px) translateZ(326px); - -ms-transform: rotateX(-60deg) rotateY(19.5deg) translateX(-116px) translateY(-200px) translateZ(326px); - transform: rotateX(-60deg) rotateY(19.5deg) translateX(-116px) translateY(-200px) translateZ(326px); -} diff --git a/basicsuite/webengine/content/index.html b/basicsuite/webengine/content/index.html deleted file mode 100644 index 9610cbf..0000000 --- a/basicsuite/webengine/content/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - Qt WebEngine Demo - - - - - -

Offline demos

-
- -
-
-
-
- - diff --git a/basicsuite/webengine/content/morphingcubes/index.html b/basicsuite/webengine/content/morphingcubes/index.html deleted file mode 100644 index a5731f1..0000000 --- a/basicsuite/webengine/content/morphingcubes/index.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - - Morphing Power Cubes - - - - - -
-

Animations, Transitions and 3D Transforms

-

This demo shows some more interesting content using 3D transforms, animations and transitions. - Note that you can still select the text on the the elements, even while they are rotating. Transforms elements remain - fully interactive.

-

Click Toggle Shape to switch between nested cubes and one big ring. Note how the planes move smoothly to their new locations, - even while the whole shape is rotating. You can even interrupt this transition by clicking again, and they move back smoothly.

-

Toggle the Backfaces Visible checkbox to turn backfaces on and off using -webkit-backface-visibility.

-
-
-
- -
-
-
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
-
-
- - - - diff --git a/basicsuite/webengine/content/morphingcubes/screenshot.png b/basicsuite/webengine/content/morphingcubes/screenshot.png deleted file mode 100644 index 9d36114..0000000 Binary files a/basicsuite/webengine/content/morphingcubes/screenshot.png and /dev/null differ diff --git a/basicsuite/webengine/content/rubiks/css/style.css b/basicsuite/webengine/content/rubiks/css/style.css deleted file mode 100644 index a636bb0..0000000 --- a/basicsuite/webengine/content/rubiks/css/style.css +++ /dev/null @@ -1,36 +0,0 @@ -html, body { - height: 100%; - margin: 0px; -} - -body { - background-color: #000; - color: white; - text-shadow: 0px 1px 1px black; - text-align: center; - font-family: sans-serif; -} - -h1 { - text-align: center; - margin-top: 0px; - padding-top: 1em; -} - -footer { - position: fixed; - text-align: center; - width: 100%; - left: 0px; - bottom: 3px; - font-size: 90%; -} - -a { - color: white; -} - -.face { - border: 2px solid black; - border-radius: 10px; -} diff --git a/basicsuite/webengine/content/rubiks/index.html b/basicsuite/webengine/content/rubiks/index.html deleted file mode 100644 index 993b523..0000000 --- a/basicsuite/webengine/content/rubiks/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - Rubik's cube :: CSS 3D Transformations demo - - - - - - - - - -

CSS 3D Rubik's cube

- - diff --git a/basicsuite/webengine/content/rubiks/js/css3.oz.js b/basicsuite/webengine/content/rubiks/js/css3.oz.js deleted file mode 100644 index d8ad6d9..0000000 --- a/basicsuite/webengine/content/rubiks/js/css3.oz.js +++ /dev/null @@ -1,28 +0,0 @@ -OZ.CSS3 = { - getProperty: function(property) { - var prefix = this.getPrefix(this._normalize(property)); - if (prefix === null) { return null; } - return (prefix ? "-" + prefix.toLowerCase() + "-" : "") + property; - }, - set: function(node, prop, value) { - prop = this._normalize(prop); - var prefix = this.getPrefix(prop); - if (prefix === null) { return false; } - var p = (prefix ? prefix + prop.charAt(0).toUpperCase() + prop.substring(1) : prop); - node.style[p] = value; - return true; - }, - getPrefix: function(property) { - var prefixes = ["", "ms", "Webkit", "O", "Moz"]; - for (var i=0;i-1;i--) { - if (i in this && this[i] === item) { return i; } - } - return -1; - } -} -if (!Array.lastIndexOf) { - Array.lastIndexOf = function(obj, item, from) { return Array.prototype.lastIndexOf.call(obj, item, from); } -} - -if (!Array.prototype.forEach) { - Array.prototype.forEach = function(cb, _this) { - var len = this.length; - for (var i=0;i 0) { - this._rotateRandom(); - } else { - OZ.Event.remove(e); - - this._help.a = OZ.DOM.elm("p", {innerHTML:"Drag or swipe the background to rotate the whole cube."}); - this._help.b = OZ.DOM.elm("p", {innerHTML:"Drag or swipe the cube to rotate its layers."}); - document.body.appendChild(this._help.a); - document.body.appendChild(this._help.b); - OZ.CSS3.set(this._help.a, "transition", "opacity 500ms"); - OZ.CSS3.set(this._help.b, "transition", "opacity 500ms"); - - } - } - var e = OZ.Event.add(null, "rotated", cb.bind(this)); - this._rotateRandom(); -} - -Rubik.prototype._rotateRandom = function() { - var method = "_rotate" + ["X", "Y", "Z"].random(); - var dir = [-1, 1].random(); - var layer = Math.floor(Math.random()*Rubik.SIZE); - this[method](dir, layer); -} - -Rubik.prototype._update = function() { - OZ.CSS3.set(this._node, "transform", "translateZ(" + (-Face.SIZE/2 - Face.SIZE) + "px) " + this._rotation.toRotation() + " translateZ("+(Face.SIZE/2)+"px)"); -} - -Rubik.prototype._eventToFace = function(e) { - if (document.elementFromPoint) { - e = (e.touches ? e.touches[0] : e); - var node = document.elementFromPoint(e.clientX, e.clientY); - } else { - var node = OZ.Event.target(e); - } - var index = this._faceNodes.indexOf(node); - if (index == -1) { return null; } - return this._faces[index]; -} - -Rubik.prototype._dragStart = function(e) { - this._faces = []; - this._faceNodes = []; - for (var i=0;i 1) { return; } - - if (this._drag.face) { /* check second face for rotation */ - var thisFace = this._eventToFace(e); - if (!thisFace || thisFace == this._drag.face) { return; } - this._dragEnd(); - this._rotate(this._drag.face, thisFace); - } else { /* rotate cube */ - e = (e.touches ? e.touches[0] : e); - var mouse = [e.clientX, e.clientY]; - var dx = mouse[0] - this._drag.mouse[0]; - var dy = mouse[1] - this._drag.mouse[1]; - var norm = Math.sqrt(dx*dx+dy*dy); - if (!norm) { return; } - var N = [-dy/norm, dx/norm]; - - this._drag.mouse = mouse; - this._rotation = Quaternion.fromRotation([N[0], N[1], 0], norm/2).multiply(this._rotation); - this._update(); - } -} - -Rubik.prototype._dragEnd = function(e) { - while (this._drag.ec.length) { OZ.Event.remove(this._drag.ec.pop()); } - - if (!this._drag.face && this._help.a) { - this._help.a.style.opacity = 0; - this._help.a = null; - } -} - -Rubik.prototype._rotate = function(face1, face2) { - var t1 = face1.getType(); - var t2 = face2.getType(); - var pos1 = face1.getCube().getPosition(); - var pos2 = face2.getCube().getPosition(); - - /* find difference between cubes */ - var diff = 0; - var diffIndex = -1; - for (var i=0;i<3;i++) { - var d = pos1[i]-pos2[i]; - if (d) { - if (diffIndex != -1) { return; } /* different in >1 dimensions */ - diff = (d > 0 ? 1 : -1); - diffIndex = i; - } - } - - if (t1 == t2) { /* same face => diffIndex != -1 */ - switch (t1) { - case Face.FRONT: - case Face.BACK: - var coef = (t1 == Face.FRONT ? 1 : -1); - if (diffIndex == 0) { this._rotateY(coef*diff, pos1[1]); } else { this._rotateX(coef*diff, pos1[0]); } - break; - - case Face.LEFT: - case Face.RIGHT: - var coef = (t1 == Face.LEFT ? 1 : -1); - if (diffIndex == 2) { this._rotateY(-coef*diff, pos1[1]); } else { this._rotateZ(coef*diff, pos1[2]); } - break; - - case Face.TOP: - case Face.BOTTOM: - var coef = (t1 == Face.TOP ? 1 : -1); - if (diffIndex == 0) { this._rotateZ(-coef*diff, pos1[2]); } else { this._rotateX(-coef*diff, pos1[0]); } - break; - } - return; - } - - switch (t1) { /* different face => same cube, diffIndex == 1 */ - case Face.FRONT: - case Face.BACK: - var coef = (t1 == Face.FRONT ? 1 : -1); - if (t2 == Face.LEFT) { this._rotateY(1 * coef, pos1[1]); } - if (t2 == Face.RIGHT) { this._rotateY(-1 * coef, pos1[1]); } - if (t2 == Face.TOP) { this._rotateX(1 * coef, pos1[0]); } - if (t2 == Face.BOTTOM) { this._rotateX(-1 * coef, pos1[0]); } - break; - - case Face.LEFT: - case Face.RIGHT: - var coef = (t1 == Face.LEFT ? 1 : -1); - if (t2 == Face.FRONT) { this._rotateY(-1 * coef, pos1[1]); } - if (t2 == Face.BACK) { this._rotateY(1 * coef, pos1[1]); } - if (t2 == Face.TOP) { this._rotateZ(1 * coef, pos1[2]); } - if (t2 == Face.BOTTOM) { this._rotateZ(-1 * coef, pos1[2]); } - break; - - case Face.TOP: - case Face.BOTTOM: - var coef = (t1 == Face.TOP ? 1 : -1); - if (t2 == Face.FRONT) { this._rotateX(-1 * coef, pos1[0]); } - if (t2 == Face.BACK) { this._rotateX(1 * coef, pos1[0]); } - if (t2 == Face.LEFT) { this._rotateZ(-1 * coef, pos1[2]); } - if (t2 == Face.RIGHT) { this._rotateZ(1 * coef, pos1[2]); } - break; - } - -} - -Rubik.prototype._rotateX = function(dir, layer) { - var cubes = []; - for (var i=0;i - - - - - - - - -
- - - - - - - - diff --git a/basicsuite/webengine/content/webgl/helloqt.js b/basicsuite/webengine/content/webgl/helloqt.js deleted file mode 100644 index b514628..0000000 --- a/basicsuite/webengine/content/webgl/helloqt.js +++ /dev/null @@ -1,223 +0,0 @@ -var shadow = false; - -var container = document.getElementById("container"); -var camera = null; -var scene; -var renderer; -var cbTexture; -var cbScene; -var cbCamera; -var cbUniforms = { - dy: { type: "f", value: 0 } -}; -var cb; -var logo; -var spotlight; - -var viewSize = { - w: 0, - h: 0, - update: function () { - viewSize.w = window.innerWidth;// / 2; - viewSize.h = window.innerHeight;// / 2; - } -}; - -var onResize = function (event) { - viewSize.update(); - if (!camera) { - camera = new THREE.PerspectiveCamera(60, viewSize.w / viewSize.h, 0.01, 100); - } else { - camera.aspect = viewSize.w / viewSize.h; - camera.updateProjectionMatrix(); - } - renderer.setSize(viewSize.w, viewSize.h); -}; - -var setupCheckerboard = function () { - cbTexture = new THREE.WebGLRenderTarget(512, 512, - { minFilter: THREE.LinearFilter, - magFilter: THREE.LinearFilter, - format: THREE.RGBFormat }); - cbScene = new THREE.Scene(); - cbCamera = new THREE.OrthographicCamera(-1, 1, 1, -1, -100, 100); - var geom = new THREE.PlaneGeometry(2, 2); - var material = new THREE.ShaderMaterial({ - uniforms: cbUniforms, - vertexShader: document.getElementById("vsChecker").textContent, - fragmentShader: document.getElementById("fsChecker").textContent - }); - var mesh = new THREE.Mesh(geom, material); - cbScene.add(mesh); -}; - -var renderCheckerboard = function () { - cbUniforms.dy.value += 0.01; - renderer.render(cbScene, cbCamera, cbTexture, true); -}; - -var generateLogo = function () { - var geom = new THREE.Geometry(); - var idx = 0; - for (var i = 0; i < qtlogo.length; i += 18) { - geom.vertices.push(new THREE.Vector3(qtlogo[i], qtlogo[i+1], qtlogo[i+2])); - var n1 = new THREE.Vector3(qtlogo[i+3], qtlogo[i+4], qtlogo[i+5]); - geom.vertices.push(new THREE.Vector3(qtlogo[i+6], qtlogo[i+7], qtlogo[i+8])); - var n2 = new THREE.Vector3(qtlogo[i+9], qtlogo[i+10], qtlogo[i+11]); - geom.vertices.push(new THREE.Vector3(qtlogo[i+12], qtlogo[i+13], qtlogo[i+14])); - var n3 = new THREE.Vector3(qtlogo[i+15], qtlogo[i+16], qtlogo[i+17]); - geom.faces.push(new THREE.Face3(idx, idx+1, idx+2, [n1, n2, n3])); - idx += 3; - } - return geom; -}; - -var setupScene = function () { - if (shadow) - renderer.shadowMapEnabled = true; - - setupCheckerboard(); - var geom = new THREE.PlaneGeometry(4, 4); - var material = new THREE.MeshPhongMaterial({ ambient: 0x060606, - color: 0x40B000, - specular: 0x03AA00, - shininess: 10, - map: cbTexture }); - cb = new THREE.Mesh(geom, material); - if (shadow) - cb.receiveShadow = true; -// cb.rotation.x = -Math.PI / 3; - scene.add(cb); - - geom = generateLogo(); - material = new THREE.MeshPhongMaterial({ ambient: 0x060606, - color: 0x40B000, - specular: 0x03AA00, - shininess: 10 }); - logo = new THREE.Mesh(geom, material); - logo.position.z = 2; - logo.rotation.x = Math.PI; - if (shadow) - logo.castShadow = true; - scene.add(logo); - - spotlight = new THREE.SpotLight(0xFFFFFF); - spotlight.position.set(0, 0.5, 4); - scene.add(spotlight); - - if (shadow) { - spotlight.castShadow = true; - spotlight.shadowCameraNear = 0.01; - spotlight.shadowCameraFar = 100; - spotlight.shadowDarkness = 0.5; - spotlight.shadowMapWidth = 1024; - spotlight.shadowMapHeight = 1024; - } - - camera.position.z = 4; -}; - -var render = function () { - requestAnimationFrame(render); - renderCheckerboard(); - renderer.render(scene, camera); - logo.rotation.y += 0.01; -}; - -var pointerState = { - x: 0, - y: 0, - active: false, - touchId: 0 -}; - -var onMouseDown = function (e) { - e.preventDefault(); - if (pointerState.active) - return; - - if (e.changedTouches) { - var t = e.changedTouches[0]; - pointerState.touchId = t.identifier; - pointerState.x = t.clientX; - pointerState.y = t.clientY; - } else { - pointerState.x = e.clientX; - pointerState.y = e.clientY; - } - pointerState.active = true; -}; - -var onMouseUp = function (e) { - e.preventDefault(); - if (!pointerState.active) - return; - - if (e.changedTouches) { - for (var i = 0; i < e.changedTouches.length; ++i) - if (e.changedTouches[i].identifier == pointerState.touchId) { - pointerState.active = false; - break; - } - } else { - pointerState.active = false; - } -}; - -var onMouseMove = function (e) { - e.preventDefault(); - if (!pointerState.active) - return; - - var x, y; - if (e.changedTouches) { - for (var i = 0; i < e.changedTouches.length; ++i) - if (e.changedTouches[i].identifier == pointerState.touchId) { - x = e.changedTouches[i].clientX; - y = e.changedTouches[i].clientY; - break; - } - } else { - x = e.clientX; - y = e.clientY; - } - if (x === undefined) - return; - - var dx = x - pointerState.x; - var dy = y - pointerState.y; - pointerState.x = x; - pointerState.y = y; - dx /= 100; - dy /= -100; - spotlight.target.position.set(spotlight.target.position.x + dx, - spotlight.target.position.y + dy, - 0); -}; - -var main = function () { - scene = new THREE.Scene(); - try { - renderer = new THREE.WebGLRenderer({ antialias: false /*true*/ }); - } catch (e) { - console.log("Could not create WebGLRenderer."); - container.innerHTML = noWebGLMessage= "
WebGLRenderer could not be created.
"; - return; - } - - container.appendChild(renderer.domElement); - onResize(); - window.addEventListener("resize", onResize); - window.addEventListener("mousedown", onMouseDown); - window.addEventListener("touchstart", onMouseDown); - window.addEventListener("mouseup", onMouseUp); - window.addEventListener("touchend", onMouseUp); - window.addEventListener("touchcancel", onMouseUp); - window.addEventListener("mousemove", onMouseMove); - window.addEventListener("touchmove", onMouseMove); - setupScene(); - render(); -}; - -main(); diff --git a/basicsuite/webengine/content/webgl/qtlogo.js b/basicsuite/webengine/content/webgl/qtlogo.js deleted file mode 100644 index e2eba96..0000000 --- a/basicsuite/webengine/content/webgl/qtlogo.js +++ /dev/null @@ -1,2468 +0,0 @@ -var qtlogo = [ -0.060000,-0.140000,-0.050000,0.000000,0.000000,-1.000000, --0.140000,0.060000,-0.050000,0.000000,0.000000,-1.000000, -0.140000,-0.060000,-0.050000,0.000000,0.000000,-1.000000, --0.060000,0.140000,-0.050000,0.000000,0.000000,-1.000000, -0.140000,-0.060000,-0.050000,0.000000,0.000000,-1.000000, --0.140000,0.060000,-0.050000,0.000000,0.000000,-1.000000, --0.140000,0.060000,0.050000,0.000000,0.000000,1.000000, -0.060000,-0.140000,0.050000,0.000000,0.000000,1.000000, -0.140000,-0.060000,0.050000,0.000000,0.000000,1.000000, -0.140000,-0.060000,0.050000,0.000000,0.000000,1.000000, --0.060000,0.140000,0.050000,0.000000,0.000000,1.000000, --0.140000,0.060000,0.050000,0.000000,0.000000,1.000000, -0.080000,0.000000,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.080000,-0.050000,0.000000,0.000000,-1.000000, -0.300000,0.220000,-0.050000,0.000000,0.000000,-1.000000, -0.220000,0.300000,-0.050000,0.000000,0.000000,-1.000000, -0.300000,0.220000,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.080000,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.080000,0.050000,0.000000,0.000000,1.000000, -0.080000,0.000000,0.050000,0.000000,0.000000,1.000000, -0.300000,0.220000,0.050000,0.000000,0.000000,1.000000, -0.300000,0.220000,0.050000,0.000000,0.000000,1.000000, -0.220000,0.300000,0.050000,0.000000,0.000000,1.000000, -0.000000,0.080000,0.050000,0.000000,0.000000,1.000000, -0.060000,-0.140000,0.050000,0.707107,-0.707107,0.000000, -0.060000,-0.140000,-0.050000,0.707107,-0.707107,0.000000, -0.140000,-0.060000,0.050000,0.707107,-0.707107,0.000000, -0.140000,-0.060000,-0.050000,0.707107,-0.707107,0.000000, -0.140000,-0.060000,0.050000,0.707107,-0.707107,0.000000, -0.060000,-0.140000,-0.050000,0.707107,-0.707107,0.000000, -0.140000,-0.060000,0.050000,0.707107,0.707107,0.000000, -0.140000,-0.060000,-0.050000,0.707107,0.707107,0.000000, --0.060000,0.140000,0.050000,0.707107,0.707107,0.000000, --0.060000,0.140000,-0.050000,0.707107,0.707107,0.000000, --0.060000,0.140000,0.050000,0.707107,0.707107,0.000000, -0.140000,-0.060000,-0.050000,0.707107,0.707107,0.000000, --0.060000,0.140000,0.050000,-0.707107,0.707107,0.000000, --0.060000,0.140000,-0.050000,-0.707107,0.707107,0.000000, --0.140000,0.060000,0.050000,-0.707107,0.707107,0.000000, --0.140000,0.060000,-0.050000,-0.707107,0.707107,0.000000, --0.140000,0.060000,0.050000,-0.707107,0.707107,0.000000, --0.060000,0.140000,-0.050000,-0.707107,0.707107,0.000000, --0.140000,0.060000,0.050000,-0.707107,-0.707107,0.000000, --0.140000,0.060000,-0.050000,-0.707107,-0.707107,0.000000, -0.060000,-0.140000,0.050000,-0.707107,-0.707107,0.000000, -0.060000,-0.140000,-0.050000,-0.707107,-0.707107,0.000000, -0.060000,-0.140000,0.050000,-0.707107,-0.707107,0.000000, --0.140000,0.060000,-0.050000,-0.707107,-0.707107,0.000000, -0.080000,0.000000,0.050000,0.707107,-0.707107,0.000000, -0.080000,0.000000,-0.050000,0.707107,-0.707107,0.000000, -0.300000,0.220000,0.050000,0.707107,-0.707107,0.000000, -0.300000,0.220000,-0.050000,0.707107,-0.707107,0.000000, -0.300000,0.220000,0.050000,0.707107,-0.707107,0.000000, -0.080000,0.000000,-0.050000,0.707107,-0.707107,0.000000, -0.300000,0.220000,0.050000,0.707107,0.707107,0.000000, -0.300000,0.220000,-0.050000,0.707107,0.707107,0.000000, -0.220000,0.300000,0.050000,0.707107,0.707107,0.000000, -0.220000,0.300000,-0.050000,0.707107,0.707107,0.000000, -0.220000,0.300000,0.050000,0.707107,0.707107,0.000000, -0.300000,0.220000,-0.050000,0.707107,0.707107,0.000000, -0.220000,0.300000,0.050000,-0.707107,0.707107,0.000000, -0.220000,0.300000,-0.050000,-0.707107,0.707107,0.000000, -0.000000,0.080000,0.050000,-0.707107,0.707107,0.000000, -0.000000,0.080000,-0.050000,-0.707107,0.707107,0.000000, -0.000000,0.080000,0.050000,-0.707107,0.707107,0.000000, -0.220000,0.300000,-0.050000,-0.707107,0.707107,0.000000, -0.000000,0.300000,-0.050000,0.000000,0.000000,-1.000000, -0.018837,0.299408,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.200000,-0.050000,0.000000,0.000000,-1.000000, -0.012558,0.199605,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.200000,-0.050000,0.000000,0.000000,-1.000000, -0.018837,0.299408,-0.050000,0.000000,0.000000,-1.000000, -0.018837,0.299408,0.050000,0.000000,0.000000,1.000000, -0.000000,0.300000,0.050000,0.000000,0.000000,1.000000, -0.000000,0.200000,0.050000,0.000000,0.000000,1.000000, -0.000000,0.200000,0.050000,0.000000,0.000000,1.000000, -0.012558,0.199605,0.050000,0.000000,0.000000,1.000000, -0.018837,0.299408,0.050000,0.000000,0.000000,1.000000, -0.000000,0.200000,0.050000,-0.031411,-0.999507,0.000000, -0.000000,0.200000,-0.050000,-0.031411,-0.999507,0.000000, -0.012558,0.199605,0.050000,-0.031411,-0.999507,0.000000, -0.012558,0.199605,-0.050000,-0.031411,-0.999507,0.000000, -0.012558,0.199605,0.050000,-0.031411,-0.999507,0.000000, -0.000000,0.200000,-0.050000,-0.031411,-0.999507,0.000000, -0.018837,0.299408,0.050000,0.031411,0.999507,0.000000, -0.018837,0.299408,-0.050000,0.031411,0.999507,0.000000, -0.000000,0.300000,0.050000,0.031411,0.999507,0.000000, -0.000000,0.300000,-0.050000,0.031411,0.999507,0.000000, -0.000000,0.300000,0.050000,0.031411,0.999507,0.000000, -0.018837,0.299408,-0.050000,0.031411,0.999507,0.000000, -0.018837,0.299408,-0.050000,0.000000,0.000000,-1.000000, -0.037600,0.297634,-0.050000,0.000000,0.000000,-1.000000, -0.012558,0.199605,-0.050000,0.000000,0.000000,-1.000000, -0.025067,0.198423,-0.050000,0.000000,0.000000,-1.000000, -0.012558,0.199605,-0.050000,0.000000,0.000000,-1.000000, -0.037600,0.297634,-0.050000,0.000000,0.000000,-1.000000, -0.037600,0.297634,0.050000,0.000000,0.000000,1.000000, -0.018837,0.299408,0.050000,0.000000,0.000000,1.000000, -0.012558,0.199605,0.050000,0.000000,0.000000,1.000000, -0.012558,0.199605,0.050000,0.000000,0.000000,1.000000, -0.025067,0.198423,0.050000,0.000000,0.000000,1.000000, -0.037600,0.297634,0.050000,0.000000,0.000000,1.000000, -0.012558,0.199605,0.050000,-0.094107,-0.995562,0.000000, -0.012558,0.199605,-0.050000,-0.094107,-0.995562,0.000000, -0.025067,0.198423,0.050000,-0.094107,-0.995562,0.000000, -0.025067,0.198423,-0.050000,-0.094107,-0.995562,0.000000, -0.025067,0.198423,0.050000,-0.094107,-0.995562,0.000000, -0.012558,0.199605,-0.050000,-0.094107,-0.995562,0.000000, -0.037600,0.297634,0.050000,0.094108,0.995562,0.000000, -0.037600,0.297634,-0.050000,0.094108,0.995562,0.000000, -0.018837,0.299408,0.050000,0.094108,0.995562,0.000000, -0.018837,0.299408,-0.050000,0.094108,0.995562,0.000000, -0.018837,0.299408,0.050000,0.094108,0.995562,0.000000, -0.037600,0.297634,-0.050000,0.094108,0.995562,0.000000, -0.037600,0.297634,-0.050000,0.000000,0.000000,-1.000000, -0.056214,0.294686,-0.050000,0.000000,0.000000,-1.000000, -0.025067,0.198423,-0.050000,0.000000,0.000000,-1.000000, -0.037476,0.196457,-0.050000,0.000000,0.000000,-1.000000, -0.025067,0.198423,-0.050000,0.000000,0.000000,-1.000000, -0.056214,0.294686,-0.050000,0.000000,0.000000,-1.000000, -0.056214,0.294686,0.050000,0.000000,0.000000,1.000000, -0.037600,0.297634,0.050000,0.000000,0.000000,1.000000, -0.025067,0.198423,0.050000,0.000000,0.000000,1.000000, -0.025067,0.198423,0.050000,0.000000,0.000000,1.000000, -0.037476,0.196457,0.050000,0.000000,0.000000,1.000000, -0.056214,0.294686,0.050000,0.000000,0.000000,1.000000, -0.025067,0.198423,0.050000,-0.156436,-0.987688,0.000000, -0.025067,0.198423,-0.050000,-0.156436,-0.987688,0.000000, -0.037476,0.196457,0.050000,-0.156436,-0.987688,0.000000, -0.037476,0.196457,-0.050000,-0.156436,-0.987688,0.000000, -0.037476,0.196457,0.050000,-0.156436,-0.987688,0.000000, -0.025067,0.198423,-0.050000,-0.156436,-0.987688,0.000000, -0.056214,0.294686,0.050000,0.156435,0.987688,0.000000, -0.056214,0.294686,-0.050000,0.156435,0.987688,0.000000, -0.037600,0.297634,0.050000,0.156435,0.987688,0.000000, -0.037600,0.297634,-0.050000,0.156435,0.987688,0.000000, -0.037600,0.297634,0.050000,0.156435,0.987688,0.000000, -0.056214,0.294686,-0.050000,0.156435,0.987688,0.000000, -0.056214,0.294686,-0.050000,0.000000,0.000000,-1.000000, -0.074607,0.290575,-0.050000,0.000000,0.000000,-1.000000, -0.037476,0.196457,-0.050000,0.000000,0.000000,-1.000000, -0.049738,0.193717,-0.050000,0.000000,0.000000,-1.000000, -0.037476,0.196457,-0.050000,0.000000,0.000000,-1.000000, -0.074607,0.290575,-0.050000,0.000000,0.000000,-1.000000, -0.074607,0.290575,0.050000,0.000000,0.000000,1.000000, -0.056214,0.294686,0.050000,0.000000,0.000000,1.000000, -0.037476,0.196457,0.050000,0.000000,0.000000,1.000000, -0.037476,0.196457,0.050000,0.000000,0.000000,1.000000, -0.049738,0.193717,0.050000,0.000000,0.000000,1.000000, -0.074607,0.290575,0.050000,0.000000,0.000000,1.000000, -0.037476,0.196457,0.050000,-0.218143,-0.975917,0.000000, -0.037476,0.196457,-0.050000,-0.218143,-0.975917,0.000000, -0.049738,0.193717,0.050000,-0.218143,-0.975917,0.000000, -0.049738,0.193717,-0.050000,-0.218143,-0.975917,0.000000, -0.049738,0.193717,0.050000,-0.218143,-0.975917,0.000000, -0.037476,0.196457,-0.050000,-0.218143,-0.975917,0.000000, -0.074607,0.290575,0.050000,0.218142,0.975917,0.000000, -0.074607,0.290575,-0.050000,0.218142,0.975917,0.000000, -0.056214,0.294686,0.050000,0.218142,0.975917,0.000000, -0.056214,0.294686,-0.050000,0.218142,0.975917,0.000000, -0.056214,0.294686,0.050000,0.218142,0.975917,0.000000, -0.074607,0.290575,-0.050000,0.218142,0.975917,0.000000, -0.074607,0.290575,-0.050000,0.000000,0.000000,-1.000000, -0.092705,0.285317,-0.050000,0.000000,0.000000,-1.000000, -0.049738,0.193717,-0.050000,0.000000,0.000000,-1.000000, -0.061803,0.190211,-0.050000,0.000000,0.000000,-1.000000, -0.049738,0.193717,-0.050000,0.000000,0.000000,-1.000000, -0.092705,0.285317,-0.050000,0.000000,0.000000,-1.000000, -0.092705,0.285317,0.050000,0.000000,0.000000,1.000000, -0.074607,0.290575,0.050000,0.000000,0.000000,1.000000, -0.049738,0.193717,0.050000,0.000000,0.000000,1.000000, -0.049738,0.193717,0.050000,0.000000,0.000000,1.000000, -0.061803,0.190211,0.050000,0.000000,0.000000,1.000000, -0.092705,0.285317,0.050000,0.000000,0.000000,1.000000, -0.049738,0.193717,0.050000,-0.278990,-0.960294,0.000000, -0.049738,0.193717,-0.050000,-0.278990,-0.960294,0.000000, -0.061803,0.190211,0.050000,-0.278990,-0.960294,0.000000, -0.061803,0.190211,-0.050000,-0.278990,-0.960294,0.000000, -0.061803,0.190211,0.050000,-0.278990,-0.960294,0.000000, -0.049738,0.193717,-0.050000,-0.278990,-0.960294,0.000000, -0.092705,0.285317,0.050000,0.278991,0.960294,0.000000, -0.092705,0.285317,-0.050000,0.278991,0.960294,0.000000, -0.074607,0.290575,0.050000,0.278991,0.960294,0.000000, -0.074607,0.290575,-0.050000,0.278991,0.960294,0.000000, -0.074607,0.290575,0.050000,0.278991,0.960294,0.000000, -0.092705,0.285317,-0.050000,0.278991,0.960294,0.000000, -0.092705,0.285317,-0.050000,0.000000,0.000000,-1.000000, -0.110437,0.278933,-0.050000,0.000000,0.000000,-1.000000, -0.061803,0.190211,-0.050000,0.000000,0.000000,-1.000000, -0.073625,0.185955,-0.050000,0.000000,0.000000,-1.000000, -0.061803,0.190211,-0.050000,0.000000,0.000000,-1.000000, -0.110437,0.278933,-0.050000,0.000000,0.000000,-1.000000, -0.110437,0.278933,0.050000,0.000000,0.000000,1.000000, -0.092705,0.285317,0.050000,0.000000,0.000000,1.000000, -0.061803,0.190211,0.050000,0.000000,0.000000,1.000000, -0.061803,0.190211,0.050000,0.000000,0.000000,1.000000, -0.073625,0.185955,0.050000,0.000000,0.000000,1.000000, -0.110437,0.278933,0.050000,0.000000,0.000000,1.000000, -0.061803,0.190211,0.050000,-0.338738,-0.940881,0.000000, -0.061803,0.190211,-0.050000,-0.338738,-0.940881,0.000000, -0.073625,0.185955,0.050000,-0.338738,-0.940881,0.000000, -0.073625,0.185955,-0.050000,-0.338738,-0.940881,0.000000, -0.073625,0.185955,0.050000,-0.338738,-0.940881,0.000000, -0.061803,0.190211,-0.050000,-0.338738,-0.940881,0.000000, -0.110437,0.278933,0.050000,0.338738,0.940881,0.000000, -0.110437,0.278933,-0.050000,0.338738,0.940881,0.000000, -0.092705,0.285317,0.050000,0.338738,0.940881,0.000000, -0.092705,0.285317,-0.050000,0.338738,0.940881,0.000000, -0.092705,0.285317,0.050000,0.338738,0.940881,0.000000, -0.110437,0.278933,-0.050000,0.338738,0.940881,0.000000, -0.110437,0.278933,-0.050000,0.000000,0.000000,-1.000000, -0.127734,0.271448,-0.050000,0.000000,0.000000,-1.000000, -0.073625,0.185955,-0.050000,0.000000,0.000000,-1.000000, -0.085156,0.180965,-0.050000,0.000000,0.000000,-1.000000, -0.073625,0.185955,-0.050000,0.000000,0.000000,-1.000000, -0.127734,0.271448,-0.050000,0.000000,0.000000,-1.000000, -0.127734,0.271448,0.050000,0.000000,0.000000,1.000000, -0.110437,0.278933,0.050000,0.000000,0.000000,1.000000, -0.073625,0.185955,0.050000,0.000000,0.000000,1.000000, -0.073625,0.185955,0.050000,0.000000,0.000000,1.000000, -0.085156,0.180965,0.050000,0.000000,0.000000,1.000000, -0.127734,0.271448,0.050000,0.000000,0.000000,1.000000, -0.073625,0.185955,0.050000,-0.397148,-0.917754,0.000000, -0.073625,0.185955,-0.050000,-0.397148,-0.917754,0.000000, -0.085156,0.180965,0.050000,-0.397148,-0.917754,0.000000, -0.085156,0.180965,-0.050000,-0.397148,-0.917754,0.000000, -0.085156,0.180965,0.050000,-0.397148,-0.917754,0.000000, -0.073625,0.185955,-0.050000,-0.397148,-0.917754,0.000000, -0.127734,0.271448,0.050000,0.397148,0.917755,0.000000, -0.127734,0.271448,-0.050000,0.397148,0.917755,0.000000, -0.110437,0.278933,0.050000,0.397148,0.917755,0.000000, -0.110437,0.278933,-0.050000,0.397148,0.917755,0.000000, -0.110437,0.278933,0.050000,0.397148,0.917755,0.000000, -0.127734,0.271448,-0.050000,0.397148,0.917755,0.000000, -0.127734,0.271448,-0.050000,0.000000,0.000000,-1.000000, -0.144526,0.262892,-0.050000,0.000000,0.000000,-1.000000, -0.085156,0.180965,-0.050000,0.000000,0.000000,-1.000000, -0.096351,0.175261,-0.050000,0.000000,0.000000,-1.000000, -0.085156,0.180965,-0.050000,0.000000,0.000000,-1.000000, -0.144526,0.262892,-0.050000,0.000000,0.000000,-1.000000, -0.144526,0.262892,0.050000,0.000000,0.000000,1.000000, -0.127734,0.271448,0.050000,0.000000,0.000000,1.000000, -0.085156,0.180965,0.050000,0.000000,0.000000,1.000000, -0.085156,0.180965,0.050000,0.000000,0.000000,1.000000, -0.096351,0.175261,0.050000,0.000000,0.000000,1.000000, -0.144526,0.262892,0.050000,0.000000,0.000000,1.000000, -0.085156,0.180965,0.050000,-0.453990,-0.891007,0.000000, -0.085156,0.180965,-0.050000,-0.453990,-0.891007,0.000000, -0.096351,0.175261,0.050000,-0.453990,-0.891007,0.000000, -0.096351,0.175261,-0.050000,-0.453990,-0.891007,0.000000, -0.096351,0.175261,0.050000,-0.453990,-0.891007,0.000000, -0.085156,0.180965,-0.050000,-0.453990,-0.891007,0.000000, -0.144526,0.262892,0.050000,0.453991,0.891006,0.000000, -0.144526,0.262892,-0.050000,0.453991,0.891006,0.000000, -0.127734,0.271448,0.050000,0.453991,0.891006,0.000000, -0.127734,0.271448,-0.050000,0.453991,0.891006,0.000000, -0.127734,0.271448,0.050000,0.453991,0.891006,0.000000, -0.144526,0.262892,-0.050000,0.453991,0.891006,0.000000, -0.144526,0.262892,-0.050000,0.000000,0.000000,-1.000000, -0.160748,0.253298,-0.050000,0.000000,0.000000,-1.000000, -0.096351,0.175261,-0.050000,0.000000,0.000000,-1.000000, -0.107165,0.168866,-0.050000,0.000000,0.000000,-1.000000, -0.096351,0.175261,-0.050000,0.000000,0.000000,-1.000000, -0.160748,0.253298,-0.050000,0.000000,0.000000,-1.000000, -0.160748,0.253298,0.050000,0.000000,0.000000,1.000000, -0.144526,0.262892,0.050000,0.000000,0.000000,1.000000, -0.096351,0.175261,0.050000,0.000000,0.000000,1.000000, -0.096351,0.175261,0.050000,0.000000,0.000000,1.000000, -0.107165,0.168866,0.050000,0.000000,0.000000,1.000000, -0.160748,0.253298,0.050000,0.000000,0.000000,1.000000, -0.096351,0.175261,0.050000,-0.509041,-0.860742,0.000000, -0.096351,0.175261,-0.050000,-0.509041,-0.860742,0.000000, -0.107165,0.168866,0.050000,-0.509041,-0.860742,0.000000, -0.107165,0.168866,-0.050000,-0.509041,-0.860742,0.000000, -0.107165,0.168866,0.050000,-0.509041,-0.860742,0.000000, -0.096351,0.175261,-0.050000,-0.509041,-0.860742,0.000000, -0.160748,0.253298,0.050000,0.509041,0.860742,0.000000, -0.160748,0.253298,-0.050000,0.509041,0.860742,0.000000, -0.144526,0.262892,0.050000,0.509041,0.860742,0.000000, -0.144526,0.262892,-0.050000,0.509041,0.860742,0.000000, -0.144526,0.262892,0.050000,0.509041,0.860742,0.000000, -0.160748,0.253298,-0.050000,0.509041,0.860742,0.000000, -0.160748,0.253298,-0.050000,0.000000,0.000000,-1.000000, -0.176336,0.242705,-0.050000,0.000000,0.000000,-1.000000, -0.107165,0.168866,-0.050000,0.000000,0.000000,-1.000000, -0.117557,0.161803,-0.050000,0.000000,0.000000,-1.000000, -0.107165,0.168866,-0.050000,0.000000,0.000000,-1.000000, -0.176336,0.242705,-0.050000,0.000000,0.000000,-1.000000, -0.176336,0.242705,0.050000,0.000000,0.000000,1.000000, -0.160748,0.253298,0.050000,0.000000,0.000000,1.000000, -0.107165,0.168866,0.050000,0.000000,0.000000,1.000000, -0.107165,0.168866,0.050000,0.000000,0.000000,1.000000, -0.117557,0.161803,0.050000,0.000000,0.000000,1.000000, -0.176336,0.242705,0.050000,0.000000,0.000000,1.000000, -0.107165,0.168866,0.050000,-0.562083,-0.827081,0.000000, -0.107165,0.168866,-0.050000,-0.562083,-0.827081,0.000000, -0.117557,0.161803,0.050000,-0.562083,-0.827081,0.000000, -0.117557,0.161803,-0.050000,-0.562083,-0.827081,0.000000, -0.117557,0.161803,0.050000,-0.562083,-0.827081,0.000000, -0.107165,0.168866,-0.050000,-0.562083,-0.827081,0.000000, -0.176336,0.242705,0.050000,0.562084,0.827080,0.000000, -0.176336,0.242705,-0.050000,0.562084,0.827080,0.000000, -0.160748,0.253298,0.050000,0.562084,0.827080,0.000000, -0.160748,0.253298,-0.050000,0.562084,0.827080,0.000000, -0.160748,0.253298,0.050000,0.562084,0.827080,0.000000, -0.176336,0.242705,-0.050000,0.562084,0.827080,0.000000, -0.176336,0.242705,-0.050000,0.000000,0.000000,-1.000000, -0.191227,0.231154,-0.050000,0.000000,0.000000,-1.000000, -0.117557,0.161803,-0.050000,0.000000,0.000000,-1.000000, -0.127485,0.154103,-0.050000,0.000000,0.000000,-1.000000, -0.117557,0.161803,-0.050000,0.000000,0.000000,-1.000000, -0.191227,0.231154,-0.050000,0.000000,0.000000,-1.000000, -0.191227,0.231154,0.050000,0.000000,0.000000,1.000000, -0.176336,0.242705,0.050000,0.000000,0.000000,1.000000, -0.117557,0.161803,0.050000,0.000000,0.000000,1.000000, -0.117557,0.161803,0.050000,0.000000,0.000000,1.000000, -0.127485,0.154103,0.050000,0.000000,0.000000,1.000000, -0.191227,0.231154,0.050000,0.000000,0.000000,1.000000, -0.117557,0.161803,0.050000,-0.612907,-0.790155,0.000000, -0.117557,0.161803,-0.050000,-0.612907,-0.790155,0.000000, -0.127485,0.154103,0.050000,-0.612907,-0.790155,0.000000, -0.127485,0.154103,-0.050000,-0.612907,-0.790155,0.000000, -0.127485,0.154103,0.050000,-0.612907,-0.790155,0.000000, -0.117557,0.161803,-0.050000,-0.612907,-0.790155,0.000000, -0.191227,0.231154,0.050000,0.612907,0.790155,0.000000, -0.191227,0.231154,-0.050000,0.612907,0.790155,0.000000, -0.176336,0.242705,0.050000,0.612907,0.790155,0.000000, -0.176336,0.242705,-0.050000,0.612907,0.790155,0.000000, -0.176336,0.242705,0.050000,0.612907,0.790155,0.000000, -0.191227,0.231154,-0.050000,0.612907,0.790155,0.000000, -0.191227,0.231154,-0.050000,0.000000,0.000000,-1.000000, -0.205364,0.218691,-0.050000,0.000000,0.000000,-1.000000, -0.127485,0.154103,-0.050000,0.000000,0.000000,-1.000000, -0.136909,0.145794,-0.050000,0.000000,0.000000,-1.000000, -0.127485,0.154103,-0.050000,0.000000,0.000000,-1.000000, -0.205364,0.218691,-0.050000,0.000000,0.000000,-1.000000, -0.205364,0.218691,0.050000,0.000000,0.000000,1.000000, -0.191227,0.231154,0.050000,0.000000,0.000000,1.000000, -0.127485,0.154103,0.050000,0.000000,0.000000,1.000000, -0.127485,0.154103,0.050000,0.000000,0.000000,1.000000, -0.136909,0.145794,0.050000,0.000000,0.000000,1.000000, -0.205364,0.218691,0.050000,0.000000,0.000000,1.000000, -0.127485,0.154103,0.050000,-0.661312,-0.750111,0.000000, -0.127485,0.154103,-0.050000,-0.661312,-0.750111,0.000000, -0.136909,0.145794,0.050000,-0.661312,-0.750111,0.000000, -0.136909,0.145794,-0.050000,-0.661312,-0.750111,0.000000, -0.136909,0.145794,0.050000,-0.661312,-0.750111,0.000000, -0.127485,0.154103,-0.050000,-0.661312,-0.750111,0.000000, -0.205364,0.218691,0.050000,0.661312,0.750111,0.000000, -0.205364,0.218691,-0.050000,0.661312,0.750111,0.000000, -0.191227,0.231154,0.050000,0.661312,0.750111,0.000000, -0.191227,0.231154,-0.050000,0.661312,0.750111,0.000000, -0.191227,0.231154,0.050000,0.661312,0.750111,0.000000, -0.205364,0.218691,-0.050000,0.661312,0.750111,0.000000, -0.205364,0.218691,-0.050000,0.000000,0.000000,-1.000000, -0.218691,0.205364,-0.050000,0.000000,0.000000,-1.000000, -0.136909,0.145794,-0.050000,0.000000,0.000000,-1.000000, -0.145794,0.136909,-0.050000,0.000000,0.000000,-1.000000, -0.136909,0.145794,-0.050000,0.000000,0.000000,-1.000000, -0.218691,0.205364,-0.050000,0.000000,0.000000,-1.000000, -0.218691,0.205364,0.050000,0.000000,0.000000,1.000000, -0.205364,0.218691,0.050000,0.000000,0.000000,1.000000, -0.136909,0.145794,0.050000,0.000000,0.000000,1.000000, -0.136909,0.145794,0.050000,0.000000,0.000000,1.000000, -0.145794,0.136909,0.050000,0.000000,0.000000,1.000000, -0.218691,0.205364,0.050000,0.000000,0.000000,1.000000, -0.136909,0.145794,0.050000,-0.707107,-0.707107,0.000000, -0.136909,0.145794,-0.050000,-0.707107,-0.707107,0.000000, -0.145794,0.136909,0.050000,-0.707107,-0.707107,0.000000, -0.145794,0.136909,-0.050000,-0.707107,-0.707107,0.000000, -0.145794,0.136909,0.050000,-0.707107,-0.707107,0.000000, -0.136909,0.145794,-0.050000,-0.707107,-0.707107,0.000000, -0.218691,0.205364,0.050000,0.707107,0.707107,0.000000, -0.218691,0.205364,-0.050000,0.707107,0.707107,0.000000, -0.205364,0.218691,0.050000,0.707107,0.707107,0.000000, -0.205364,0.218691,-0.050000,0.707107,0.707107,0.000000, -0.205364,0.218691,0.050000,0.707107,0.707107,0.000000, -0.218691,0.205364,-0.050000,0.707107,0.707107,0.000000, -0.218691,0.205364,-0.050000,0.000000,0.000000,-1.000000, -0.231154,0.191227,-0.050000,0.000000,0.000000,-1.000000, -0.145794,0.136909,-0.050000,0.000000,0.000000,-1.000000, -0.154103,0.127485,-0.050000,0.000000,0.000000,-1.000000, -0.145794,0.136909,-0.050000,0.000000,0.000000,-1.000000, -0.231154,0.191227,-0.050000,0.000000,0.000000,-1.000000, -0.231154,0.191227,0.050000,0.000000,0.000000,1.000000, -0.218691,0.205364,0.050000,0.000000,0.000000,1.000000, -0.145794,0.136909,0.050000,0.000000,0.000000,1.000000, -0.145794,0.136909,0.050000,0.000000,0.000000,1.000000, -0.154103,0.127485,0.050000,0.000000,0.000000,1.000000, -0.231154,0.191227,0.050000,0.000000,0.000000,1.000000, -0.145794,0.136909,0.050000,-0.750111,-0.661312,0.000000, -0.145794,0.136909,-0.050000,-0.750111,-0.661312,0.000000, -0.154103,0.127485,0.050000,-0.750111,-0.661312,0.000000, -0.154103,0.127485,-0.050000,-0.750111,-0.661312,0.000000, -0.154103,0.127485,0.050000,-0.750111,-0.661312,0.000000, -0.145794,0.136909,-0.050000,-0.750111,-0.661312,0.000000, -0.231154,0.191227,0.050000,0.750111,0.661312,0.000000, -0.231154,0.191227,-0.050000,0.750111,0.661312,0.000000, -0.218691,0.205364,0.050000,0.750111,0.661312,0.000000, -0.218691,0.205364,-0.050000,0.750111,0.661312,0.000000, -0.218691,0.205364,0.050000,0.750111,0.661312,0.000000, -0.231154,0.191227,-0.050000,0.750111,0.661312,0.000000, -0.231154,0.191227,-0.050000,0.000000,0.000000,-1.000000, -0.242705,0.176336,-0.050000,0.000000,0.000000,-1.000000, -0.154103,0.127485,-0.050000,0.000000,0.000000,-1.000000, -0.161803,0.117557,-0.050000,0.000000,0.000000,-1.000000, -0.154103,0.127485,-0.050000,0.000000,0.000000,-1.000000, -0.242705,0.176336,-0.050000,0.000000,0.000000,-1.000000, -0.242705,0.176336,0.050000,0.000000,0.000000,1.000000, -0.231154,0.191227,0.050000,0.000000,0.000000,1.000000, -0.154103,0.127485,0.050000,0.000000,0.000000,1.000000, -0.154103,0.127485,0.050000,0.000000,0.000000,1.000000, -0.161803,0.117557,0.050000,0.000000,0.000000,1.000000, -0.242705,0.176336,0.050000,0.000000,0.000000,1.000000, -0.154103,0.127485,0.050000,-0.790155,-0.612907,0.000000, -0.154103,0.127485,-0.050000,-0.790155,-0.612907,0.000000, -0.161803,0.117557,0.050000,-0.790155,-0.612907,0.000000, -0.161803,0.117557,-0.050000,-0.790155,-0.612907,0.000000, -0.161803,0.117557,0.050000,-0.790155,-0.612907,0.000000, -0.154103,0.127485,-0.050000,-0.790155,-0.612907,0.000000, -0.242705,0.176336,0.050000,0.790155,0.612907,0.000000, -0.242705,0.176336,-0.050000,0.790155,0.612907,0.000000, -0.231154,0.191227,0.050000,0.790155,0.612907,0.000000, -0.231154,0.191227,-0.050000,0.790155,0.612907,0.000000, -0.231154,0.191227,0.050000,0.790155,0.612907,0.000000, -0.242705,0.176336,-0.050000,0.790155,0.612907,0.000000, -0.242705,0.176336,-0.050000,0.000000,0.000000,-1.000000, -0.253298,0.160748,-0.050000,0.000000,0.000000,-1.000000, -0.161803,0.117557,-0.050000,0.000000,0.000000,-1.000000, -0.168866,0.107165,-0.050000,0.000000,0.000000,-1.000000, -0.161803,0.117557,-0.050000,0.000000,0.000000,-1.000000, -0.253298,0.160748,-0.050000,0.000000,0.000000,-1.000000, -0.253298,0.160748,0.050000,0.000000,0.000000,1.000000, -0.242705,0.176336,0.050000,0.000000,0.000000,1.000000, -0.161803,0.117557,0.050000,0.000000,0.000000,1.000000, -0.161803,0.117557,0.050000,0.000000,0.000000,1.000000, -0.168866,0.107165,0.050000,0.000000,0.000000,1.000000, -0.253298,0.160748,0.050000,0.000000,0.000000,1.000000, -0.161803,0.117557,0.050000,-0.827081,-0.562083,0.000000, -0.161803,0.117557,-0.050000,-0.827081,-0.562083,0.000000, -0.168866,0.107165,0.050000,-0.827081,-0.562083,0.000000, -0.168866,0.107165,-0.050000,-0.827081,-0.562083,0.000000, -0.168866,0.107165,0.050000,-0.827081,-0.562083,0.000000, -0.161803,0.117557,-0.050000,-0.827081,-0.562083,0.000000, -0.253298,0.160748,0.050000,0.827080,0.562084,0.000000, -0.253298,0.160748,-0.050000,0.827080,0.562084,0.000000, -0.242705,0.176336,0.050000,0.827080,0.562084,0.000000, -0.242705,0.176336,-0.050000,0.827080,0.562084,0.000000, -0.242705,0.176336,0.050000,0.827080,0.562084,0.000000, -0.253298,0.160748,-0.050000,0.827080,0.562084,0.000000, -0.253298,0.160748,-0.050000,0.000000,0.000000,-1.000000, -0.262892,0.144526,-0.050000,0.000000,0.000000,-1.000000, -0.168866,0.107165,-0.050000,0.000000,0.000000,-1.000000, -0.175261,0.096351,-0.050000,0.000000,0.000000,-1.000000, -0.168866,0.107165,-0.050000,0.000000,0.000000,-1.000000, -0.262892,0.144526,-0.050000,0.000000,0.000000,-1.000000, -0.262892,0.144526,0.050000,0.000000,0.000000,1.000000, -0.253298,0.160748,0.050000,0.000000,0.000000,1.000000, -0.168866,0.107165,0.050000,0.000000,0.000000,1.000000, -0.168866,0.107165,0.050000,0.000000,0.000000,1.000000, -0.175261,0.096351,0.050000,0.000000,0.000000,1.000000, -0.262892,0.144526,0.050000,0.000000,0.000000,1.000000, -0.168866,0.107165,0.050000,-0.860742,-0.509041,0.000000, -0.168866,0.107165,-0.050000,-0.860742,-0.509041,0.000000, -0.175261,0.096351,0.050000,-0.860742,-0.509041,0.000000, -0.175261,0.096351,-0.050000,-0.860742,-0.509041,0.000000, -0.175261,0.096351,0.050000,-0.860742,-0.509041,0.000000, -0.168866,0.107165,-0.050000,-0.860742,-0.509041,0.000000, -0.262892,0.144526,0.050000,0.860742,0.509041,0.000000, -0.262892,0.144526,-0.050000,0.860742,0.509041,0.000000, -0.253298,0.160748,0.050000,0.860742,0.509041,0.000000, -0.253298,0.160748,-0.050000,0.860742,0.509041,0.000000, -0.253298,0.160748,0.050000,0.860742,0.509041,0.000000, -0.262892,0.144526,-0.050000,0.860742,0.509041,0.000000, -0.262892,0.144526,-0.050000,0.000000,0.000000,-1.000000, -0.271448,0.127734,-0.050000,0.000000,0.000000,-1.000000, -0.175261,0.096351,-0.050000,0.000000,0.000000,-1.000000, -0.180965,0.085156,-0.050000,0.000000,0.000000,-1.000000, -0.175261,0.096351,-0.050000,0.000000,0.000000,-1.000000, -0.271448,0.127734,-0.050000,0.000000,0.000000,-1.000000, -0.271448,0.127734,0.050000,0.000000,0.000000,1.000000, -0.262892,0.144526,0.050000,0.000000,0.000000,1.000000, -0.175261,0.096351,0.050000,0.000000,0.000000,1.000000, -0.175261,0.096351,0.050000,0.000000,0.000000,1.000000, -0.180965,0.085156,0.050000,0.000000,0.000000,1.000000, -0.271448,0.127734,0.050000,0.000000,0.000000,1.000000, -0.175261,0.096351,0.050000,-0.891007,-0.453991,0.000000, -0.175261,0.096351,-0.050000,-0.891007,-0.453991,0.000000, -0.180965,0.085156,0.050000,-0.891007,-0.453991,0.000000, -0.180965,0.085156,-0.050000,-0.891007,-0.453991,0.000000, -0.180965,0.085156,0.050000,-0.891007,-0.453991,0.000000, -0.175261,0.096351,-0.050000,-0.891007,-0.453991,0.000000, -0.271448,0.127734,0.050000,0.891006,0.453991,0.000000, -0.271448,0.127734,-0.050000,0.891006,0.453991,0.000000, -0.262892,0.144526,0.050000,0.891006,0.453991,0.000000, -0.262892,0.144526,-0.050000,0.891006,0.453991,0.000000, -0.262892,0.144526,0.050000,0.891006,0.453991,0.000000, -0.271448,0.127734,-0.050000,0.891006,0.453991,0.000000, -0.271448,0.127734,-0.050000,0.000000,0.000000,-1.000000, -0.278933,0.110437,-0.050000,0.000000,0.000000,-1.000000, -0.180965,0.085156,-0.050000,0.000000,0.000000,-1.000000, -0.185955,0.073625,-0.050000,0.000000,0.000000,-1.000000, -0.180965,0.085156,-0.050000,0.000000,0.000000,-1.000000, -0.278933,0.110437,-0.050000,0.000000,0.000000,-1.000000, -0.278933,0.110437,0.050000,0.000000,0.000000,1.000000, -0.271448,0.127734,0.050000,0.000000,0.000000,1.000000, -0.180965,0.085156,0.050000,0.000000,0.000000,1.000000, -0.180965,0.085156,0.050000,0.000000,0.000000,1.000000, -0.185955,0.073625,0.050000,0.000000,0.000000,1.000000, -0.278933,0.110437,0.050000,0.000000,0.000000,1.000000, -0.180965,0.085156,0.050000,-0.917755,-0.397148,0.000000, -0.180965,0.085156,-0.050000,-0.917755,-0.397148,0.000000, -0.185955,0.073625,0.050000,-0.917755,-0.397148,0.000000, -0.185955,0.073625,-0.050000,-0.917755,-0.397148,0.000000, -0.185955,0.073625,0.050000,-0.917755,-0.397148,0.000000, -0.180965,0.085156,-0.050000,-0.917755,-0.397148,0.000000, -0.278933,0.110437,0.050000,0.917755,0.397148,0.000000, -0.278933,0.110437,-0.050000,0.917755,0.397148,0.000000, -0.271448,0.127734,0.050000,0.917755,0.397148,0.000000, -0.271448,0.127734,-0.050000,0.917755,0.397148,0.000000, -0.271448,0.127734,0.050000,0.917755,0.397148,0.000000, -0.278933,0.110437,-0.050000,0.917755,0.397148,0.000000, -0.278933,0.110437,-0.050000,0.000000,0.000000,-1.000000, -0.285317,0.092705,-0.050000,0.000000,0.000000,-1.000000, -0.185955,0.073625,-0.050000,0.000000,0.000000,-1.000000, -0.190211,0.061803,-0.050000,0.000000,0.000000,-1.000000, -0.185955,0.073625,-0.050000,0.000000,0.000000,-1.000000, -0.285317,0.092705,-0.050000,0.000000,0.000000,-1.000000, -0.285317,0.092705,0.050000,0.000000,0.000000,1.000000, -0.278933,0.110437,0.050000,0.000000,0.000000,1.000000, -0.185955,0.073625,0.050000,0.000000,0.000000,1.000000, -0.185955,0.073625,0.050000,0.000000,0.000000,1.000000, -0.190211,0.061803,0.050000,0.000000,0.000000,1.000000, -0.285317,0.092705,0.050000,0.000000,0.000000,1.000000, -0.185955,0.073625,0.050000,-0.940881,-0.338738,0.000000, -0.185955,0.073625,-0.050000,-0.940881,-0.338738,0.000000, -0.190211,0.061803,0.050000,-0.940881,-0.338738,0.000000, -0.190211,0.061803,-0.050000,-0.940881,-0.338738,0.000000, -0.190211,0.061803,0.050000,-0.940881,-0.338738,0.000000, -0.185955,0.073625,-0.050000,-0.940881,-0.338738,0.000000, -0.285317,0.092705,0.050000,0.940881,0.338738,0.000000, -0.285317,0.092705,-0.050000,0.940881,0.338738,0.000000, -0.278933,0.110437,0.050000,0.940881,0.338738,0.000000, -0.278933,0.110437,-0.050000,0.940881,0.338738,0.000000, -0.278933,0.110437,0.050000,0.940881,0.338738,0.000000, -0.285317,0.092705,-0.050000,0.940881,0.338738,0.000000, -0.285317,0.092705,-0.050000,0.000000,0.000000,-1.000000, -0.290575,0.074607,-0.050000,0.000000,0.000000,-1.000000, -0.190211,0.061803,-0.050000,0.000000,0.000000,-1.000000, -0.193717,0.049738,-0.050000,0.000000,0.000000,-1.000000, -0.190211,0.061803,-0.050000,0.000000,0.000000,-1.000000, -0.290575,0.074607,-0.050000,0.000000,0.000000,-1.000000, -0.290575,0.074607,0.050000,0.000000,0.000000,1.000000, -0.285317,0.092705,0.050000,0.000000,0.000000,1.000000, -0.190211,0.061803,0.050000,0.000000,0.000000,1.000000, -0.190211,0.061803,0.050000,0.000000,0.000000,1.000000, -0.193717,0.049738,0.050000,0.000000,0.000000,1.000000, -0.290575,0.074607,0.050000,0.000000,0.000000,1.000000, -0.190211,0.061803,0.050000,-0.960294,-0.278991,0.000000, -0.190211,0.061803,-0.050000,-0.960294,-0.278991,0.000000, -0.193717,0.049738,0.050000,-0.960294,-0.278991,0.000000, -0.193717,0.049738,-0.050000,-0.960294,-0.278991,0.000000, -0.193717,0.049738,0.050000,-0.960294,-0.278991,0.000000, -0.190211,0.061803,-0.050000,-0.960294,-0.278991,0.000000, -0.290575,0.074607,0.050000,0.960294,0.278991,0.000000, -0.290575,0.074607,-0.050000,0.960294,0.278991,0.000000, -0.285317,0.092705,0.050000,0.960294,0.278991,0.000000, -0.285317,0.092705,-0.050000,0.960294,0.278991,0.000000, -0.285317,0.092705,0.050000,0.960294,0.278991,0.000000, -0.290575,0.074607,-0.050000,0.960294,0.278991,0.000000, -0.290575,0.074607,-0.050000,0.000000,0.000000,-1.000000, -0.294686,0.056214,-0.050000,0.000000,0.000000,-1.000000, -0.193717,0.049738,-0.050000,0.000000,0.000000,-1.000000, -0.196457,0.037476,-0.050000,0.000000,0.000000,-1.000000, -0.193717,0.049738,-0.050000,0.000000,0.000000,-1.000000, -0.294686,0.056214,-0.050000,0.000000,0.000000,-1.000000, -0.294686,0.056214,0.050000,0.000000,0.000000,1.000000, -0.290575,0.074607,0.050000,0.000000,0.000000,1.000000, -0.193717,0.049738,0.050000,0.000000,0.000000,1.000000, -0.193717,0.049738,0.050000,0.000000,0.000000,1.000000, -0.196457,0.037476,0.050000,0.000000,0.000000,1.000000, -0.294686,0.056214,0.050000,0.000000,0.000000,1.000000, -0.193717,0.049738,0.050000,-0.975917,-0.218143,0.000000, -0.193717,0.049738,-0.050000,-0.975917,-0.218143,0.000000, -0.196457,0.037476,0.050000,-0.975917,-0.218143,0.000000, -0.196457,0.037476,-0.050000,-0.975917,-0.218143,0.000000, -0.196457,0.037476,0.050000,-0.975917,-0.218143,0.000000, -0.193717,0.049738,-0.050000,-0.975917,-0.218143,0.000000, -0.294686,0.056214,0.050000,0.975917,0.218142,0.000000, -0.294686,0.056214,-0.050000,0.975917,0.218142,0.000000, -0.290575,0.074607,0.050000,0.975917,0.218142,0.000000, -0.290575,0.074607,-0.050000,0.975917,0.218142,0.000000, -0.290575,0.074607,0.050000,0.975917,0.218142,0.000000, -0.294686,0.056214,-0.050000,0.975917,0.218142,0.000000, -0.294686,0.056214,-0.050000,0.000000,0.000000,-1.000000, -0.297634,0.037600,-0.050000,0.000000,0.000000,-1.000000, -0.196457,0.037476,-0.050000,0.000000,0.000000,-1.000000, -0.198423,0.025067,-0.050000,0.000000,0.000000,-1.000000, -0.196457,0.037476,-0.050000,0.000000,0.000000,-1.000000, -0.297634,0.037600,-0.050000,0.000000,0.000000,-1.000000, -0.297634,0.037600,0.050000,0.000000,0.000000,1.000000, -0.294686,0.056214,0.050000,0.000000,0.000000,1.000000, -0.196457,0.037476,0.050000,0.000000,0.000000,1.000000, -0.196457,0.037476,0.050000,0.000000,0.000000,1.000000, -0.198423,0.025067,0.050000,0.000000,0.000000,1.000000, -0.297634,0.037600,0.050000,0.000000,0.000000,1.000000, -0.196457,0.037476,0.050000,-0.987688,-0.156436,0.000000, -0.196457,0.037476,-0.050000,-0.987688,-0.156436,0.000000, -0.198423,0.025067,0.050000,-0.987688,-0.156436,0.000000, -0.198423,0.025067,-0.050000,-0.987688,-0.156436,0.000000, -0.198423,0.025067,0.050000,-0.987688,-0.156436,0.000000, -0.196457,0.037476,-0.050000,-0.987688,-0.156436,0.000000, -0.297634,0.037600,0.050000,0.987688,0.156435,0.000000, -0.297634,0.037600,-0.050000,0.987688,0.156435,0.000000, -0.294686,0.056214,0.050000,0.987688,0.156435,0.000000, -0.294686,0.056214,-0.050000,0.987688,0.156435,0.000000, -0.294686,0.056214,0.050000,0.987688,0.156435,0.000000, -0.297634,0.037600,-0.050000,0.987688,0.156435,0.000000, -0.297634,0.037600,-0.050000,0.000000,0.000000,-1.000000, -0.299408,0.018837,-0.050000,0.000000,0.000000,-1.000000, -0.198423,0.025067,-0.050000,0.000000,0.000000,-1.000000, -0.199605,0.012558,-0.050000,0.000000,0.000000,-1.000000, -0.198423,0.025067,-0.050000,0.000000,0.000000,-1.000000, -0.299408,0.018837,-0.050000,0.000000,0.000000,-1.000000, -0.299408,0.018837,0.050000,0.000000,0.000000,1.000000, -0.297634,0.037600,0.050000,0.000000,0.000000,1.000000, -0.198423,0.025067,0.050000,0.000000,0.000000,1.000000, -0.198423,0.025067,0.050000,0.000000,0.000000,1.000000, -0.199605,0.012558,0.050000,0.000000,0.000000,1.000000, -0.299408,0.018837,0.050000,0.000000,0.000000,1.000000, -0.198423,0.025067,0.050000,-0.995562,-0.094107,0.000000, -0.198423,0.025067,-0.050000,-0.995562,-0.094107,0.000000, -0.199605,0.012558,0.050000,-0.995562,-0.094107,0.000000, -0.199605,0.012558,-0.050000,-0.995562,-0.094107,0.000000, -0.199605,0.012558,0.050000,-0.995562,-0.094107,0.000000, -0.198423,0.025067,-0.050000,-0.995562,-0.094107,0.000000, -0.299408,0.018837,0.050000,0.995562,0.094108,0.000000, -0.299408,0.018837,-0.050000,0.995562,0.094108,0.000000, -0.297634,0.037600,0.050000,0.995562,0.094108,0.000000, -0.297634,0.037600,-0.050000,0.995562,0.094108,0.000000, -0.297634,0.037600,0.050000,0.995562,0.094108,0.000000, -0.299408,0.018837,-0.050000,0.995562,0.094108,0.000000, -0.299408,0.018837,-0.050000,0.000000,0.000000,-1.000000, -0.300000,-0.000000,-0.050000,0.000000,0.000000,-1.000000, -0.199605,0.012558,-0.050000,0.000000,0.000000,-1.000000, -0.200000,-0.000000,-0.050000,0.000000,0.000000,-1.000000, -0.199605,0.012558,-0.050000,0.000000,0.000000,-1.000000, -0.300000,-0.000000,-0.050000,0.000000,0.000000,-1.000000, -0.300000,-0.000000,0.050000,0.000000,0.000000,1.000000, -0.299408,0.018837,0.050000,0.000000,0.000000,1.000000, -0.199605,0.012558,0.050000,0.000000,0.000000,1.000000, -0.199605,0.012558,0.050000,0.000000,0.000000,1.000000, -0.200000,-0.000000,0.050000,0.000000,0.000000,1.000000, -0.300000,-0.000000,0.050000,0.000000,0.000000,1.000000, -0.199605,0.012558,0.050000,-0.999507,-0.031411,0.000000, -0.199605,0.012558,-0.050000,-0.999507,-0.031411,0.000000, -0.200000,-0.000000,0.050000,-0.999507,-0.031411,0.000000, -0.200000,-0.000000,-0.050000,-0.999507,-0.031411,0.000000, -0.200000,-0.000000,0.050000,-0.999507,-0.031411,0.000000, -0.199605,0.012558,-0.050000,-0.999507,-0.031411,0.000000, -0.300000,-0.000000,0.050000,0.999507,0.031411,0.000000, -0.300000,-0.000000,-0.050000,0.999507,0.031411,0.000000, -0.299408,0.018837,0.050000,0.999507,0.031411,0.000000, -0.299408,0.018837,-0.050000,0.999507,0.031411,0.000000, -0.299408,0.018837,0.050000,0.999507,0.031411,0.000000, -0.300000,-0.000000,-0.050000,0.999507,0.031411,0.000000, -0.300000,-0.000000,-0.050000,0.000000,0.000000,-1.000000, -0.299408,-0.018837,-0.050000,0.000000,0.000000,-1.000000, -0.200000,-0.000000,-0.050000,0.000000,0.000000,-1.000000, -0.199605,-0.012558,-0.050000,0.000000,0.000000,-1.000000, -0.200000,-0.000000,-0.050000,0.000000,0.000000,-1.000000, -0.299408,-0.018837,-0.050000,0.000000,0.000000,-1.000000, -0.299408,-0.018837,0.050000,0.000000,0.000000,1.000000, -0.300000,-0.000000,0.050000,0.000000,0.000000,1.000000, -0.200000,-0.000000,0.050000,0.000000,0.000000,1.000000, -0.200000,-0.000000,0.050000,0.000000,0.000000,1.000000, -0.199605,-0.012558,0.050000,0.000000,0.000000,1.000000, -0.299408,-0.018837,0.050000,0.000000,0.000000,1.000000, -0.200000,-0.000000,0.050000,-0.999507,0.031411,0.000000, -0.200000,-0.000000,-0.050000,-0.999507,0.031411,0.000000, -0.199605,-0.012558,0.050000,-0.999507,0.031411,0.000000, -0.199605,-0.012558,-0.050000,-0.999507,0.031411,0.000000, -0.199605,-0.012558,0.050000,-0.999507,0.031411,0.000000, -0.200000,-0.000000,-0.050000,-0.999507,0.031411,0.000000, -0.299408,-0.018837,0.050000,0.999507,-0.031411,0.000000, -0.299408,-0.018837,-0.050000,0.999507,-0.031411,0.000000, -0.300000,-0.000000,0.050000,0.999507,-0.031411,0.000000, -0.300000,-0.000000,-0.050000,0.999507,-0.031411,0.000000, -0.300000,-0.000000,0.050000,0.999507,-0.031411,0.000000, -0.299408,-0.018837,-0.050000,0.999507,-0.031411,0.000000, -0.299408,-0.018837,-0.050000,0.000000,0.000000,-1.000000, -0.297634,-0.037600,-0.050000,0.000000,0.000000,-1.000000, -0.199605,-0.012558,-0.050000,0.000000,0.000000,-1.000000, -0.198423,-0.025067,-0.050000,0.000000,0.000000,-1.000000, -0.199605,-0.012558,-0.050000,0.000000,0.000000,-1.000000, -0.297634,-0.037600,-0.050000,0.000000,0.000000,-1.000000, -0.297634,-0.037600,0.050000,0.000000,0.000000,1.000000, -0.299408,-0.018837,0.050000,0.000000,0.000000,1.000000, -0.199605,-0.012558,0.050000,0.000000,0.000000,1.000000, -0.199605,-0.012558,0.050000,0.000000,0.000000,1.000000, -0.198423,-0.025067,0.050000,0.000000,0.000000,1.000000, -0.297634,-0.037600,0.050000,0.000000,0.000000,1.000000, -0.199605,-0.012558,0.050000,-0.995562,0.094107,0.000000, -0.199605,-0.012558,-0.050000,-0.995562,0.094107,0.000000, -0.198423,-0.025067,0.050000,-0.995562,0.094107,0.000000, -0.198423,-0.025067,-0.050000,-0.995562,0.094107,0.000000, -0.198423,-0.025067,0.050000,-0.995562,0.094107,0.000000, -0.199605,-0.012558,-0.050000,-0.995562,0.094107,0.000000, -0.297634,-0.037600,0.050000,0.995562,-0.094108,0.000000, -0.297634,-0.037600,-0.050000,0.995562,-0.094108,0.000000, -0.299408,-0.018837,0.050000,0.995562,-0.094108,0.000000, -0.299408,-0.018837,-0.050000,0.995562,-0.094108,0.000000, -0.299408,-0.018837,0.050000,0.995562,-0.094108,0.000000, -0.297634,-0.037600,-0.050000,0.995562,-0.094108,0.000000, -0.297634,-0.037600,-0.050000,0.000000,0.000000,-1.000000, -0.294686,-0.056214,-0.050000,0.000000,0.000000,-1.000000, -0.198423,-0.025067,-0.050000,0.000000,0.000000,-1.000000, -0.196457,-0.037476,-0.050000,0.000000,0.000000,-1.000000, -0.198423,-0.025067,-0.050000,0.000000,0.000000,-1.000000, -0.294686,-0.056214,-0.050000,0.000000,0.000000,-1.000000, -0.294686,-0.056214,0.050000,0.000000,0.000000,1.000000, -0.297634,-0.037600,0.050000,0.000000,0.000000,1.000000, -0.198423,-0.025067,0.050000,0.000000,0.000000,1.000000, -0.198423,-0.025067,0.050000,0.000000,0.000000,1.000000, -0.196457,-0.037476,0.050000,0.000000,0.000000,1.000000, -0.294686,-0.056214,0.050000,0.000000,0.000000,1.000000, -0.198423,-0.025067,0.050000,-0.987688,0.156436,0.000000, -0.198423,-0.025067,-0.050000,-0.987688,0.156436,0.000000, -0.196457,-0.037476,0.050000,-0.987688,0.156436,0.000000, -0.196457,-0.037476,-0.050000,-0.987688,0.156436,0.000000, -0.196457,-0.037476,0.050000,-0.987688,0.156436,0.000000, -0.198423,-0.025067,-0.050000,-0.987688,0.156436,0.000000, -0.294686,-0.056214,0.050000,0.987688,-0.156435,0.000000, -0.294686,-0.056214,-0.050000,0.987688,-0.156435,0.000000, -0.297634,-0.037600,0.050000,0.987688,-0.156435,0.000000, -0.297634,-0.037600,-0.050000,0.987688,-0.156435,0.000000, -0.297634,-0.037600,0.050000,0.987688,-0.156435,0.000000, -0.294686,-0.056214,-0.050000,0.987688,-0.156435,0.000000, -0.294686,-0.056214,-0.050000,0.000000,0.000000,-1.000000, -0.290575,-0.074607,-0.050000,0.000000,0.000000,-1.000000, -0.196457,-0.037476,-0.050000,0.000000,0.000000,-1.000000, -0.193717,-0.049738,-0.050000,0.000000,0.000000,-1.000000, -0.196457,-0.037476,-0.050000,0.000000,0.000000,-1.000000, -0.290575,-0.074607,-0.050000,0.000000,0.000000,-1.000000, -0.290575,-0.074607,0.050000,0.000000,0.000000,1.000000, -0.294686,-0.056214,0.050000,0.000000,0.000000,1.000000, -0.196457,-0.037476,0.050000,0.000000,0.000000,1.000000, -0.196457,-0.037476,0.050000,0.000000,0.000000,1.000000, -0.193717,-0.049738,0.050000,0.000000,0.000000,1.000000, -0.290575,-0.074607,0.050000,0.000000,0.000000,1.000000, -0.196457,-0.037476,0.050000,-0.975917,0.218143,0.000000, -0.196457,-0.037476,-0.050000,-0.975917,0.218143,0.000000, -0.193717,-0.049738,0.050000,-0.975917,0.218143,0.000000, -0.193717,-0.049738,-0.050000,-0.975917,0.218143,0.000000, -0.193717,-0.049738,0.050000,-0.975917,0.218143,0.000000, -0.196457,-0.037476,-0.050000,-0.975917,0.218143,0.000000, -0.290575,-0.074607,0.050000,0.975917,-0.218142,0.000000, -0.290575,-0.074607,-0.050000,0.975917,-0.218142,0.000000, -0.294686,-0.056214,0.050000,0.975917,-0.218142,0.000000, -0.294686,-0.056214,-0.050000,0.975917,-0.218142,0.000000, -0.294686,-0.056214,0.050000,0.975917,-0.218142,0.000000, -0.290575,-0.074607,-0.050000,0.975917,-0.218142,0.000000, -0.290575,-0.074607,-0.050000,0.000000,0.000000,-1.000000, -0.285317,-0.092705,-0.050000,0.000000,0.000000,-1.000000, -0.193717,-0.049738,-0.050000,0.000000,0.000000,-1.000000, -0.190211,-0.061803,-0.050000,0.000000,0.000000,-1.000000, -0.193717,-0.049738,-0.050000,0.000000,0.000000,-1.000000, -0.285317,-0.092705,-0.050000,0.000000,0.000000,-1.000000, -0.285317,-0.092705,0.050000,0.000000,0.000000,1.000000, -0.290575,-0.074607,0.050000,0.000000,0.000000,1.000000, -0.193717,-0.049738,0.050000,0.000000,0.000000,1.000000, -0.193717,-0.049738,0.050000,0.000000,0.000000,1.000000, -0.190211,-0.061803,0.050000,0.000000,0.000000,1.000000, -0.285317,-0.092705,0.050000,0.000000,0.000000,1.000000, -0.193717,-0.049738,0.050000,-0.960294,0.278991,0.000000, -0.193717,-0.049738,-0.050000,-0.960294,0.278991,0.000000, -0.190211,-0.061803,0.050000,-0.960294,0.278991,0.000000, -0.190211,-0.061803,-0.050000,-0.960294,0.278991,0.000000, -0.190211,-0.061803,0.050000,-0.960294,0.278991,0.000000, -0.193717,-0.049738,-0.050000,-0.960294,0.278991,0.000000, -0.285317,-0.092705,0.050000,0.960293,-0.278993,0.000000, -0.285317,-0.092705,-0.050000,0.960293,-0.278993,0.000000, -0.290575,-0.074607,0.050000,0.960293,-0.278993,0.000000, -0.290575,-0.074607,-0.050000,0.960293,-0.278993,0.000000, -0.290575,-0.074607,0.050000,0.960293,-0.278993,0.000000, -0.285317,-0.092705,-0.050000,0.960293,-0.278993,0.000000, -0.285317,-0.092705,-0.050000,0.000000,0.000000,-1.000000, -0.278933,-0.110437,-0.050000,0.000000,0.000000,-1.000000, -0.190211,-0.061803,-0.050000,0.000000,0.000000,-1.000000, -0.185955,-0.073625,-0.050000,0.000000,0.000000,-1.000000, -0.190211,-0.061803,-0.050000,0.000000,0.000000,-1.000000, -0.278933,-0.110437,-0.050000,0.000000,0.000000,-1.000000, -0.278933,-0.110437,0.050000,0.000000,0.000000,1.000000, -0.285317,-0.092705,0.050000,0.000000,0.000000,1.000000, -0.190211,-0.061803,0.050000,0.000000,0.000000,1.000000, -0.190211,-0.061803,0.050000,0.000000,0.000000,1.000000, -0.185955,-0.073625,0.050000,0.000000,0.000000,1.000000, -0.278933,-0.110437,0.050000,0.000000,0.000000,1.000000, -0.190211,-0.061803,0.050000,-0.940881,0.338738,0.000000, -0.190211,-0.061803,-0.050000,-0.940881,0.338738,0.000000, -0.185955,-0.073625,0.050000,-0.940881,0.338738,0.000000, -0.185955,-0.073625,-0.050000,-0.940881,0.338738,0.000000, -0.185955,-0.073625,0.050000,-0.940881,0.338738,0.000000, -0.190211,-0.061803,-0.050000,-0.940881,0.338738,0.000000, -0.278933,-0.110437,0.050000,0.940881,-0.338737,0.000000, -0.278933,-0.110437,-0.050000,0.940881,-0.338737,0.000000, -0.285317,-0.092705,0.050000,0.940881,-0.338737,0.000000, -0.285317,-0.092705,-0.050000,0.940881,-0.338737,0.000000, -0.285317,-0.092705,0.050000,0.940881,-0.338737,0.000000, -0.278933,-0.110437,-0.050000,0.940881,-0.338737,0.000000, -0.278933,-0.110437,-0.050000,0.000000,0.000000,-1.000000, -0.271448,-0.127734,-0.050000,0.000000,0.000000,-1.000000, -0.185955,-0.073625,-0.050000,0.000000,0.000000,-1.000000, -0.180965,-0.085156,-0.050000,0.000000,0.000000,-1.000000, -0.185955,-0.073625,-0.050000,0.000000,0.000000,-1.000000, -0.271448,-0.127734,-0.050000,0.000000,0.000000,-1.000000, -0.271448,-0.127734,0.050000,0.000000,0.000000,1.000000, -0.278933,-0.110437,0.050000,0.000000,0.000000,1.000000, -0.185955,-0.073625,0.050000,0.000000,0.000000,1.000000, -0.185955,-0.073625,0.050000,0.000000,0.000000,1.000000, -0.180965,-0.085156,0.050000,0.000000,0.000000,1.000000, -0.271448,-0.127734,0.050000,0.000000,0.000000,1.000000, -0.185955,-0.073625,0.050000,-0.917755,0.397148,0.000000, -0.185955,-0.073625,-0.050000,-0.917755,0.397148,0.000000, -0.180965,-0.085156,0.050000,-0.917755,0.397148,0.000000, -0.180965,-0.085156,-0.050000,-0.917755,0.397148,0.000000, -0.180965,-0.085156,0.050000,-0.917755,0.397148,0.000000, -0.185955,-0.073625,-0.050000,-0.917755,0.397148,0.000000, -0.271448,-0.127734,0.050000,0.917754,-0.397148,0.000000, -0.271448,-0.127734,-0.050000,0.917754,-0.397148,0.000000, -0.278933,-0.110437,0.050000,0.917754,-0.397148,0.000000, -0.278933,-0.110437,-0.050000,0.917754,-0.397148,0.000000, -0.278933,-0.110437,0.050000,0.917754,-0.397148,0.000000, -0.271448,-0.127734,-0.050000,0.917754,-0.397148,0.000000, -0.271448,-0.127734,-0.050000,0.000000,0.000000,-1.000000, -0.262892,-0.144526,-0.050000,0.000000,0.000000,-1.000000, -0.180965,-0.085156,-0.050000,0.000000,0.000000,-1.000000, -0.175261,-0.096351,-0.050000,0.000000,0.000000,-1.000000, -0.180965,-0.085156,-0.050000,0.000000,0.000000,-1.000000, -0.262892,-0.144526,-0.050000,0.000000,0.000000,-1.000000, -0.262892,-0.144526,0.050000,0.000000,0.000000,1.000000, -0.271448,-0.127734,0.050000,0.000000,0.000000,1.000000, -0.180965,-0.085156,0.050000,0.000000,0.000000,1.000000, -0.180965,-0.085156,0.050000,0.000000,0.000000,1.000000, -0.175261,-0.096351,0.050000,0.000000,0.000000,1.000000, -0.262892,-0.144526,0.050000,0.000000,0.000000,1.000000, -0.180965,-0.085156,0.050000,-0.891007,0.453991,0.000000, -0.180965,-0.085156,-0.050000,-0.891007,0.453991,0.000000, -0.175261,-0.096351,0.050000,-0.891007,0.453991,0.000000, -0.175261,-0.096351,-0.050000,-0.891007,0.453991,0.000000, -0.175261,-0.096351,0.050000,-0.891007,0.453991,0.000000, -0.180965,-0.085156,-0.050000,-0.891007,0.453991,0.000000, -0.262892,-0.144526,0.050000,0.891007,-0.453990,0.000000, -0.262892,-0.144526,-0.050000,0.891007,-0.453990,0.000000, -0.271448,-0.127734,0.050000,0.891007,-0.453990,0.000000, -0.271448,-0.127734,-0.050000,0.891007,-0.453990,0.000000, -0.271448,-0.127734,0.050000,0.891007,-0.453990,0.000000, -0.262892,-0.144526,-0.050000,0.891007,-0.453990,0.000000, -0.262892,-0.144526,-0.050000,0.000000,0.000000,-1.000000, -0.253298,-0.160748,-0.050000,0.000000,0.000000,-1.000000, -0.175261,-0.096351,-0.050000,0.000000,0.000000,-1.000000, -0.168866,-0.107165,-0.050000,0.000000,0.000000,-1.000000, -0.175261,-0.096351,-0.050000,0.000000,0.000000,-1.000000, -0.253298,-0.160748,-0.050000,0.000000,0.000000,-1.000000, -0.253298,-0.160748,0.050000,0.000000,0.000000,1.000000, -0.262892,-0.144526,0.050000,0.000000,0.000000,1.000000, -0.175261,-0.096351,0.050000,0.000000,0.000000,1.000000, -0.175261,-0.096351,0.050000,0.000000,0.000000,1.000000, -0.168866,-0.107165,0.050000,0.000000,0.000000,1.000000, -0.253298,-0.160748,0.050000,0.000000,0.000000,1.000000, -0.175261,-0.096351,0.050000,-0.860742,0.509041,0.000000, -0.175261,-0.096351,-0.050000,-0.860742,0.509041,0.000000, -0.168866,-0.107165,0.050000,-0.860742,0.509041,0.000000, -0.168866,-0.107165,-0.050000,-0.860742,0.509041,0.000000, -0.168866,-0.107165,0.050000,-0.860742,0.509041,0.000000, -0.175261,-0.096351,-0.050000,-0.860742,0.509041,0.000000, -0.253298,-0.160748,0.050000,0.860742,-0.509041,0.000000, -0.253298,-0.160748,-0.050000,0.860742,-0.509041,0.000000, -0.262892,-0.144526,0.050000,0.860742,-0.509041,0.000000, -0.262892,-0.144526,-0.050000,0.860742,-0.509041,0.000000, -0.262892,-0.144526,0.050000,0.860742,-0.509041,0.000000, -0.253298,-0.160748,-0.050000,0.860742,-0.509041,0.000000, -0.253298,-0.160748,-0.050000,0.000000,0.000000,-1.000000, -0.242705,-0.176336,-0.050000,0.000000,0.000000,-1.000000, -0.168866,-0.107165,-0.050000,0.000000,0.000000,-1.000000, -0.161803,-0.117557,-0.050000,0.000000,0.000000,-1.000000, -0.168866,-0.107165,-0.050000,0.000000,0.000000,-1.000000, -0.242705,-0.176336,-0.050000,0.000000,0.000000,-1.000000, -0.242705,-0.176336,0.050000,0.000000,0.000000,1.000000, -0.253298,-0.160748,0.050000,0.000000,0.000000,1.000000, -0.168866,-0.107165,0.050000,0.000000,0.000000,1.000000, -0.168866,-0.107165,0.050000,0.000000,0.000000,1.000000, -0.161803,-0.117557,0.050000,0.000000,0.000000,1.000000, -0.242705,-0.176336,0.050000,0.000000,0.000000,1.000000, -0.168866,-0.107165,0.050000,-0.827080,0.562084,0.000000, -0.168866,-0.107165,-0.050000,-0.827080,0.562084,0.000000, -0.161803,-0.117557,0.050000,-0.827080,0.562084,0.000000, -0.161803,-0.117557,-0.050000,-0.827080,0.562084,0.000000, -0.161803,-0.117557,0.050000,-0.827080,0.562084,0.000000, -0.168866,-0.107165,-0.050000,-0.827080,0.562084,0.000000, -0.242705,-0.176336,0.050000,0.827080,-0.562084,0.000000, -0.242705,-0.176336,-0.050000,0.827080,-0.562084,0.000000, -0.253298,-0.160748,0.050000,0.827080,-0.562084,0.000000, -0.253298,-0.160748,-0.050000,0.827080,-0.562084,0.000000, -0.253298,-0.160748,0.050000,0.827080,-0.562084,0.000000, -0.242705,-0.176336,-0.050000,0.827080,-0.562084,0.000000, -0.242705,-0.176336,-0.050000,0.000000,0.000000,-1.000000, -0.231154,-0.191227,-0.050000,0.000000,0.000000,-1.000000, -0.161803,-0.117557,-0.050000,0.000000,0.000000,-1.000000, -0.154103,-0.127485,-0.050000,0.000000,0.000000,-1.000000, -0.161803,-0.117557,-0.050000,0.000000,0.000000,-1.000000, -0.231154,-0.191227,-0.050000,0.000000,0.000000,-1.000000, -0.231154,-0.191227,0.050000,0.000000,0.000000,1.000000, -0.242705,-0.176336,0.050000,0.000000,0.000000,1.000000, -0.161803,-0.117557,0.050000,0.000000,0.000000,1.000000, -0.161803,-0.117557,0.050000,0.000000,0.000000,1.000000, -0.154103,-0.127485,0.050000,0.000000,0.000000,1.000000, -0.231154,-0.191227,0.050000,0.000000,0.000000,1.000000, -0.161803,-0.117557,0.050000,-0.790155,0.612907,0.000000, -0.161803,-0.117557,-0.050000,-0.790155,0.612907,0.000000, -0.154103,-0.127485,0.050000,-0.790155,0.612907,0.000000, -0.154103,-0.127485,-0.050000,-0.790155,0.612907,0.000000, -0.154103,-0.127485,0.050000,-0.790155,0.612907,0.000000, -0.161803,-0.117557,-0.050000,-0.790155,0.612907,0.000000, -0.231154,-0.191227,0.050000,0.790156,-0.612906,0.000000, -0.231154,-0.191227,-0.050000,0.790156,-0.612906,0.000000, -0.242705,-0.176336,0.050000,0.790156,-0.612906,0.000000, -0.242705,-0.176336,-0.050000,0.790156,-0.612906,0.000000, -0.242705,-0.176336,0.050000,0.790156,-0.612906,0.000000, -0.231154,-0.191227,-0.050000,0.790156,-0.612906,0.000000, -0.231154,-0.191227,-0.050000,0.000000,0.000000,-1.000000, -0.218691,-0.205364,-0.050000,0.000000,0.000000,-1.000000, -0.154103,-0.127485,-0.050000,0.000000,0.000000,-1.000000, -0.145794,-0.136909,-0.050000,0.000000,0.000000,-1.000000, -0.154103,-0.127485,-0.050000,0.000000,0.000000,-1.000000, -0.218691,-0.205364,-0.050000,0.000000,0.000000,-1.000000, -0.218691,-0.205364,0.050000,0.000000,0.000000,1.000000, -0.231154,-0.191227,0.050000,0.000000,0.000000,1.000000, -0.154103,-0.127485,0.050000,0.000000,0.000000,1.000000, -0.154103,-0.127485,0.050000,0.000000,0.000000,1.000000, -0.145794,-0.136909,0.050000,0.000000,0.000000,1.000000, -0.218691,-0.205364,0.050000,0.000000,0.000000,1.000000, -0.154103,-0.127485,0.050000,-0.750111,0.661312,0.000000, -0.154103,-0.127485,-0.050000,-0.750111,0.661312,0.000000, -0.145794,-0.136909,0.050000,-0.750111,0.661312,0.000000, -0.145794,-0.136909,-0.050000,-0.750111,0.661312,0.000000, -0.145794,-0.136909,0.050000,-0.750111,0.661312,0.000000, -0.154103,-0.127485,-0.050000,-0.750111,0.661312,0.000000, -0.218691,-0.205364,0.050000,0.750111,-0.661312,0.000000, -0.218691,-0.205364,-0.050000,0.750111,-0.661312,0.000000, -0.231154,-0.191227,0.050000,0.750111,-0.661312,0.000000, -0.231154,-0.191227,-0.050000,0.750111,-0.661312,0.000000, -0.231154,-0.191227,0.050000,0.750111,-0.661312,0.000000, -0.218691,-0.205364,-0.050000,0.750111,-0.661312,0.000000, -0.218691,-0.205364,-0.050000,0.000000,0.000000,-1.000000, -0.205364,-0.218691,-0.050000,0.000000,0.000000,-1.000000, -0.145794,-0.136909,-0.050000,0.000000,0.000000,-1.000000, -0.136909,-0.145794,-0.050000,0.000000,0.000000,-1.000000, -0.145794,-0.136909,-0.050000,0.000000,0.000000,-1.000000, -0.205364,-0.218691,-0.050000,0.000000,0.000000,-1.000000, -0.205364,-0.218691,0.050000,0.000000,0.000000,1.000000, -0.218691,-0.205364,0.050000,0.000000,0.000000,1.000000, -0.145794,-0.136909,0.050000,0.000000,0.000000,1.000000, -0.145794,-0.136909,0.050000,0.000000,0.000000,1.000000, -0.136909,-0.145794,0.050000,0.000000,0.000000,1.000000, -0.205364,-0.218691,0.050000,0.000000,0.000000,1.000000, -0.145794,-0.136909,0.050000,-0.707106,0.707107,0.000000, -0.145794,-0.136909,-0.050000,-0.707106,0.707107,0.000000, -0.136909,-0.145794,0.050000,-0.707106,0.707107,0.000000, -0.136909,-0.145794,-0.050000,-0.707106,0.707107,0.000000, -0.136909,-0.145794,0.050000,-0.707106,0.707107,0.000000, -0.145794,-0.136909,-0.050000,-0.707106,0.707107,0.000000, -0.205364,-0.218691,0.050000,0.707106,-0.707108,0.000000, -0.205364,-0.218691,-0.050000,0.707106,-0.707108,0.000000, -0.218691,-0.205364,0.050000,0.707106,-0.707108,0.000000, -0.218691,-0.205364,-0.050000,0.707106,-0.707108,0.000000, -0.218691,-0.205364,0.050000,0.707106,-0.707108,0.000000, -0.205364,-0.218691,-0.050000,0.707106,-0.707108,0.000000, -0.205364,-0.218691,-0.050000,0.000000,0.000000,-1.000000, -0.191227,-0.231154,-0.050000,0.000000,0.000000,-1.000000, -0.136909,-0.145794,-0.050000,0.000000,0.000000,-1.000000, -0.127485,-0.154103,-0.050000,0.000000,0.000000,-1.000000, -0.136909,-0.145794,-0.050000,0.000000,0.000000,-1.000000, -0.191227,-0.231154,-0.050000,0.000000,0.000000,-1.000000, -0.191227,-0.231154,0.050000,0.000000,0.000000,1.000000, -0.205364,-0.218691,0.050000,0.000000,0.000000,1.000000, -0.136909,-0.145794,0.050000,0.000000,0.000000,1.000000, -0.136909,-0.145794,0.050000,0.000000,0.000000,1.000000, -0.127485,-0.154103,0.050000,0.000000,0.000000,1.000000, -0.191227,-0.231154,0.050000,0.000000,0.000000,1.000000, -0.136909,-0.145794,0.050000,-0.661313,0.750110,0.000000, -0.136909,-0.145794,-0.050000,-0.661313,0.750110,0.000000, -0.127485,-0.154103,0.050000,-0.661313,0.750110,0.000000, -0.127485,-0.154103,-0.050000,-0.661313,0.750110,0.000000, -0.127485,-0.154103,0.050000,-0.661313,0.750110,0.000000, -0.136909,-0.145794,-0.050000,-0.661313,0.750110,0.000000, -0.191227,-0.231154,0.050000,0.661312,-0.750111,0.000000, -0.191227,-0.231154,-0.050000,0.661312,-0.750111,0.000000, -0.205364,-0.218691,0.050000,0.661312,-0.750111,0.000000, -0.205364,-0.218691,-0.050000,0.661312,-0.750111,0.000000, -0.205364,-0.218691,0.050000,0.661312,-0.750111,0.000000, -0.191227,-0.231154,-0.050000,0.661312,-0.750111,0.000000, -0.191227,-0.231154,-0.050000,0.000000,0.000000,-1.000000, -0.176336,-0.242705,-0.050000,0.000000,0.000000,-1.000000, -0.127485,-0.154103,-0.050000,0.000000,0.000000,-1.000000, -0.117557,-0.161803,-0.050000,0.000000,0.000000,-1.000000, -0.127485,-0.154103,-0.050000,0.000000,0.000000,-1.000000, -0.176336,-0.242705,-0.050000,0.000000,0.000000,-1.000000, -0.176336,-0.242705,0.050000,0.000000,0.000000,1.000000, -0.191227,-0.231154,0.050000,0.000000,0.000000,1.000000, -0.127485,-0.154103,0.050000,0.000000,0.000000,1.000000, -0.127485,-0.154103,0.050000,0.000000,0.000000,1.000000, -0.117557,-0.161803,0.050000,0.000000,0.000000,1.000000, -0.176336,-0.242705,0.050000,0.000000,0.000000,1.000000, -0.127485,-0.154103,0.050000,-0.612907,0.790155,0.000000, -0.127485,-0.154103,-0.050000,-0.612907,0.790155,0.000000, -0.117557,-0.161803,0.050000,-0.612907,0.790155,0.000000, -0.117557,-0.161803,-0.050000,-0.612907,0.790155,0.000000, -0.117557,-0.161803,0.050000,-0.612907,0.790155,0.000000, -0.127485,-0.154103,-0.050000,-0.612907,0.790155,0.000000, -0.176336,-0.242705,0.050000,0.612907,-0.790155,0.000000, -0.176336,-0.242705,-0.050000,0.612907,-0.790155,0.000000, -0.191227,-0.231154,0.050000,0.612907,-0.790155,0.000000, -0.191227,-0.231154,-0.050000,0.612907,-0.790155,0.000000, -0.191227,-0.231154,0.050000,0.612907,-0.790155,0.000000, -0.176336,-0.242705,-0.050000,0.612907,-0.790155,0.000000, -0.176336,-0.242705,-0.050000,0.000000,0.000000,-1.000000, -0.160748,-0.253298,-0.050000,0.000000,0.000000,-1.000000, -0.117557,-0.161803,-0.050000,0.000000,0.000000,-1.000000, -0.107165,-0.168866,-0.050000,0.000000,0.000000,-1.000000, -0.117557,-0.161803,-0.050000,0.000000,0.000000,-1.000000, -0.160748,-0.253298,-0.050000,0.000000,0.000000,-1.000000, -0.160748,-0.253298,0.050000,0.000000,0.000000,1.000000, -0.176336,-0.242705,0.050000,0.000000,0.000000,1.000000, -0.117557,-0.161803,0.050000,0.000000,0.000000,1.000000, -0.117557,-0.161803,0.050000,0.000000,0.000000,1.000000, -0.107165,-0.168866,0.050000,0.000000,0.000000,1.000000, -0.160748,-0.253298,0.050000,0.000000,0.000000,1.000000, -0.117557,-0.161803,0.050000,-0.562084,0.827080,0.000000, -0.117557,-0.161803,-0.050000,-0.562084,0.827080,0.000000, -0.107165,-0.168866,0.050000,-0.562084,0.827080,0.000000, -0.107165,-0.168866,-0.050000,-0.562084,0.827080,0.000000, -0.107165,-0.168866,0.050000,-0.562084,0.827080,0.000000, -0.117557,-0.161803,-0.050000,-0.562084,0.827080,0.000000, -0.160748,-0.253298,0.050000,0.562084,-0.827080,0.000000, -0.160748,-0.253298,-0.050000,0.562084,-0.827080,0.000000, -0.176336,-0.242705,0.050000,0.562084,-0.827080,0.000000, -0.176336,-0.242705,-0.050000,0.562084,-0.827080,0.000000, -0.176336,-0.242705,0.050000,0.562084,-0.827080,0.000000, -0.160748,-0.253298,-0.050000,0.562084,-0.827080,0.000000, -0.160748,-0.253298,-0.050000,0.000000,0.000000,-1.000000, -0.144526,-0.262892,-0.050000,0.000000,0.000000,-1.000000, -0.107165,-0.168866,-0.050000,0.000000,0.000000,-1.000000, -0.096351,-0.175261,-0.050000,0.000000,0.000000,-1.000000, -0.107165,-0.168866,-0.050000,0.000000,0.000000,-1.000000, -0.144526,-0.262892,-0.050000,0.000000,0.000000,-1.000000, -0.144526,-0.262892,0.050000,0.000000,0.000000,1.000000, -0.160748,-0.253298,0.050000,0.000000,0.000000,1.000000, -0.107165,-0.168866,0.050000,0.000000,0.000000,1.000000, -0.107165,-0.168866,0.050000,0.000000,0.000000,1.000000, -0.096351,-0.175261,0.050000,0.000000,0.000000,1.000000, -0.144526,-0.262892,0.050000,0.000000,0.000000,1.000000, -0.107165,-0.168866,0.050000,-0.509041,0.860742,0.000000, -0.107165,-0.168866,-0.050000,-0.509041,0.860742,0.000000, -0.096351,-0.175261,0.050000,-0.509041,0.860742,0.000000, -0.096351,-0.175261,-0.050000,-0.509041,0.860742,0.000000, -0.096351,-0.175261,0.050000,-0.509041,0.860742,0.000000, -0.107165,-0.168866,-0.050000,-0.509041,0.860742,0.000000, -0.144526,-0.262892,0.050000,0.509042,-0.860742,0.000000, -0.144526,-0.262892,-0.050000,0.509042,-0.860742,0.000000, -0.160748,-0.253298,0.050000,0.509042,-0.860742,0.000000, -0.160748,-0.253298,-0.050000,0.509042,-0.860742,0.000000, -0.160748,-0.253298,0.050000,0.509042,-0.860742,0.000000, -0.144526,-0.262892,-0.050000,0.509042,-0.860742,0.000000, -0.144526,-0.262892,-0.050000,0.000000,0.000000,-1.000000, -0.127734,-0.271448,-0.050000,0.000000,0.000000,-1.000000, -0.096351,-0.175261,-0.050000,0.000000,0.000000,-1.000000, -0.085156,-0.180965,-0.050000,0.000000,0.000000,-1.000000, -0.096351,-0.175261,-0.050000,0.000000,0.000000,-1.000000, -0.127734,-0.271448,-0.050000,0.000000,0.000000,-1.000000, -0.127734,-0.271448,0.050000,0.000000,0.000000,1.000000, -0.144526,-0.262892,0.050000,0.000000,0.000000,1.000000, -0.096351,-0.175261,0.050000,0.000000,0.000000,1.000000, -0.096351,-0.175261,0.050000,0.000000,0.000000,1.000000, -0.085156,-0.180965,0.050000,0.000000,0.000000,1.000000, -0.127734,-0.271448,0.050000,0.000000,0.000000,1.000000, -0.096351,-0.175261,0.050000,-0.453991,0.891007,0.000000, -0.096351,-0.175261,-0.050000,-0.453991,0.891007,0.000000, -0.085156,-0.180965,0.050000,-0.453991,0.891007,0.000000, -0.085156,-0.180965,-0.050000,-0.453991,0.891007,0.000000, -0.085156,-0.180965,0.050000,-0.453991,0.891007,0.000000, -0.096351,-0.175261,-0.050000,-0.453991,0.891007,0.000000, -0.127734,-0.271448,0.050000,0.453990,-0.891007,0.000000, -0.127734,-0.271448,-0.050000,0.453990,-0.891007,0.000000, -0.144526,-0.262892,0.050000,0.453990,-0.891007,0.000000, -0.144526,-0.262892,-0.050000,0.453990,-0.891007,0.000000, -0.144526,-0.262892,0.050000,0.453990,-0.891007,0.000000, -0.127734,-0.271448,-0.050000,0.453990,-0.891007,0.000000, -0.127734,-0.271448,-0.050000,0.000000,0.000000,-1.000000, -0.110437,-0.278933,-0.050000,0.000000,0.000000,-1.000000, -0.085156,-0.180965,-0.050000,0.000000,0.000000,-1.000000, -0.073625,-0.185955,-0.050000,0.000000,0.000000,-1.000000, -0.085156,-0.180965,-0.050000,0.000000,0.000000,-1.000000, -0.110437,-0.278933,-0.050000,0.000000,0.000000,-1.000000, -0.110437,-0.278933,0.050000,0.000000,0.000000,1.000000, -0.127734,-0.271448,0.050000,0.000000,0.000000,1.000000, -0.085156,-0.180965,0.050000,0.000000,0.000000,1.000000, -0.085156,-0.180965,0.050000,0.000000,0.000000,1.000000, -0.073625,-0.185955,0.050000,0.000000,0.000000,1.000000, -0.110437,-0.278933,0.050000,0.000000,0.000000,1.000000, -0.085156,-0.180965,0.050000,-0.397148,0.917754,0.000000, -0.085156,-0.180965,-0.050000,-0.397148,0.917754,0.000000, -0.073625,-0.185955,0.050000,-0.397148,0.917754,0.000000, -0.073625,-0.185955,-0.050000,-0.397148,0.917754,0.000000, -0.073625,-0.185955,0.050000,-0.397148,0.917754,0.000000, -0.085156,-0.180965,-0.050000,-0.397148,0.917754,0.000000, -0.110437,-0.278933,0.050000,0.397149,-0.917754,0.000000, -0.110437,-0.278933,-0.050000,0.397149,-0.917754,0.000000, -0.127734,-0.271448,0.050000,0.397149,-0.917754,0.000000, -0.127734,-0.271448,-0.050000,0.397149,-0.917754,0.000000, -0.127734,-0.271448,0.050000,0.397149,-0.917754,0.000000, -0.110437,-0.278933,-0.050000,0.397149,-0.917754,0.000000, -0.110437,-0.278933,-0.050000,0.000000,0.000000,-1.000000, -0.092705,-0.285317,-0.050000,0.000000,0.000000,-1.000000, -0.073625,-0.185955,-0.050000,0.000000,0.000000,-1.000000, -0.061803,-0.190211,-0.050000,0.000000,0.000000,-1.000000, -0.073625,-0.185955,-0.050000,0.000000,0.000000,-1.000000, -0.092705,-0.285317,-0.050000,0.000000,0.000000,-1.000000, -0.092705,-0.285317,0.050000,0.000000,0.000000,1.000000, -0.110437,-0.278933,0.050000,0.000000,0.000000,1.000000, -0.073625,-0.185955,0.050000,0.000000,0.000000,1.000000, -0.073625,-0.185955,0.050000,0.000000,0.000000,1.000000, -0.061803,-0.190211,0.050000,0.000000,0.000000,1.000000, -0.092705,-0.285317,0.050000,0.000000,0.000000,1.000000, -0.073625,-0.185955,0.050000,-0.338737,0.940881,0.000000, -0.073625,-0.185955,-0.050000,-0.338737,0.940881,0.000000, -0.061803,-0.190211,0.050000,-0.338737,0.940881,0.000000, -0.061803,-0.190211,-0.050000,-0.338737,0.940881,0.000000, -0.061803,-0.190211,0.050000,-0.338737,0.940881,0.000000, -0.073625,-0.185955,-0.050000,-0.338737,0.940881,0.000000, -0.092705,-0.285317,0.050000,0.338737,-0.940881,0.000000, -0.092705,-0.285317,-0.050000,0.338737,-0.940881,0.000000, -0.110437,-0.278933,0.050000,0.338737,-0.940881,0.000000, -0.110437,-0.278933,-0.050000,0.338737,-0.940881,0.000000, -0.110437,-0.278933,0.050000,0.338737,-0.940881,0.000000, -0.092705,-0.285317,-0.050000,0.338737,-0.940881,0.000000, -0.092705,-0.285317,-0.050000,0.000000,0.000000,-1.000000, -0.074607,-0.290575,-0.050000,0.000000,0.000000,-1.000000, -0.061803,-0.190211,-0.050000,0.000000,0.000000,-1.000000, -0.049738,-0.193717,-0.050000,0.000000,0.000000,-1.000000, -0.061803,-0.190211,-0.050000,0.000000,0.000000,-1.000000, -0.074607,-0.290575,-0.050000,0.000000,0.000000,-1.000000, -0.074607,-0.290575,0.050000,0.000000,0.000000,1.000000, -0.092705,-0.285317,0.050000,0.000000,0.000000,1.000000, -0.061803,-0.190211,0.050000,0.000000,0.000000,1.000000, -0.061803,-0.190211,0.050000,0.000000,0.000000,1.000000, -0.049738,-0.193717,0.050000,0.000000,0.000000,1.000000, -0.074607,-0.290575,0.050000,0.000000,0.000000,1.000000, -0.061803,-0.190211,0.050000,-0.278991,0.960294,0.000000, -0.061803,-0.190211,-0.050000,-0.278991,0.960294,0.000000, -0.049738,-0.193717,0.050000,-0.278991,0.960294,0.000000, -0.049738,-0.193717,-0.050000,-0.278991,0.960294,0.000000, -0.049738,-0.193717,0.050000,-0.278991,0.960294,0.000000, -0.061803,-0.190211,-0.050000,-0.278991,0.960294,0.000000, -0.074607,-0.290575,0.050000,0.278993,-0.960293,0.000000, -0.074607,-0.290575,-0.050000,0.278993,-0.960293,0.000000, -0.092705,-0.285317,0.050000,0.278993,-0.960293,0.000000, -0.092705,-0.285317,-0.050000,0.278993,-0.960293,0.000000, -0.092705,-0.285317,0.050000,0.278993,-0.960293,0.000000, -0.074607,-0.290575,-0.050000,0.278993,-0.960293,0.000000, -0.074607,-0.290575,-0.050000,0.000000,0.000000,-1.000000, -0.056214,-0.294686,-0.050000,0.000000,0.000000,-1.000000, -0.049738,-0.193717,-0.050000,0.000000,0.000000,-1.000000, -0.037476,-0.196457,-0.050000,0.000000,0.000000,-1.000000, -0.049738,-0.193717,-0.050000,0.000000,0.000000,-1.000000, -0.056214,-0.294686,-0.050000,0.000000,0.000000,-1.000000, -0.056214,-0.294686,0.050000,0.000000,0.000000,1.000000, -0.074607,-0.290575,0.050000,0.000000,0.000000,1.000000, -0.049738,-0.193717,0.050000,0.000000,0.000000,1.000000, -0.049738,-0.193717,0.050000,0.000000,0.000000,1.000000, -0.037476,-0.196457,0.050000,0.000000,0.000000,1.000000, -0.056214,-0.294686,0.050000,0.000000,0.000000,1.000000, -0.049738,-0.193717,0.050000,-0.218143,0.975917,0.000000, -0.049738,-0.193717,-0.050000,-0.218143,0.975917,0.000000, -0.037476,-0.196457,0.050000,-0.218143,0.975917,0.000000, -0.037476,-0.196457,-0.050000,-0.218143,0.975917,0.000000, -0.037476,-0.196457,0.050000,-0.218143,0.975917,0.000000, -0.049738,-0.193717,-0.050000,-0.218143,0.975917,0.000000, -0.056214,-0.294686,0.050000,0.218142,-0.975917,0.000000, -0.056214,-0.294686,-0.050000,0.218142,-0.975917,0.000000, -0.074607,-0.290575,0.050000,0.218142,-0.975917,0.000000, -0.074607,-0.290575,-0.050000,0.218142,-0.975917,0.000000, -0.074607,-0.290575,0.050000,0.218142,-0.975917,0.000000, -0.056214,-0.294686,-0.050000,0.218142,-0.975917,0.000000, -0.056214,-0.294686,-0.050000,0.000000,0.000000,-1.000000, -0.037600,-0.297634,-0.050000,0.000000,0.000000,-1.000000, -0.037476,-0.196457,-0.050000,0.000000,0.000000,-1.000000, -0.025067,-0.198423,-0.050000,0.000000,0.000000,-1.000000, -0.037476,-0.196457,-0.050000,0.000000,0.000000,-1.000000, -0.037600,-0.297634,-0.050000,0.000000,0.000000,-1.000000, -0.037600,-0.297634,0.050000,0.000000,0.000000,1.000000, -0.056214,-0.294686,0.050000,0.000000,0.000000,1.000000, -0.037476,-0.196457,0.050000,0.000000,0.000000,1.000000, -0.037476,-0.196457,0.050000,0.000000,0.000000,1.000000, -0.025067,-0.198423,0.050000,0.000000,0.000000,1.000000, -0.037600,-0.297634,0.050000,0.000000,0.000000,1.000000, -0.037476,-0.196457,0.050000,-0.156436,0.987688,0.000000, -0.037476,-0.196457,-0.050000,-0.156436,0.987688,0.000000, -0.025067,-0.198423,0.050000,-0.156436,0.987688,0.000000, -0.025067,-0.198423,-0.050000,-0.156436,0.987688,0.000000, -0.025067,-0.198423,0.050000,-0.156436,0.987688,0.000000, -0.037476,-0.196457,-0.050000,-0.156436,0.987688,0.000000, -0.037600,-0.297634,0.050000,0.156435,-0.987688,0.000000, -0.037600,-0.297634,-0.050000,0.156435,-0.987688,0.000000, -0.056214,-0.294686,0.050000,0.156435,-0.987688,0.000000, -0.056214,-0.294686,-0.050000,0.156435,-0.987688,0.000000, -0.056214,-0.294686,0.050000,0.156435,-0.987688,0.000000, -0.037600,-0.297634,-0.050000,0.156435,-0.987688,0.000000, -0.037600,-0.297634,-0.050000,0.000000,0.000000,-1.000000, -0.018837,-0.299408,-0.050000,0.000000,0.000000,-1.000000, -0.025067,-0.198423,-0.050000,0.000000,0.000000,-1.000000, -0.012558,-0.199605,-0.050000,0.000000,0.000000,-1.000000, -0.025067,-0.198423,-0.050000,0.000000,0.000000,-1.000000, -0.018837,-0.299408,-0.050000,0.000000,0.000000,-1.000000, -0.018837,-0.299408,0.050000,0.000000,0.000000,1.000000, -0.037600,-0.297634,0.050000,0.000000,0.000000,1.000000, -0.025067,-0.198423,0.050000,0.000000,0.000000,1.000000, -0.025067,-0.198423,0.050000,0.000000,0.000000,1.000000, -0.012558,-0.199605,0.050000,0.000000,0.000000,1.000000, -0.018837,-0.299408,0.050000,0.000000,0.000000,1.000000, -0.025067,-0.198423,0.050000,-0.094107,0.995562,0.000000, -0.025067,-0.198423,-0.050000,-0.094107,0.995562,0.000000, -0.012558,-0.199605,0.050000,-0.094107,0.995562,0.000000, -0.012558,-0.199605,-0.050000,-0.094107,0.995562,0.000000, -0.012558,-0.199605,0.050000,-0.094107,0.995562,0.000000, -0.025067,-0.198423,-0.050000,-0.094107,0.995562,0.000000, -0.018837,-0.299408,0.050000,0.094108,-0.995562,0.000000, -0.018837,-0.299408,-0.050000,0.094108,-0.995562,0.000000, -0.037600,-0.297634,0.050000,0.094108,-0.995562,0.000000, -0.037600,-0.297634,-0.050000,0.094108,-0.995562,0.000000, -0.037600,-0.297634,0.050000,0.094108,-0.995562,0.000000, -0.018837,-0.299408,-0.050000,0.094108,-0.995562,0.000000, -0.018837,-0.299408,-0.050000,0.000000,0.000000,-1.000000, --0.000000,-0.300000,-0.050000,0.000000,0.000000,-1.000000, -0.012558,-0.199605,-0.050000,0.000000,0.000000,-1.000000, --0.000000,-0.200000,-0.050000,0.000000,0.000000,-1.000000, -0.012558,-0.199605,-0.050000,0.000000,0.000000,-1.000000, --0.000000,-0.300000,-0.050000,0.000000,0.000000,-1.000000, --0.000000,-0.300000,0.050000,0.000000,0.000000,1.000000, -0.018837,-0.299408,0.050000,0.000000,0.000000,1.000000, -0.012558,-0.199605,0.050000,0.000000,0.000000,1.000000, -0.012558,-0.199605,0.050000,0.000000,0.000000,1.000000, --0.000000,-0.200000,0.050000,0.000000,0.000000,1.000000, --0.000000,-0.300000,0.050000,0.000000,0.000000,1.000000, -0.012558,-0.199605,0.050000,-0.031411,0.999507,0.000000, -0.012558,-0.199605,-0.050000,-0.031411,0.999507,0.000000, --0.000000,-0.200000,0.050000,-0.031411,0.999507,0.000000, --0.000000,-0.200000,-0.050000,-0.031411,0.999507,0.000000, --0.000000,-0.200000,0.050000,-0.031411,0.999507,0.000000, -0.012558,-0.199605,-0.050000,-0.031411,0.999507,0.000000, --0.000000,-0.300000,0.050000,0.031411,-0.999507,0.000000, --0.000000,-0.300000,-0.050000,0.031411,-0.999507,0.000000, -0.018837,-0.299408,0.050000,0.031411,-0.999507,0.000000, -0.018837,-0.299408,-0.050000,0.031411,-0.999507,0.000000, -0.018837,-0.299408,0.050000,0.031411,-0.999507,0.000000, --0.000000,-0.300000,-0.050000,0.031411,-0.999507,0.000000, --0.000000,-0.300000,-0.050000,0.000000,0.000000,-1.000000, --0.018837,-0.299408,-0.050000,0.000000,0.000000,-1.000000, --0.000000,-0.200000,-0.050000,0.000000,0.000000,-1.000000, --0.012558,-0.199605,-0.050000,0.000000,0.000000,-1.000000, --0.000000,-0.200000,-0.050000,0.000000,0.000000,-1.000000, --0.018837,-0.299408,-0.050000,0.000000,0.000000,-1.000000, --0.018837,-0.299408,0.050000,0.000000,0.000000,1.000000, --0.000000,-0.300000,0.050000,0.000000,0.000000,1.000000, --0.000000,-0.200000,0.050000,0.000000,0.000000,1.000000, --0.000000,-0.200000,0.050000,0.000000,0.000000,1.000000, --0.012558,-0.199605,0.050000,0.000000,0.000000,1.000000, --0.018837,-0.299408,0.050000,0.000000,0.000000,1.000000, --0.000000,-0.200000,0.050000,0.031411,0.999507,0.000000, --0.000000,-0.200000,-0.050000,0.031411,0.999507,0.000000, --0.012558,-0.199605,0.050000,0.031411,0.999507,0.000000, --0.012558,-0.199605,-0.050000,0.031411,0.999507,0.000000, --0.012558,-0.199605,0.050000,0.031411,0.999507,0.000000, --0.000000,-0.200000,-0.050000,0.031411,0.999507,0.000000, --0.018837,-0.299408,0.050000,-0.031411,-0.999507,0.000000, --0.018837,-0.299408,-0.050000,-0.031411,-0.999507,0.000000, --0.000000,-0.300000,0.050000,-0.031411,-0.999507,0.000000, --0.000000,-0.300000,-0.050000,-0.031411,-0.999507,0.000000, --0.000000,-0.300000,0.050000,-0.031411,-0.999507,0.000000, --0.018837,-0.299408,-0.050000,-0.031411,-0.999507,0.000000, --0.018837,-0.299408,-0.050000,0.000000,0.000000,-1.000000, --0.037600,-0.297634,-0.050000,0.000000,0.000000,-1.000000, --0.012558,-0.199605,-0.050000,0.000000,0.000000,-1.000000, --0.025067,-0.198423,-0.050000,0.000000,0.000000,-1.000000, --0.012558,-0.199605,-0.050000,0.000000,0.000000,-1.000000, --0.037600,-0.297634,-0.050000,0.000000,0.000000,-1.000000, --0.037600,-0.297634,0.050000,0.000000,0.000000,1.000000, --0.018837,-0.299408,0.050000,0.000000,0.000000,1.000000, --0.012558,-0.199605,0.050000,0.000000,0.000000,1.000000, --0.012558,-0.199605,0.050000,0.000000,0.000000,1.000000, --0.025067,-0.198423,0.050000,0.000000,0.000000,1.000000, --0.037600,-0.297634,0.050000,0.000000,0.000000,1.000000, --0.012558,-0.199605,0.050000,0.094108,0.995562,0.000000, --0.012558,-0.199605,-0.050000,0.094108,0.995562,0.000000, --0.025067,-0.198423,0.050000,0.094108,0.995562,0.000000, --0.025067,-0.198423,-0.050000,0.094108,0.995562,0.000000, --0.025067,-0.198423,0.050000,0.094108,0.995562,0.000000, --0.012558,-0.199605,-0.050000,0.094108,0.995562,0.000000, --0.037600,-0.297634,0.050000,-0.094108,-0.995562,0.000000, --0.037600,-0.297634,-0.050000,-0.094108,-0.995562,0.000000, --0.018837,-0.299408,0.050000,-0.094108,-0.995562,0.000000, --0.018837,-0.299408,-0.050000,-0.094108,-0.995562,0.000000, --0.018837,-0.299408,0.050000,-0.094108,-0.995562,0.000000, --0.037600,-0.297634,-0.050000,-0.094108,-0.995562,0.000000, --0.037600,-0.297634,-0.050000,0.000000,0.000000,-1.000000, --0.056214,-0.294686,-0.050000,0.000000,0.000000,-1.000000, --0.025067,-0.198423,-0.050000,0.000000,0.000000,-1.000000, --0.037476,-0.196457,-0.050000,0.000000,0.000000,-1.000000, --0.025067,-0.198423,-0.050000,0.000000,0.000000,-1.000000, --0.056214,-0.294686,-0.050000,0.000000,0.000000,-1.000000, --0.056214,-0.294686,0.050000,0.000000,0.000000,1.000000, --0.037600,-0.297634,0.050000,0.000000,0.000000,1.000000, --0.025067,-0.198423,0.050000,0.000000,0.000000,1.000000, --0.025067,-0.198423,0.050000,0.000000,0.000000,1.000000, --0.037476,-0.196457,0.050000,0.000000,0.000000,1.000000, --0.056214,-0.294686,0.050000,0.000000,0.000000,1.000000, --0.025067,-0.198423,0.050000,0.156435,0.987688,0.000000, --0.025067,-0.198423,-0.050000,0.156435,0.987688,0.000000, --0.037476,-0.196457,0.050000,0.156435,0.987688,0.000000, --0.037476,-0.196457,-0.050000,0.156435,0.987688,0.000000, --0.037476,-0.196457,0.050000,0.156435,0.987688,0.000000, --0.025067,-0.198423,-0.050000,0.156435,0.987688,0.000000, --0.056214,-0.294686,0.050000,-0.156434,-0.987688,0.000000, --0.056214,-0.294686,-0.050000,-0.156434,-0.987688,0.000000, --0.037600,-0.297634,0.050000,-0.156434,-0.987688,0.000000, --0.037600,-0.297634,-0.050000,-0.156434,-0.987688,0.000000, --0.037600,-0.297634,0.050000,-0.156434,-0.987688,0.000000, --0.056214,-0.294686,-0.050000,-0.156434,-0.987688,0.000000, --0.056214,-0.294686,-0.050000,0.000000,0.000000,-1.000000, --0.074607,-0.290575,-0.050000,0.000000,0.000000,-1.000000, --0.037476,-0.196457,-0.050000,0.000000,0.000000,-1.000000, --0.049738,-0.193717,-0.050000,0.000000,0.000000,-1.000000, --0.037476,-0.196457,-0.050000,0.000000,0.000000,-1.000000, --0.074607,-0.290575,-0.050000,0.000000,0.000000,-1.000000, --0.074607,-0.290575,0.050000,0.000000,0.000000,1.000000, --0.056214,-0.294686,0.050000,0.000000,0.000000,1.000000, --0.037476,-0.196457,0.050000,0.000000,0.000000,1.000000, --0.037476,-0.196457,0.050000,0.000000,0.000000,1.000000, --0.049738,-0.193717,0.050000,0.000000,0.000000,1.000000, --0.074607,-0.290575,0.050000,0.000000,0.000000,1.000000, --0.037476,-0.196457,0.050000,0.218144,0.975917,0.000000, --0.037476,-0.196457,-0.050000,0.218144,0.975917,0.000000, --0.049738,-0.193717,0.050000,0.218144,0.975917,0.000000, --0.049738,-0.193717,-0.050000,0.218144,0.975917,0.000000, --0.049738,-0.193717,0.050000,0.218144,0.975917,0.000000, --0.037476,-0.196457,-0.050000,0.218144,0.975917,0.000000, --0.074607,-0.290575,0.050000,-0.218143,-0.975917,0.000000, --0.074607,-0.290575,-0.050000,-0.218143,-0.975917,0.000000, --0.056214,-0.294686,0.050000,-0.218143,-0.975917,0.000000, --0.056214,-0.294686,-0.050000,-0.218143,-0.975917,0.000000, --0.056214,-0.294686,0.050000,-0.218143,-0.975917,0.000000, --0.074607,-0.290575,-0.050000,-0.218143,-0.975917,0.000000, --0.074607,-0.290575,-0.050000,0.000000,0.000000,-1.000000, --0.092705,-0.285317,-0.050000,0.000000,0.000000,-1.000000, --0.049738,-0.193717,-0.050000,0.000000,0.000000,-1.000000, --0.061803,-0.190211,-0.050000,0.000000,0.000000,-1.000000, --0.049738,-0.193717,-0.050000,0.000000,0.000000,-1.000000, --0.092705,-0.285317,-0.050000,0.000000,0.000000,-1.000000, --0.092705,-0.285317,0.050000,0.000000,0.000000,1.000000, --0.074607,-0.290575,0.050000,0.000000,0.000000,1.000000, --0.049738,-0.193717,0.050000,0.000000,0.000000,1.000000, --0.049738,-0.193717,0.050000,0.000000,0.000000,1.000000, --0.061803,-0.190211,0.050000,0.000000,0.000000,1.000000, --0.092705,-0.285317,0.050000,0.000000,0.000000,1.000000, --0.049738,-0.193717,0.050000,0.278990,0.960294,0.000000, --0.049738,-0.193717,-0.050000,0.278990,0.960294,0.000000, --0.061803,-0.190211,0.050000,0.278990,0.960294,0.000000, --0.061803,-0.190211,-0.050000,0.278990,0.960294,0.000000, --0.061803,-0.190211,0.050000,0.278990,0.960294,0.000000, --0.049738,-0.193717,-0.050000,0.278990,0.960294,0.000000, --0.092705,-0.285317,0.050000,-0.278991,-0.960294,0.000000, --0.092705,-0.285317,-0.050000,-0.278991,-0.960294,0.000000, --0.074607,-0.290575,0.050000,-0.278991,-0.960294,0.000000, --0.074607,-0.290575,-0.050000,-0.278991,-0.960294,0.000000, --0.074607,-0.290575,0.050000,-0.278991,-0.960294,0.000000, --0.092705,-0.285317,-0.050000,-0.278991,-0.960294,0.000000, --0.092705,-0.285317,-0.050000,0.000000,0.000000,-1.000000, --0.110437,-0.278933,-0.050000,0.000000,0.000000,-1.000000, --0.061803,-0.190211,-0.050000,0.000000,0.000000,-1.000000, --0.073625,-0.185955,-0.050000,0.000000,0.000000,-1.000000, --0.061803,-0.190211,-0.050000,0.000000,0.000000,-1.000000, --0.110437,-0.278933,-0.050000,0.000000,0.000000,-1.000000, --0.110437,-0.278933,0.050000,0.000000,0.000000,1.000000, --0.092705,-0.285317,0.050000,0.000000,0.000000,1.000000, --0.061803,-0.190211,0.050000,0.000000,0.000000,1.000000, --0.061803,-0.190211,0.050000,0.000000,0.000000,1.000000, --0.073625,-0.185955,0.050000,0.000000,0.000000,1.000000, --0.110437,-0.278933,0.050000,0.000000,0.000000,1.000000, --0.061803,-0.190211,0.050000,0.338738,0.940881,0.000000, --0.061803,-0.190211,-0.050000,0.338738,0.940881,0.000000, --0.073625,-0.185955,0.050000,0.338738,0.940881,0.000000, --0.073625,-0.185955,-0.050000,0.338738,0.940881,0.000000, --0.073625,-0.185955,0.050000,0.338738,0.940881,0.000000, --0.061803,-0.190211,-0.050000,0.338738,0.940881,0.000000, --0.110437,-0.278933,0.050000,-0.338738,-0.940881,0.000000, --0.110437,-0.278933,-0.050000,-0.338738,-0.940881,0.000000, --0.092705,-0.285317,0.050000,-0.338738,-0.940881,0.000000, --0.092705,-0.285317,-0.050000,-0.338738,-0.940881,0.000000, --0.092705,-0.285317,0.050000,-0.338738,-0.940881,0.000000, --0.110437,-0.278933,-0.050000,-0.338738,-0.940881,0.000000, --0.110437,-0.278933,-0.050000,0.000000,0.000000,-1.000000, --0.127734,-0.271448,-0.050000,0.000000,0.000000,-1.000000, --0.073625,-0.185955,-0.050000,0.000000,0.000000,-1.000000, --0.085156,-0.180965,-0.050000,0.000000,0.000000,-1.000000, --0.073625,-0.185955,-0.050000,0.000000,0.000000,-1.000000, --0.127734,-0.271448,-0.050000,0.000000,0.000000,-1.000000, --0.127734,-0.271448,0.050000,0.000000,0.000000,1.000000, --0.110437,-0.278933,0.050000,0.000000,0.000000,1.000000, --0.073625,-0.185955,0.050000,0.000000,0.000000,1.000000, --0.073625,-0.185955,0.050000,0.000000,0.000000,1.000000, --0.085156,-0.180965,0.050000,0.000000,0.000000,1.000000, --0.127734,-0.271448,0.050000,0.000000,0.000000,1.000000, --0.073625,-0.185955,0.050000,0.397148,0.917755,0.000000, --0.073625,-0.185955,-0.050000,0.397148,0.917755,0.000000, --0.085156,-0.180965,0.050000,0.397148,0.917755,0.000000, --0.085156,-0.180965,-0.050000,0.397148,0.917755,0.000000, --0.085156,-0.180965,0.050000,0.397148,0.917755,0.000000, --0.073625,-0.185955,-0.050000,0.397148,0.917755,0.000000, --0.127734,-0.271448,0.050000,-0.397148,-0.917755,0.000000, --0.127734,-0.271448,-0.050000,-0.397148,-0.917755,0.000000, --0.110437,-0.278933,0.050000,-0.397148,-0.917755,0.000000, --0.110437,-0.278933,-0.050000,-0.397148,-0.917755,0.000000, --0.110437,-0.278933,0.050000,-0.397148,-0.917755,0.000000, --0.127734,-0.271448,-0.050000,-0.397148,-0.917755,0.000000, --0.127734,-0.271448,-0.050000,0.000000,0.000000,-1.000000, --0.144526,-0.262892,-0.050000,0.000000,0.000000,-1.000000, --0.085156,-0.180965,-0.050000,0.000000,0.000000,-1.000000, --0.096351,-0.175261,-0.050000,0.000000,0.000000,-1.000000, --0.085156,-0.180965,-0.050000,0.000000,0.000000,-1.000000, --0.144526,-0.262892,-0.050000,0.000000,0.000000,-1.000000, --0.144526,-0.262892,0.050000,0.000000,0.000000,1.000000, --0.127734,-0.271448,0.050000,0.000000,0.000000,1.000000, --0.085156,-0.180965,0.050000,0.000000,0.000000,1.000000, --0.085156,-0.180965,0.050000,0.000000,0.000000,1.000000, --0.096351,-0.175261,0.050000,0.000000,0.000000,1.000000, --0.144526,-0.262892,0.050000,0.000000,0.000000,1.000000, --0.085156,-0.180965,0.050000,0.453991,0.891007,0.000000, --0.085156,-0.180965,-0.050000,0.453991,0.891007,0.000000, --0.096351,-0.175261,0.050000,0.453991,0.891007,0.000000, --0.096351,-0.175261,-0.050000,0.453991,0.891007,0.000000, --0.096351,-0.175261,0.050000,0.453991,0.891007,0.000000, --0.085156,-0.180965,-0.050000,0.453991,0.891007,0.000000, --0.144526,-0.262892,0.050000,-0.453991,-0.891006,0.000000, --0.144526,-0.262892,-0.050000,-0.453991,-0.891006,0.000000, --0.127734,-0.271448,0.050000,-0.453991,-0.891006,0.000000, --0.127734,-0.271448,-0.050000,-0.453991,-0.891006,0.000000, --0.127734,-0.271448,0.050000,-0.453991,-0.891006,0.000000, --0.144526,-0.262892,-0.050000,-0.453991,-0.891006,0.000000, --0.144526,-0.262892,-0.050000,0.000000,0.000000,-1.000000, --0.160748,-0.253298,-0.050000,0.000000,0.000000,-1.000000, --0.096351,-0.175261,-0.050000,0.000000,0.000000,-1.000000, --0.107165,-0.168866,-0.050000,0.000000,0.000000,-1.000000, --0.096351,-0.175261,-0.050000,0.000000,0.000000,-1.000000, --0.160748,-0.253298,-0.050000,0.000000,0.000000,-1.000000, --0.160748,-0.253298,0.050000,0.000000,0.000000,1.000000, --0.144526,-0.262892,0.050000,0.000000,0.000000,1.000000, --0.096351,-0.175261,0.050000,0.000000,0.000000,1.000000, --0.096351,-0.175261,0.050000,0.000000,0.000000,1.000000, --0.107165,-0.168866,0.050000,0.000000,0.000000,1.000000, --0.160748,-0.253298,0.050000,0.000000,0.000000,1.000000, --0.096351,-0.175261,0.050000,0.509042,0.860742,0.000000, --0.096351,-0.175261,-0.050000,0.509042,0.860742,0.000000, --0.107165,-0.168866,0.050000,0.509042,0.860742,0.000000, --0.107165,-0.168866,-0.050000,0.509042,0.860742,0.000000, --0.107165,-0.168866,0.050000,0.509042,0.860742,0.000000, --0.096351,-0.175261,-0.050000,0.509042,0.860742,0.000000, --0.160748,-0.253298,0.050000,-0.509042,-0.860742,0.000000, --0.160748,-0.253298,-0.050000,-0.509042,-0.860742,0.000000, --0.144526,-0.262892,0.050000,-0.509042,-0.860742,0.000000, --0.144526,-0.262892,-0.050000,-0.509042,-0.860742,0.000000, --0.144526,-0.262892,0.050000,-0.509042,-0.860742,0.000000, --0.160748,-0.253298,-0.050000,-0.509042,-0.860742,0.000000, --0.160748,-0.253298,-0.050000,0.000000,0.000000,-1.000000, --0.176336,-0.242705,-0.050000,0.000000,0.000000,-1.000000, --0.107165,-0.168866,-0.050000,0.000000,0.000000,-1.000000, --0.117557,-0.161803,-0.050000,0.000000,0.000000,-1.000000, --0.107165,-0.168866,-0.050000,0.000000,0.000000,-1.000000, --0.176336,-0.242705,-0.050000,0.000000,0.000000,-1.000000, --0.176336,-0.242705,0.050000,0.000000,0.000000,1.000000, --0.160748,-0.253298,0.050000,0.000000,0.000000,1.000000, --0.107165,-0.168866,0.050000,0.000000,0.000000,1.000000, --0.107165,-0.168866,0.050000,0.000000,0.000000,1.000000, --0.117557,-0.161803,0.050000,0.000000,0.000000,1.000000, --0.176336,-0.242705,0.050000,0.000000,0.000000,1.000000, --0.107165,-0.168866,0.050000,0.562083,0.827081,0.000000, --0.107165,-0.168866,-0.050000,0.562083,0.827081,0.000000, --0.117557,-0.161803,0.050000,0.562083,0.827081,0.000000, --0.117557,-0.161803,-0.050000,0.562083,0.827081,0.000000, --0.117557,-0.161803,0.050000,0.562083,0.827081,0.000000, --0.107165,-0.168866,-0.050000,0.562083,0.827081,0.000000, --0.176336,-0.242705,0.050000,-0.562083,-0.827081,0.000000, --0.176336,-0.242705,-0.050000,-0.562083,-0.827081,0.000000, --0.160748,-0.253298,0.050000,-0.562083,-0.827081,0.000000, --0.160748,-0.253298,-0.050000,-0.562083,-0.827081,0.000000, --0.160748,-0.253298,0.050000,-0.562083,-0.827081,0.000000, --0.176336,-0.242705,-0.050000,-0.562083,-0.827081,0.000000, --0.176336,-0.242705,-0.050000,0.000000,0.000000,-1.000000, --0.191227,-0.231154,-0.050000,0.000000,0.000000,-1.000000, --0.117557,-0.161803,-0.050000,0.000000,0.000000,-1.000000, --0.127485,-0.154103,-0.050000,0.000000,0.000000,-1.000000, --0.117557,-0.161803,-0.050000,0.000000,0.000000,-1.000000, --0.191227,-0.231154,-0.050000,0.000000,0.000000,-1.000000, --0.191227,-0.231154,0.050000,0.000000,0.000000,1.000000, --0.176336,-0.242705,0.050000,0.000000,0.000000,1.000000, --0.117557,-0.161803,0.050000,0.000000,0.000000,1.000000, --0.117557,-0.161803,0.050000,0.000000,0.000000,1.000000, --0.127485,-0.154103,0.050000,0.000000,0.000000,1.000000, --0.191227,-0.231154,0.050000,0.000000,0.000000,1.000000, --0.117557,-0.161803,0.050000,0.612907,0.790155,0.000000, --0.117557,-0.161803,-0.050000,0.612907,0.790155,0.000000, --0.127485,-0.154103,0.050000,0.612907,0.790155,0.000000, --0.127485,-0.154103,-0.050000,0.612907,0.790155,0.000000, --0.127485,-0.154103,0.050000,0.612907,0.790155,0.000000, --0.117557,-0.161803,-0.050000,0.612907,0.790155,0.000000, --0.191227,-0.231154,0.050000,-0.612908,-0.790155,0.000000, --0.191227,-0.231154,-0.050000,-0.612908,-0.790155,0.000000, --0.176336,-0.242705,0.050000,-0.612908,-0.790155,0.000000, --0.176336,-0.242705,-0.050000,-0.612908,-0.790155,0.000000, --0.176336,-0.242705,0.050000,-0.612908,-0.790155,0.000000, --0.191227,-0.231154,-0.050000,-0.612908,-0.790155,0.000000, --0.191227,-0.231154,-0.050000,0.000000,0.000000,-1.000000, --0.205364,-0.218691,-0.050000,0.000000,0.000000,-1.000000, --0.127485,-0.154103,-0.050000,0.000000,0.000000,-1.000000, --0.136909,-0.145794,-0.050000,0.000000,0.000000,-1.000000, --0.127485,-0.154103,-0.050000,0.000000,0.000000,-1.000000, --0.205364,-0.218691,-0.050000,0.000000,0.000000,-1.000000, --0.205364,-0.218691,0.050000,0.000000,0.000000,1.000000, --0.191227,-0.231154,0.050000,0.000000,0.000000,1.000000, --0.127485,-0.154103,0.050000,0.000000,0.000000,1.000000, --0.127485,-0.154103,0.050000,0.000000,0.000000,1.000000, --0.136909,-0.145794,0.050000,0.000000,0.000000,1.000000, --0.205364,-0.218691,0.050000,0.000000,0.000000,1.000000, --0.127485,-0.154103,0.050000,0.661312,0.750111,0.000000, --0.127485,-0.154103,-0.050000,0.661312,0.750111,0.000000, --0.136909,-0.145794,0.050000,0.661312,0.750111,0.000000, --0.136909,-0.145794,-0.050000,0.661312,0.750111,0.000000, --0.136909,-0.145794,0.050000,0.661312,0.750111,0.000000, --0.127485,-0.154103,-0.050000,0.661312,0.750111,0.000000, --0.205364,-0.218691,0.050000,-0.661312,-0.750111,0.000000, --0.205364,-0.218691,-0.050000,-0.661312,-0.750111,0.000000, --0.191227,-0.231154,0.050000,-0.661312,-0.750111,0.000000, --0.191227,-0.231154,-0.050000,-0.661312,-0.750111,0.000000, --0.191227,-0.231154,0.050000,-0.661312,-0.750111,0.000000, --0.205364,-0.218691,-0.050000,-0.661312,-0.750111,0.000000, --0.205364,-0.218691,-0.050000,0.000000,0.000000,-1.000000, --0.218691,-0.205364,-0.050000,0.000000,0.000000,-1.000000, --0.136909,-0.145794,-0.050000,0.000000,0.000000,-1.000000, --0.145794,-0.136909,-0.050000,0.000000,0.000000,-1.000000, --0.136909,-0.145794,-0.050000,0.000000,0.000000,-1.000000, --0.218691,-0.205364,-0.050000,0.000000,0.000000,-1.000000, --0.218691,-0.205364,0.050000,0.000000,0.000000,1.000000, --0.205364,-0.218691,0.050000,0.000000,0.000000,1.000000, --0.136909,-0.145794,0.050000,0.000000,0.000000,1.000000, --0.136909,-0.145794,0.050000,0.000000,0.000000,1.000000, --0.145794,-0.136909,0.050000,0.000000,0.000000,1.000000, --0.218691,-0.205364,0.050000,0.000000,0.000000,1.000000, --0.136909,-0.145794,0.050000,0.707107,0.707107,0.000000, --0.136909,-0.145794,-0.050000,0.707107,0.707107,0.000000, --0.145794,-0.136909,0.050000,0.707107,0.707107,0.000000, --0.145794,-0.136909,-0.050000,0.707107,0.707107,0.000000, --0.145794,-0.136909,0.050000,0.707107,0.707107,0.000000, --0.136909,-0.145794,-0.050000,0.707107,0.707107,0.000000, --0.218691,-0.205364,0.050000,-0.707107,-0.707106,0.000000, --0.218691,-0.205364,-0.050000,-0.707107,-0.707106,0.000000, --0.205364,-0.218691,0.050000,-0.707107,-0.707106,0.000000, --0.205364,-0.218691,-0.050000,-0.707107,-0.707106,0.000000, --0.205364,-0.218691,0.050000,-0.707107,-0.707106,0.000000, --0.218691,-0.205364,-0.050000,-0.707107,-0.707106,0.000000, --0.218691,-0.205364,-0.050000,0.000000,0.000000,-1.000000, --0.231154,-0.191227,-0.050000,0.000000,0.000000,-1.000000, --0.145794,-0.136909,-0.050000,0.000000,0.000000,-1.000000, --0.154103,-0.127485,-0.050000,0.000000,0.000000,-1.000000, --0.145794,-0.136909,-0.050000,0.000000,0.000000,-1.000000, --0.231154,-0.191227,-0.050000,0.000000,0.000000,-1.000000, --0.231154,-0.191227,0.050000,0.000000,0.000000,1.000000, --0.218691,-0.205364,0.050000,0.000000,0.000000,1.000000, --0.145794,-0.136909,0.050000,0.000000,0.000000,1.000000, --0.145794,-0.136909,0.050000,0.000000,0.000000,1.000000, --0.154103,-0.127485,0.050000,0.000000,0.000000,1.000000, --0.231154,-0.191227,0.050000,0.000000,0.000000,1.000000, --0.145794,-0.136909,0.050000,0.750111,0.661312,0.000000, --0.145794,-0.136909,-0.050000,0.750111,0.661312,0.000000, --0.154103,-0.127485,0.050000,0.750111,0.661312,0.000000, --0.154103,-0.127485,-0.050000,0.750111,0.661312,0.000000, --0.154103,-0.127485,0.050000,0.750111,0.661312,0.000000, --0.145794,-0.136909,-0.050000,0.750111,0.661312,0.000000, --0.231154,-0.191227,0.050000,-0.750111,-0.661312,0.000000, --0.231154,-0.191227,-0.050000,-0.750111,-0.661312,0.000000, --0.218691,-0.205364,0.050000,-0.750111,-0.661312,0.000000, --0.218691,-0.205364,-0.050000,-0.750111,-0.661312,0.000000, --0.218691,-0.205364,0.050000,-0.750111,-0.661312,0.000000, --0.231154,-0.191227,-0.050000,-0.750111,-0.661312,0.000000, --0.231154,-0.191227,-0.050000,0.000000,0.000000,-1.000000, --0.242705,-0.176336,-0.050000,0.000000,0.000000,-1.000000, --0.154103,-0.127485,-0.050000,0.000000,0.000000,-1.000000, --0.161803,-0.117557,-0.050000,0.000000,0.000000,-1.000000, --0.154103,-0.127485,-0.050000,0.000000,0.000000,-1.000000, --0.242705,-0.176336,-0.050000,0.000000,0.000000,-1.000000, --0.242705,-0.176336,0.050000,0.000000,0.000000,1.000000, --0.231154,-0.191227,0.050000,0.000000,0.000000,1.000000, --0.154103,-0.127485,0.050000,0.000000,0.000000,1.000000, --0.154103,-0.127485,0.050000,0.000000,0.000000,1.000000, --0.161803,-0.117557,0.050000,0.000000,0.000000,1.000000, --0.242705,-0.176336,0.050000,0.000000,0.000000,1.000000, --0.154103,-0.127485,0.050000,0.790155,0.612907,0.000000, --0.154103,-0.127485,-0.050000,0.790155,0.612907,0.000000, --0.161803,-0.117557,0.050000,0.790155,0.612907,0.000000, --0.161803,-0.117557,-0.050000,0.790155,0.612907,0.000000, --0.161803,-0.117557,0.050000,0.790155,0.612907,0.000000, --0.154103,-0.127485,-0.050000,0.790155,0.612907,0.000000, --0.242705,-0.176336,0.050000,-0.790155,-0.612908,0.000000, --0.242705,-0.176336,-0.050000,-0.790155,-0.612908,0.000000, --0.231154,-0.191227,0.050000,-0.790155,-0.612908,0.000000, --0.231154,-0.191227,-0.050000,-0.790155,-0.612908,0.000000, --0.231154,-0.191227,0.050000,-0.790155,-0.612908,0.000000, --0.242705,-0.176336,-0.050000,-0.790155,-0.612908,0.000000, --0.242705,-0.176336,-0.050000,0.000000,0.000000,-1.000000, --0.253298,-0.160748,-0.050000,0.000000,0.000000,-1.000000, --0.161803,-0.117557,-0.050000,0.000000,0.000000,-1.000000, --0.168866,-0.107165,-0.050000,0.000000,0.000000,-1.000000, --0.161803,-0.117557,-0.050000,0.000000,0.000000,-1.000000, --0.253298,-0.160748,-0.050000,0.000000,0.000000,-1.000000, --0.253298,-0.160748,0.050000,0.000000,0.000000,1.000000, --0.242705,-0.176336,0.050000,0.000000,0.000000,1.000000, --0.161803,-0.117557,0.050000,0.000000,0.000000,1.000000, --0.161803,-0.117557,0.050000,0.000000,0.000000,1.000000, --0.168866,-0.107165,0.050000,0.000000,0.000000,1.000000, --0.253298,-0.160748,0.050000,0.000000,0.000000,1.000000, --0.161803,-0.117557,0.050000,0.827080,0.562083,0.000000, --0.161803,-0.117557,-0.050000,0.827080,0.562083,0.000000, --0.168866,-0.107165,0.050000,0.827080,0.562083,0.000000, --0.168866,-0.107165,-0.050000,0.827080,0.562083,0.000000, --0.168866,-0.107165,0.050000,0.827080,0.562083,0.000000, --0.161803,-0.117557,-0.050000,0.827080,0.562083,0.000000, --0.253298,-0.160748,0.050000,-0.827081,-0.562083,0.000000, --0.253298,-0.160748,-0.050000,-0.827081,-0.562083,0.000000, --0.242705,-0.176336,0.050000,-0.827081,-0.562083,0.000000, --0.242705,-0.176336,-0.050000,-0.827081,-0.562083,0.000000, --0.242705,-0.176336,0.050000,-0.827081,-0.562083,0.000000, --0.253298,-0.160748,-0.050000,-0.827081,-0.562083,0.000000, --0.253298,-0.160748,-0.050000,0.000000,0.000000,-1.000000, --0.262892,-0.144526,-0.050000,0.000000,0.000000,-1.000000, --0.168866,-0.107165,-0.050000,0.000000,0.000000,-1.000000, --0.175261,-0.096351,-0.050000,0.000000,0.000000,-1.000000, --0.168866,-0.107165,-0.050000,0.000000,0.000000,-1.000000, --0.262892,-0.144526,-0.050000,0.000000,0.000000,-1.000000, --0.262892,-0.144526,0.050000,0.000000,0.000000,1.000000, --0.253298,-0.160748,0.050000,0.000000,0.000000,1.000000, --0.168866,-0.107165,0.050000,0.000000,0.000000,1.000000, --0.168866,-0.107165,0.050000,0.000000,0.000000,1.000000, --0.175261,-0.096351,0.050000,0.000000,0.000000,1.000000, --0.262892,-0.144526,0.050000,0.000000,0.000000,1.000000, --0.168866,-0.107165,0.050000,0.860742,0.509042,0.000000, --0.168866,-0.107165,-0.050000,0.860742,0.509042,0.000000, --0.175261,-0.096351,0.050000,0.860742,0.509042,0.000000, --0.175261,-0.096351,-0.050000,0.860742,0.509042,0.000000, --0.175261,-0.096351,0.050000,0.860742,0.509042,0.000000, --0.168866,-0.107165,-0.050000,0.860742,0.509042,0.000000, --0.262892,-0.144526,0.050000,-0.860742,-0.509042,0.000000, --0.262892,-0.144526,-0.050000,-0.860742,-0.509042,0.000000, --0.253298,-0.160748,0.050000,-0.860742,-0.509042,0.000000, --0.253298,-0.160748,-0.050000,-0.860742,-0.509042,0.000000, --0.253298,-0.160748,0.050000,-0.860742,-0.509042,0.000000, --0.262892,-0.144526,-0.050000,-0.860742,-0.509042,0.000000, --0.262892,-0.144526,-0.050000,0.000000,0.000000,-1.000000, --0.271448,-0.127734,-0.050000,0.000000,0.000000,-1.000000, --0.175261,-0.096351,-0.050000,0.000000,0.000000,-1.000000, --0.180965,-0.085156,-0.050000,0.000000,0.000000,-1.000000, --0.175261,-0.096351,-0.050000,0.000000,0.000000,-1.000000, --0.271448,-0.127734,-0.050000,0.000000,0.000000,-1.000000, --0.271448,-0.127734,0.050000,0.000000,0.000000,1.000000, --0.262892,-0.144526,0.050000,0.000000,0.000000,1.000000, --0.175261,-0.096351,0.050000,0.000000,0.000000,1.000000, --0.175261,-0.096351,0.050000,0.000000,0.000000,1.000000, --0.180965,-0.085156,0.050000,0.000000,0.000000,1.000000, --0.271448,-0.127734,0.050000,0.000000,0.000000,1.000000, --0.175261,-0.096351,0.050000,0.891006,0.453991,0.000000, --0.175261,-0.096351,-0.050000,0.891006,0.453991,0.000000, --0.180965,-0.085156,0.050000,0.891006,0.453991,0.000000, --0.180965,-0.085156,-0.050000,0.891006,0.453991,0.000000, --0.180965,-0.085156,0.050000,0.891006,0.453991,0.000000, --0.175261,-0.096351,-0.050000,0.891006,0.453991,0.000000, --0.271448,-0.127734,0.050000,-0.891006,-0.453991,0.000000, --0.271448,-0.127734,-0.050000,-0.891006,-0.453991,0.000000, --0.262892,-0.144526,0.050000,-0.891006,-0.453991,0.000000, --0.262892,-0.144526,-0.050000,-0.891006,-0.453991,0.000000, --0.262892,-0.144526,0.050000,-0.891006,-0.453991,0.000000, --0.271448,-0.127734,-0.050000,-0.891006,-0.453991,0.000000, --0.271448,-0.127734,-0.050000,0.000000,0.000000,-1.000000, --0.278933,-0.110437,-0.050000,0.000000,0.000000,-1.000000, --0.180965,-0.085156,-0.050000,0.000000,0.000000,-1.000000, --0.185955,-0.073625,-0.050000,0.000000,0.000000,-1.000000, --0.180965,-0.085156,-0.050000,0.000000,0.000000,-1.000000, --0.278933,-0.110437,-0.050000,0.000000,0.000000,-1.000000, --0.278933,-0.110437,0.050000,0.000000,0.000000,1.000000, --0.271448,-0.127734,0.050000,0.000000,0.000000,1.000000, --0.180965,-0.085156,0.050000,0.000000,0.000000,1.000000, --0.180965,-0.085156,0.050000,0.000000,0.000000,1.000000, --0.185955,-0.073625,0.050000,0.000000,0.000000,1.000000, --0.278933,-0.110437,0.050000,0.000000,0.000000,1.000000, --0.180965,-0.085156,0.050000,0.917755,0.397147,0.000000, --0.180965,-0.085156,-0.050000,0.917755,0.397147,0.000000, --0.185955,-0.073625,0.050000,0.917755,0.397147,0.000000, --0.185955,-0.073625,-0.050000,0.917755,0.397147,0.000000, --0.185955,-0.073625,0.050000,0.917755,0.397147,0.000000, --0.180965,-0.085156,-0.050000,0.917755,0.397147,0.000000, --0.278933,-0.110437,0.050000,-0.917755,-0.397148,0.000000, --0.278933,-0.110437,-0.050000,-0.917755,-0.397148,0.000000, --0.271448,-0.127734,0.050000,-0.917755,-0.397148,0.000000, --0.271448,-0.127734,-0.050000,-0.917755,-0.397148,0.000000, --0.271448,-0.127734,0.050000,-0.917755,-0.397148,0.000000, --0.278933,-0.110437,-0.050000,-0.917755,-0.397148,0.000000, --0.278933,-0.110437,-0.050000,0.000000,0.000000,-1.000000, --0.285317,-0.092705,-0.050000,0.000000,0.000000,-1.000000, --0.185955,-0.073625,-0.050000,0.000000,0.000000,-1.000000, --0.190211,-0.061803,-0.050000,0.000000,0.000000,-1.000000, --0.185955,-0.073625,-0.050000,0.000000,0.000000,-1.000000, --0.285317,-0.092705,-0.050000,0.000000,0.000000,-1.000000, --0.285317,-0.092705,0.050000,0.000000,0.000000,1.000000, --0.278933,-0.110437,0.050000,0.000000,0.000000,1.000000, --0.185955,-0.073625,0.050000,0.000000,0.000000,1.000000, --0.185955,-0.073625,0.050000,0.000000,0.000000,1.000000, --0.190211,-0.061803,0.050000,0.000000,0.000000,1.000000, --0.285317,-0.092705,0.050000,0.000000,0.000000,1.000000, --0.185955,-0.073625,0.050000,0.940881,0.338738,0.000000, --0.185955,-0.073625,-0.050000,0.940881,0.338738,0.000000, --0.190211,-0.061803,0.050000,0.940881,0.338738,0.000000, --0.190211,-0.061803,-0.050000,0.940881,0.338738,0.000000, --0.190211,-0.061803,0.050000,0.940881,0.338738,0.000000, --0.185955,-0.073625,-0.050000,0.940881,0.338738,0.000000, --0.285317,-0.092705,0.050000,-0.940881,-0.338738,0.000000, --0.285317,-0.092705,-0.050000,-0.940881,-0.338738,0.000000, --0.278933,-0.110437,0.050000,-0.940881,-0.338738,0.000000, --0.278933,-0.110437,-0.050000,-0.940881,-0.338738,0.000000, --0.278933,-0.110437,0.050000,-0.940881,-0.338738,0.000000, --0.285317,-0.092705,-0.050000,-0.940881,-0.338738,0.000000, --0.285317,-0.092705,-0.050000,0.000000,0.000000,-1.000000, --0.290575,-0.074607,-0.050000,0.000000,0.000000,-1.000000, --0.190211,-0.061803,-0.050000,0.000000,0.000000,-1.000000, --0.193717,-0.049738,-0.050000,0.000000,0.000000,-1.000000, --0.190211,-0.061803,-0.050000,0.000000,0.000000,-1.000000, --0.290575,-0.074607,-0.050000,0.000000,0.000000,-1.000000, --0.290575,-0.074607,0.050000,0.000000,0.000000,1.000000, --0.285317,-0.092705,0.050000,0.000000,0.000000,1.000000, --0.190211,-0.061803,0.050000,0.000000,0.000000,1.000000, --0.190211,-0.061803,0.050000,0.000000,0.000000,1.000000, --0.193717,-0.049738,0.050000,0.000000,0.000000,1.000000, --0.290575,-0.074607,0.050000,0.000000,0.000000,1.000000, --0.190211,-0.061803,0.050000,0.960294,0.278991,0.000000, --0.190211,-0.061803,-0.050000,0.960294,0.278991,0.000000, --0.193717,-0.049738,0.050000,0.960294,0.278991,0.000000, --0.193717,-0.049738,-0.050000,0.960294,0.278991,0.000000, --0.193717,-0.049738,0.050000,0.960294,0.278991,0.000000, --0.190211,-0.061803,-0.050000,0.960294,0.278991,0.000000, --0.290575,-0.074607,0.050000,-0.960293,-0.278993,0.000000, --0.290575,-0.074607,-0.050000,-0.960293,-0.278993,0.000000, --0.285317,-0.092705,0.050000,-0.960293,-0.278993,0.000000, --0.285317,-0.092705,-0.050000,-0.960293,-0.278993,0.000000, --0.285317,-0.092705,0.050000,-0.960293,-0.278993,0.000000, --0.290575,-0.074607,-0.050000,-0.960293,-0.278993,0.000000, --0.290575,-0.074607,-0.050000,0.000000,0.000000,-1.000000, --0.294686,-0.056214,-0.050000,0.000000,0.000000,-1.000000, --0.193717,-0.049738,-0.050000,0.000000,0.000000,-1.000000, --0.196457,-0.037476,-0.050000,0.000000,0.000000,-1.000000, --0.193717,-0.049738,-0.050000,0.000000,0.000000,-1.000000, --0.294686,-0.056214,-0.050000,0.000000,0.000000,-1.000000, --0.294686,-0.056214,0.050000,0.000000,0.000000,1.000000, --0.290575,-0.074607,0.050000,0.000000,0.000000,1.000000, --0.193717,-0.049738,0.050000,0.000000,0.000000,1.000000, --0.193717,-0.049738,0.050000,0.000000,0.000000,1.000000, --0.196457,-0.037476,0.050000,0.000000,0.000000,1.000000, --0.294686,-0.056214,0.050000,0.000000,0.000000,1.000000, --0.193717,-0.049738,0.050000,0.975917,0.218143,0.000000, --0.193717,-0.049738,-0.050000,0.975917,0.218143,0.000000, --0.196457,-0.037476,0.050000,0.975917,0.218143,0.000000, --0.196457,-0.037476,-0.050000,0.975917,0.218143,0.000000, --0.196457,-0.037476,0.050000,0.975917,0.218143,0.000000, --0.193717,-0.049738,-0.050000,0.975917,0.218143,0.000000, --0.294686,-0.056214,0.050000,-0.975917,-0.218142,0.000000, --0.294686,-0.056214,-0.050000,-0.975917,-0.218142,0.000000, --0.290575,-0.074607,0.050000,-0.975917,-0.218142,0.000000, --0.290575,-0.074607,-0.050000,-0.975917,-0.218142,0.000000, --0.290575,-0.074607,0.050000,-0.975917,-0.218142,0.000000, --0.294686,-0.056214,-0.050000,-0.975917,-0.218142,0.000000, --0.294686,-0.056214,-0.050000,0.000000,0.000000,-1.000000, --0.297634,-0.037600,-0.050000,0.000000,0.000000,-1.000000, --0.196457,-0.037476,-0.050000,0.000000,0.000000,-1.000000, --0.198423,-0.025067,-0.050000,0.000000,0.000000,-1.000000, --0.196457,-0.037476,-0.050000,0.000000,0.000000,-1.000000, --0.297634,-0.037600,-0.050000,0.000000,0.000000,-1.000000, --0.297634,-0.037600,0.050000,0.000000,0.000000,1.000000, --0.294686,-0.056214,0.050000,0.000000,0.000000,1.000000, --0.196457,-0.037476,0.050000,0.000000,0.000000,1.000000, --0.196457,-0.037476,0.050000,0.000000,0.000000,1.000000, --0.198423,-0.025067,0.050000,0.000000,0.000000,1.000000, --0.297634,-0.037600,0.050000,0.000000,0.000000,1.000000, --0.196457,-0.037476,0.050000,0.987688,0.156436,0.000000, --0.196457,-0.037476,-0.050000,0.987688,0.156436,0.000000, --0.198423,-0.025067,0.050000,0.987688,0.156436,0.000000, --0.198423,-0.025067,-0.050000,0.987688,0.156436,0.000000, --0.198423,-0.025067,0.050000,0.987688,0.156436,0.000000, --0.196457,-0.037476,-0.050000,0.987688,0.156436,0.000000, --0.297634,-0.037600,0.050000,-0.987688,-0.156435,0.000000, --0.297634,-0.037600,-0.050000,-0.987688,-0.156435,0.000000, --0.294686,-0.056214,0.050000,-0.987688,-0.156435,0.000000, --0.294686,-0.056214,-0.050000,-0.987688,-0.156435,0.000000, --0.294686,-0.056214,0.050000,-0.987688,-0.156435,0.000000, --0.297634,-0.037600,-0.050000,-0.987688,-0.156435,0.000000, --0.297634,-0.037600,-0.050000,0.000000,0.000000,-1.000000, --0.299408,-0.018837,-0.050000,0.000000,0.000000,-1.000000, --0.198423,-0.025067,-0.050000,0.000000,0.000000,-1.000000, --0.199605,-0.012558,-0.050000,0.000000,0.000000,-1.000000, --0.198423,-0.025067,-0.050000,0.000000,0.000000,-1.000000, --0.299408,-0.018837,-0.050000,0.000000,0.000000,-1.000000, --0.299408,-0.018837,0.050000,0.000000,0.000000,1.000000, --0.297634,-0.037600,0.050000,0.000000,0.000000,1.000000, --0.198423,-0.025067,0.050000,0.000000,0.000000,1.000000, --0.198423,-0.025067,0.050000,0.000000,0.000000,1.000000, --0.199605,-0.012558,0.050000,0.000000,0.000000,1.000000, --0.299408,-0.018837,0.050000,0.000000,0.000000,1.000000, --0.198423,-0.025067,0.050000,0.995562,0.094107,0.000000, --0.198423,-0.025067,-0.050000,0.995562,0.094107,0.000000, --0.199605,-0.012558,0.050000,0.995562,0.094107,0.000000, --0.199605,-0.012558,-0.050000,0.995562,0.094107,0.000000, --0.199605,-0.012558,0.050000,0.995562,0.094107,0.000000, --0.198423,-0.025067,-0.050000,0.995562,0.094107,0.000000, --0.299408,-0.018837,0.050000,-0.995562,-0.094108,0.000000, --0.299408,-0.018837,-0.050000,-0.995562,-0.094108,0.000000, --0.297634,-0.037600,0.050000,-0.995562,-0.094108,0.000000, --0.297634,-0.037600,-0.050000,-0.995562,-0.094108,0.000000, --0.297634,-0.037600,0.050000,-0.995562,-0.094108,0.000000, --0.299408,-0.018837,-0.050000,-0.995562,-0.094108,0.000000, --0.299408,-0.018837,-0.050000,0.000000,0.000000,-1.000000, --0.300000,0.000000,-0.050000,0.000000,0.000000,-1.000000, --0.199605,-0.012558,-0.050000,0.000000,0.000000,-1.000000, --0.200000,0.000000,-0.050000,0.000000,0.000000,-1.000000, --0.199605,-0.012558,-0.050000,0.000000,0.000000,-1.000000, --0.300000,0.000000,-0.050000,0.000000,0.000000,-1.000000, --0.300000,0.000000,0.050000,0.000000,0.000000,1.000000, --0.299408,-0.018837,0.050000,0.000000,0.000000,1.000000, --0.199605,-0.012558,0.050000,0.000000,0.000000,1.000000, --0.199605,-0.012558,0.050000,0.000000,0.000000,1.000000, --0.200000,0.000000,0.050000,0.000000,0.000000,1.000000, --0.300000,0.000000,0.050000,0.000000,0.000000,1.000000, --0.199605,-0.012558,0.050000,0.999507,0.031411,0.000000, --0.199605,-0.012558,-0.050000,0.999507,0.031411,0.000000, --0.200000,0.000000,0.050000,0.999507,0.031411,0.000000, --0.200000,0.000000,-0.050000,0.999507,0.031411,0.000000, --0.200000,0.000000,0.050000,0.999507,0.031411,0.000000, --0.199605,-0.012558,-0.050000,0.999507,0.031411,0.000000, --0.300000,0.000000,0.050000,-0.999507,-0.031411,0.000000, --0.300000,0.000000,-0.050000,-0.999507,-0.031411,0.000000, --0.299408,-0.018837,0.050000,-0.999507,-0.031411,0.000000, --0.299408,-0.018837,-0.050000,-0.999507,-0.031411,0.000000, --0.299408,-0.018837,0.050000,-0.999507,-0.031411,0.000000, --0.300000,0.000000,-0.050000,-0.999507,-0.031411,0.000000, --0.300000,0.000000,-0.050000,0.000000,0.000000,-1.000000, --0.299408,0.018837,-0.050000,0.000000,0.000000,-1.000000, --0.200000,0.000000,-0.050000,0.000000,0.000000,-1.000000, --0.199605,0.012558,-0.050000,0.000000,0.000000,-1.000000, --0.200000,0.000000,-0.050000,0.000000,0.000000,-1.000000, --0.299408,0.018837,-0.050000,0.000000,0.000000,-1.000000, --0.299408,0.018837,0.050000,0.000000,0.000000,1.000000, --0.300000,0.000000,0.050000,0.000000,0.000000,1.000000, --0.200000,0.000000,0.050000,0.000000,0.000000,1.000000, --0.200000,0.000000,0.050000,0.000000,0.000000,1.000000, --0.199605,0.012558,0.050000,0.000000,0.000000,1.000000, --0.299408,0.018837,0.050000,0.000000,0.000000,1.000000, --0.200000,0.000000,0.050000,0.999507,-0.031411,0.000000, --0.200000,0.000000,-0.050000,0.999507,-0.031411,0.000000, --0.199605,0.012558,0.050000,0.999507,-0.031411,0.000000, --0.199605,0.012558,-0.050000,0.999507,-0.031411,0.000000, --0.199605,0.012558,0.050000,0.999507,-0.031411,0.000000, --0.200000,0.000000,-0.050000,0.999507,-0.031411,0.000000, --0.299408,0.018837,0.050000,-0.999507,0.031411,0.000000, --0.299408,0.018837,-0.050000,-0.999507,0.031411,0.000000, --0.300000,0.000000,0.050000,-0.999507,0.031411,0.000000, --0.300000,0.000000,-0.050000,-0.999507,0.031411,0.000000, --0.300000,0.000000,0.050000,-0.999507,0.031411,0.000000, --0.299408,0.018837,-0.050000,-0.999507,0.031411,0.000000, --0.299408,0.018837,-0.050000,0.000000,0.000000,-1.000000, --0.297634,0.037600,-0.050000,0.000000,0.000000,-1.000000, --0.199605,0.012558,-0.050000,0.000000,0.000000,-1.000000, --0.198423,0.025067,-0.050000,0.000000,0.000000,-1.000000, --0.199605,0.012558,-0.050000,0.000000,0.000000,-1.000000, --0.297634,0.037600,-0.050000,0.000000,0.000000,-1.000000, --0.297634,0.037600,0.050000,0.000000,0.000000,1.000000, --0.299408,0.018837,0.050000,0.000000,0.000000,1.000000, --0.199605,0.012558,0.050000,0.000000,0.000000,1.000000, --0.199605,0.012558,0.050000,0.000000,0.000000,1.000000, --0.198423,0.025067,0.050000,0.000000,0.000000,1.000000, --0.297634,0.037600,0.050000,0.000000,0.000000,1.000000, --0.199605,0.012558,0.050000,0.995562,-0.094107,0.000000, --0.199605,0.012558,-0.050000,0.995562,-0.094107,0.000000, --0.198423,0.025067,0.050000,0.995562,-0.094107,0.000000, --0.198423,0.025067,-0.050000,0.995562,-0.094107,0.000000, --0.198423,0.025067,0.050000,0.995562,-0.094107,0.000000, --0.199605,0.012558,-0.050000,0.995562,-0.094107,0.000000, --0.297634,0.037600,0.050000,-0.995562,0.094108,0.000000, --0.297634,0.037600,-0.050000,-0.995562,0.094108,0.000000, --0.299408,0.018837,0.050000,-0.995562,0.094108,0.000000, --0.299408,0.018837,-0.050000,-0.995562,0.094108,0.000000, --0.299408,0.018837,0.050000,-0.995562,0.094108,0.000000, --0.297634,0.037600,-0.050000,-0.995562,0.094108,0.000000, --0.297634,0.037600,-0.050000,0.000000,0.000000,-1.000000, --0.294686,0.056214,-0.050000,0.000000,0.000000,-1.000000, --0.198423,0.025067,-0.050000,0.000000,0.000000,-1.000000, --0.196457,0.037476,-0.050000,0.000000,0.000000,-1.000000, --0.198423,0.025067,-0.050000,0.000000,0.000000,-1.000000, --0.294686,0.056214,-0.050000,0.000000,0.000000,-1.000000, --0.294686,0.056214,0.050000,0.000000,0.000000,1.000000, --0.297634,0.037600,0.050000,0.000000,0.000000,1.000000, --0.198423,0.025067,0.050000,0.000000,0.000000,1.000000, --0.198423,0.025067,0.050000,0.000000,0.000000,1.000000, --0.196457,0.037476,0.050000,0.000000,0.000000,1.000000, --0.294686,0.056214,0.050000,0.000000,0.000000,1.000000, --0.198423,0.025067,0.050000,0.987688,-0.156436,0.000000, --0.198423,0.025067,-0.050000,0.987688,-0.156436,0.000000, --0.196457,0.037476,0.050000,0.987688,-0.156436,0.000000, --0.196457,0.037476,-0.050000,0.987688,-0.156436,0.000000, --0.196457,0.037476,0.050000,0.987688,-0.156436,0.000000, --0.198423,0.025067,-0.050000,0.987688,-0.156436,0.000000, --0.294686,0.056214,0.050000,-0.987688,0.156435,0.000000, --0.294686,0.056214,-0.050000,-0.987688,0.156435,0.000000, --0.297634,0.037600,0.050000,-0.987688,0.156435,0.000000, --0.297634,0.037600,-0.050000,-0.987688,0.156435,0.000000, --0.297634,0.037600,0.050000,-0.987688,0.156435,0.000000, --0.294686,0.056214,-0.050000,-0.987688,0.156435,0.000000, --0.294686,0.056214,-0.050000,0.000000,0.000000,-1.000000, --0.290575,0.074607,-0.050000,0.000000,0.000000,-1.000000, --0.196457,0.037476,-0.050000,0.000000,0.000000,-1.000000, --0.193717,0.049738,-0.050000,0.000000,0.000000,-1.000000, --0.196457,0.037476,-0.050000,0.000000,0.000000,-1.000000, --0.290575,0.074607,-0.050000,0.000000,0.000000,-1.000000, --0.290575,0.074607,0.050000,0.000000,0.000000,1.000000, --0.294686,0.056214,0.050000,0.000000,0.000000,1.000000, --0.196457,0.037476,0.050000,0.000000,0.000000,1.000000, --0.196457,0.037476,0.050000,0.000000,0.000000,1.000000, --0.193717,0.049738,0.050000,0.000000,0.000000,1.000000, --0.290575,0.074607,0.050000,0.000000,0.000000,1.000000, --0.196457,0.037476,0.050000,0.975917,-0.218143,0.000000, --0.196457,0.037476,-0.050000,0.975917,-0.218143,0.000000, --0.193717,0.049738,0.050000,0.975917,-0.218143,0.000000, --0.193717,0.049738,-0.050000,0.975917,-0.218143,0.000000, --0.193717,0.049738,0.050000,0.975917,-0.218143,0.000000, --0.196457,0.037476,-0.050000,0.975917,-0.218143,0.000000, --0.290575,0.074607,0.050000,-0.975917,0.218143,0.000000, --0.290575,0.074607,-0.050000,-0.975917,0.218143,0.000000, --0.294686,0.056214,0.050000,-0.975917,0.218143,0.000000, --0.294686,0.056214,-0.050000,-0.975917,0.218143,0.000000, --0.294686,0.056214,0.050000,-0.975917,0.218143,0.000000, --0.290575,0.074607,-0.050000,-0.975917,0.218143,0.000000, --0.290575,0.074607,-0.050000,0.000000,0.000000,-1.000000, --0.285317,0.092705,-0.050000,0.000000,0.000000,-1.000000, --0.193717,0.049738,-0.050000,0.000000,0.000000,-1.000000, --0.190211,0.061803,-0.050000,0.000000,0.000000,-1.000000, --0.193717,0.049738,-0.050000,0.000000,0.000000,-1.000000, --0.285317,0.092705,-0.050000,0.000000,0.000000,-1.000000, --0.285317,0.092705,0.050000,0.000000,0.000000,1.000000, --0.290575,0.074607,0.050000,0.000000,0.000000,1.000000, --0.193717,0.049738,0.050000,0.000000,0.000000,1.000000, --0.193717,0.049738,0.050000,0.000000,0.000000,1.000000, --0.190211,0.061803,0.050000,0.000000,0.000000,1.000000, --0.285317,0.092705,0.050000,0.000000,0.000000,1.000000, --0.193717,0.049738,0.050000,0.960294,-0.278991,0.000000, --0.193717,0.049738,-0.050000,0.960294,-0.278991,0.000000, --0.190211,0.061803,0.050000,0.960294,-0.278991,0.000000, --0.190211,0.061803,-0.050000,0.960294,-0.278991,0.000000, --0.190211,0.061803,0.050000,0.960294,-0.278991,0.000000, --0.193717,0.049738,-0.050000,0.960294,-0.278991,0.000000, --0.285317,0.092705,0.050000,-0.960294,0.278991,0.000000, --0.285317,0.092705,-0.050000,-0.960294,0.278991,0.000000, --0.290575,0.074607,0.050000,-0.960294,0.278991,0.000000, --0.290575,0.074607,-0.050000,-0.960294,0.278991,0.000000, --0.290575,0.074607,0.050000,-0.960294,0.278991,0.000000, --0.285317,0.092705,-0.050000,-0.960294,0.278991,0.000000, --0.285317,0.092705,-0.050000,0.000000,0.000000,-1.000000, --0.278933,0.110437,-0.050000,0.000000,0.000000,-1.000000, --0.190211,0.061803,-0.050000,0.000000,0.000000,-1.000000, --0.185955,0.073625,-0.050000,0.000000,0.000000,-1.000000, --0.190211,0.061803,-0.050000,0.000000,0.000000,-1.000000, --0.278933,0.110437,-0.050000,0.000000,0.000000,-1.000000, --0.278933,0.110437,0.050000,0.000000,0.000000,1.000000, --0.285317,0.092705,0.050000,0.000000,0.000000,1.000000, --0.190211,0.061803,0.050000,0.000000,0.000000,1.000000, --0.190211,0.061803,0.050000,0.000000,0.000000,1.000000, --0.185955,0.073625,0.050000,0.000000,0.000000,1.000000, --0.278933,0.110437,0.050000,0.000000,0.000000,1.000000, --0.190211,0.061803,0.050000,0.940881,-0.338738,0.000000, --0.190211,0.061803,-0.050000,0.940881,-0.338738,0.000000, --0.185955,0.073625,0.050000,0.940881,-0.338738,0.000000, --0.185955,0.073625,-0.050000,0.940881,-0.338738,0.000000, --0.185955,0.073625,0.050000,0.940881,-0.338738,0.000000, --0.190211,0.061803,-0.050000,0.940881,-0.338738,0.000000, --0.278933,0.110437,0.050000,-0.940881,0.338738,0.000000, --0.278933,0.110437,-0.050000,-0.940881,0.338738,0.000000, --0.285317,0.092705,0.050000,-0.940881,0.338738,0.000000, --0.285317,0.092705,-0.050000,-0.940881,0.338738,0.000000, --0.285317,0.092705,0.050000,-0.940881,0.338738,0.000000, --0.278933,0.110437,-0.050000,-0.940881,0.338738,0.000000, --0.278933,0.110437,-0.050000,0.000000,0.000000,-1.000000, --0.271448,0.127734,-0.050000,0.000000,0.000000,-1.000000, --0.185955,0.073625,-0.050000,0.000000,0.000000,-1.000000, --0.180965,0.085156,-0.050000,0.000000,0.000000,-1.000000, --0.185955,0.073625,-0.050000,0.000000,0.000000,-1.000000, --0.271448,0.127734,-0.050000,0.000000,0.000000,-1.000000, --0.271448,0.127734,0.050000,0.000000,0.000000,1.000000, --0.278933,0.110437,0.050000,0.000000,0.000000,1.000000, --0.185955,0.073625,0.050000,0.000000,0.000000,1.000000, --0.185955,0.073625,0.050000,0.000000,0.000000,1.000000, --0.180965,0.085156,0.050000,0.000000,0.000000,1.000000, --0.271448,0.127734,0.050000,0.000000,0.000000,1.000000, --0.185955,0.073625,0.050000,0.917755,-0.397147,0.000000, --0.185955,0.073625,-0.050000,0.917755,-0.397147,0.000000, --0.180965,0.085156,0.050000,0.917755,-0.397147,0.000000, --0.180965,0.085156,-0.050000,0.917755,-0.397147,0.000000, --0.180965,0.085156,0.050000,0.917755,-0.397147,0.000000, --0.185955,0.073625,-0.050000,0.917755,-0.397147,0.000000, --0.271448,0.127734,0.050000,-0.917755,0.397148,0.000000, --0.271448,0.127734,-0.050000,-0.917755,0.397148,0.000000, --0.278933,0.110437,0.050000,-0.917755,0.397148,0.000000, --0.278933,0.110437,-0.050000,-0.917755,0.397148,0.000000, --0.278933,0.110437,0.050000,-0.917755,0.397148,0.000000, --0.271448,0.127734,-0.050000,-0.917755,0.397148,0.000000, --0.271448,0.127734,-0.050000,0.000000,0.000000,-1.000000, --0.262892,0.144526,-0.050000,0.000000,0.000000,-1.000000, --0.180965,0.085156,-0.050000,0.000000,0.000000,-1.000000, --0.175261,0.096351,-0.050000,0.000000,0.000000,-1.000000, --0.180965,0.085156,-0.050000,0.000000,0.000000,-1.000000, --0.262892,0.144526,-0.050000,0.000000,0.000000,-1.000000, --0.262892,0.144526,0.050000,0.000000,0.000000,1.000000, --0.271448,0.127734,0.050000,0.000000,0.000000,1.000000, --0.180965,0.085156,0.050000,0.000000,0.000000,1.000000, --0.180965,0.085156,0.050000,0.000000,0.000000,1.000000, --0.175261,0.096351,0.050000,0.000000,0.000000,1.000000, --0.262892,0.144526,0.050000,0.000000,0.000000,1.000000, --0.180965,0.085156,0.050000,0.891006,-0.453991,0.000000, --0.180965,0.085156,-0.050000,0.891006,-0.453991,0.000000, --0.175261,0.096351,0.050000,0.891006,-0.453991,0.000000, --0.175261,0.096351,-0.050000,0.891006,-0.453991,0.000000, --0.175261,0.096351,0.050000,0.891006,-0.453991,0.000000, --0.180965,0.085156,-0.050000,0.891006,-0.453991,0.000000, --0.262892,0.144526,0.050000,-0.891006,0.453991,0.000000, --0.262892,0.144526,-0.050000,-0.891006,0.453991,0.000000, --0.271448,0.127734,0.050000,-0.891006,0.453991,0.000000, --0.271448,0.127734,-0.050000,-0.891006,0.453991,0.000000, --0.271448,0.127734,0.050000,-0.891006,0.453991,0.000000, --0.262892,0.144526,-0.050000,-0.891006,0.453991,0.000000, --0.262892,0.144526,-0.050000,0.000000,0.000000,-1.000000, --0.253298,0.160748,-0.050000,0.000000,0.000000,-1.000000, --0.175261,0.096351,-0.050000,0.000000,0.000000,-1.000000, --0.168866,0.107165,-0.050000,0.000000,0.000000,-1.000000, --0.175261,0.096351,-0.050000,0.000000,0.000000,-1.000000, --0.253298,0.160748,-0.050000,0.000000,0.000000,-1.000000, --0.253298,0.160748,0.050000,0.000000,0.000000,1.000000, --0.262892,0.144526,0.050000,0.000000,0.000000,1.000000, --0.175261,0.096351,0.050000,0.000000,0.000000,1.000000, --0.175261,0.096351,0.050000,0.000000,0.000000,1.000000, --0.168866,0.107165,0.050000,0.000000,0.000000,1.000000, --0.253298,0.160748,0.050000,0.000000,0.000000,1.000000, --0.175261,0.096351,0.050000,0.860742,-0.509042,0.000000, --0.175261,0.096351,-0.050000,0.860742,-0.509042,0.000000, --0.168866,0.107165,0.050000,0.860742,-0.509042,0.000000, --0.168866,0.107165,-0.050000,0.860742,-0.509042,0.000000, --0.168866,0.107165,0.050000,0.860742,-0.509042,0.000000, --0.175261,0.096351,-0.050000,0.860742,-0.509042,0.000000, --0.253298,0.160748,0.050000,-0.860742,0.509041,0.000000, --0.253298,0.160748,-0.050000,-0.860742,0.509041,0.000000, --0.262892,0.144526,0.050000,-0.860742,0.509041,0.000000, --0.262892,0.144526,-0.050000,-0.860742,0.509041,0.000000, --0.262892,0.144526,0.050000,-0.860742,0.509041,0.000000, --0.253298,0.160748,-0.050000,-0.860742,0.509041,0.000000, --0.253298,0.160748,-0.050000,0.000000,0.000000,-1.000000, --0.242705,0.176336,-0.050000,0.000000,0.000000,-1.000000, --0.168866,0.107165,-0.050000,0.000000,0.000000,-1.000000, --0.161803,0.117557,-0.050000,0.000000,0.000000,-1.000000, --0.168866,0.107165,-0.050000,0.000000,0.000000,-1.000000, --0.242705,0.176336,-0.050000,0.000000,0.000000,-1.000000, --0.242705,0.176336,0.050000,0.000000,0.000000,1.000000, --0.253298,0.160748,0.050000,0.000000,0.000000,1.000000, --0.168866,0.107165,0.050000,0.000000,0.000000,1.000000, --0.168866,0.107165,0.050000,0.000000,0.000000,1.000000, --0.161803,0.117557,0.050000,0.000000,0.000000,1.000000, --0.242705,0.176336,0.050000,0.000000,0.000000,1.000000, --0.168866,0.107165,0.050000,0.827080,-0.562083,0.000000, --0.168866,0.107165,-0.050000,0.827080,-0.562083,0.000000, --0.161803,0.117557,0.050000,0.827080,-0.562083,0.000000, --0.161803,0.117557,-0.050000,0.827080,-0.562083,0.000000, --0.161803,0.117557,0.050000,0.827080,-0.562083,0.000000, --0.168866,0.107165,-0.050000,0.827080,-0.562083,0.000000, --0.242705,0.176336,0.050000,-0.827081,0.562083,0.000000, --0.242705,0.176336,-0.050000,-0.827081,0.562083,0.000000, --0.253298,0.160748,0.050000,-0.827081,0.562083,0.000000, --0.253298,0.160748,-0.050000,-0.827081,0.562083,0.000000, --0.253298,0.160748,0.050000,-0.827081,0.562083,0.000000, --0.242705,0.176336,-0.050000,-0.827081,0.562083,0.000000, --0.242705,0.176336,-0.050000,0.000000,0.000000,-1.000000, --0.231154,0.191227,-0.050000,0.000000,0.000000,-1.000000, --0.161803,0.117557,-0.050000,0.000000,0.000000,-1.000000, --0.154103,0.127485,-0.050000,0.000000,0.000000,-1.000000, --0.161803,0.117557,-0.050000,0.000000,0.000000,-1.000000, --0.231154,0.191227,-0.050000,0.000000,0.000000,-1.000000, --0.231154,0.191227,0.050000,0.000000,0.000000,1.000000, --0.242705,0.176336,0.050000,0.000000,0.000000,1.000000, --0.161803,0.117557,0.050000,0.000000,0.000000,1.000000, --0.161803,0.117557,0.050000,0.000000,0.000000,1.000000, --0.154103,0.127485,0.050000,0.000000,0.000000,1.000000, --0.231154,0.191227,0.050000,0.000000,0.000000,1.000000, --0.161803,0.117557,0.050000,0.790155,-0.612906,0.000000, --0.161803,0.117557,-0.050000,0.790155,-0.612906,0.000000, --0.154103,0.127485,0.050000,0.790155,-0.612906,0.000000, --0.154103,0.127485,-0.050000,0.790155,-0.612906,0.000000, --0.154103,0.127485,0.050000,0.790155,-0.612906,0.000000, --0.161803,0.117557,-0.050000,0.790155,-0.612906,0.000000, --0.231154,0.191227,0.050000,-0.790155,0.612907,0.000000, --0.231154,0.191227,-0.050000,-0.790155,0.612907,0.000000, --0.242705,0.176336,0.050000,-0.790155,0.612907,0.000000, --0.242705,0.176336,-0.050000,-0.790155,0.612907,0.000000, --0.242705,0.176336,0.050000,-0.790155,0.612907,0.000000, --0.231154,0.191227,-0.050000,-0.790155,0.612907,0.000000, --0.231154,0.191227,-0.050000,0.000000,0.000000,-1.000000, --0.218691,0.205364,-0.050000,0.000000,0.000000,-1.000000, --0.154103,0.127485,-0.050000,0.000000,0.000000,-1.000000, --0.145794,0.136909,-0.050000,0.000000,0.000000,-1.000000, --0.154103,0.127485,-0.050000,0.000000,0.000000,-1.000000, --0.218691,0.205364,-0.050000,0.000000,0.000000,-1.000000, --0.218691,0.205364,0.050000,0.000000,0.000000,1.000000, --0.231154,0.191227,0.050000,0.000000,0.000000,1.000000, --0.154103,0.127485,0.050000,0.000000,0.000000,1.000000, --0.154103,0.127485,0.050000,0.000000,0.000000,1.000000, --0.145794,0.136909,0.050000,0.000000,0.000000,1.000000, --0.218691,0.205364,0.050000,0.000000,0.000000,1.000000, --0.154103,0.127485,0.050000,0.750111,-0.661311,0.000000, --0.154103,0.127485,-0.050000,0.750111,-0.661311,0.000000, --0.145794,0.136909,0.050000,0.750111,-0.661311,0.000000, --0.145794,0.136909,-0.050000,0.750111,-0.661311,0.000000, --0.145794,0.136909,0.050000,0.750111,-0.661311,0.000000, --0.154103,0.127485,-0.050000,0.750111,-0.661311,0.000000, --0.218691,0.205364,0.050000,-0.750111,0.661312,0.000000, --0.218691,0.205364,-0.050000,-0.750111,0.661312,0.000000, --0.231154,0.191227,0.050000,-0.750111,0.661312,0.000000, --0.231154,0.191227,-0.050000,-0.750111,0.661312,0.000000, --0.231154,0.191227,0.050000,-0.750111,0.661312,0.000000, --0.218691,0.205364,-0.050000,-0.750111,0.661312,0.000000, --0.218691,0.205364,-0.050000,0.000000,0.000000,-1.000000, --0.205364,0.218691,-0.050000,0.000000,0.000000,-1.000000, --0.145794,0.136909,-0.050000,0.000000,0.000000,-1.000000, --0.136909,0.145794,-0.050000,0.000000,0.000000,-1.000000, --0.145794,0.136909,-0.050000,0.000000,0.000000,-1.000000, --0.205364,0.218691,-0.050000,0.000000,0.000000,-1.000000, --0.205364,0.218691,0.050000,0.000000,0.000000,1.000000, --0.218691,0.205364,0.050000,0.000000,0.000000,1.000000, --0.145794,0.136909,0.050000,0.000000,0.000000,1.000000, --0.145794,0.136909,0.050000,0.000000,0.000000,1.000000, --0.136909,0.145794,0.050000,0.000000,0.000000,1.000000, --0.205364,0.218691,0.050000,0.000000,0.000000,1.000000, --0.145794,0.136909,0.050000,0.707107,-0.707107,0.000000, --0.145794,0.136909,-0.050000,0.707107,-0.707107,0.000000, --0.136909,0.145794,0.050000,0.707107,-0.707107,0.000000, --0.136909,0.145794,-0.050000,0.707107,-0.707107,0.000000, --0.136909,0.145794,0.050000,0.707107,-0.707107,0.000000, --0.145794,0.136909,-0.050000,0.707107,-0.707107,0.000000, --0.205364,0.218691,0.050000,-0.707107,0.707107,0.000000, --0.205364,0.218691,-0.050000,-0.707107,0.707107,0.000000, --0.218691,0.205364,0.050000,-0.707107,0.707107,0.000000, --0.218691,0.205364,-0.050000,-0.707107,0.707107,0.000000, --0.218691,0.205364,0.050000,-0.707107,0.707107,0.000000, --0.205364,0.218691,-0.050000,-0.707107,0.707107,0.000000, --0.205364,0.218691,-0.050000,0.000000,0.000000,-1.000000, --0.191227,0.231154,-0.050000,0.000000,0.000000,-1.000000, --0.136909,0.145794,-0.050000,0.000000,0.000000,-1.000000, --0.127485,0.154103,-0.050000,0.000000,0.000000,-1.000000, --0.136909,0.145794,-0.050000,0.000000,0.000000,-1.000000, --0.191227,0.231154,-0.050000,0.000000,0.000000,-1.000000, --0.191227,0.231154,0.050000,0.000000,0.000000,1.000000, --0.205364,0.218691,0.050000,0.000000,0.000000,1.000000, --0.136909,0.145794,0.050000,0.000000,0.000000,1.000000, --0.136909,0.145794,0.050000,0.000000,0.000000,1.000000, --0.127485,0.154103,0.050000,0.000000,0.000000,1.000000, --0.191227,0.231154,0.050000,0.000000,0.000000,1.000000, --0.136909,0.145794,0.050000,0.661311,-0.750111,0.000000, --0.136909,0.145794,-0.050000,0.661311,-0.750111,0.000000, --0.127485,0.154103,0.050000,0.661311,-0.750111,0.000000, --0.127485,0.154103,-0.050000,0.661311,-0.750111,0.000000, --0.127485,0.154103,0.050000,0.661311,-0.750111,0.000000, --0.136909,0.145794,-0.050000,0.661311,-0.750111,0.000000, --0.191227,0.231154,0.050000,-0.661312,0.750111,0.000000, --0.191227,0.231154,-0.050000,-0.661312,0.750111,0.000000, --0.205364,0.218691,0.050000,-0.661312,0.750111,0.000000, --0.205364,0.218691,-0.050000,-0.661312,0.750111,0.000000, --0.205364,0.218691,0.050000,-0.661312,0.750111,0.000000, --0.191227,0.231154,-0.050000,-0.661312,0.750111,0.000000, --0.191227,0.231154,-0.050000,0.000000,0.000000,-1.000000, --0.176336,0.242705,-0.050000,0.000000,0.000000,-1.000000, --0.127485,0.154103,-0.050000,0.000000,0.000000,-1.000000, --0.117557,0.161803,-0.050000,0.000000,0.000000,-1.000000, --0.127485,0.154103,-0.050000,0.000000,0.000000,-1.000000, --0.176336,0.242705,-0.050000,0.000000,0.000000,-1.000000, --0.176336,0.242705,0.050000,0.000000,0.000000,1.000000, --0.191227,0.231154,0.050000,0.000000,0.000000,1.000000, --0.127485,0.154103,0.050000,0.000000,0.000000,1.000000, --0.127485,0.154103,0.050000,0.000000,0.000000,1.000000, --0.117557,0.161803,0.050000,0.000000,0.000000,1.000000, --0.176336,0.242705,0.050000,0.000000,0.000000,1.000000, --0.127485,0.154103,0.050000,0.612907,-0.790155,0.000000, --0.127485,0.154103,-0.050000,0.612907,-0.790155,0.000000, --0.117557,0.161803,0.050000,0.612907,-0.790155,0.000000, --0.117557,0.161803,-0.050000,0.612907,-0.790155,0.000000, --0.117557,0.161803,0.050000,0.612907,-0.790155,0.000000, --0.127485,0.154103,-0.050000,0.612907,-0.790155,0.000000, --0.176336,0.242705,0.050000,-0.612907,0.790155,0.000000, --0.176336,0.242705,-0.050000,-0.612907,0.790155,0.000000, --0.191227,0.231154,0.050000,-0.612907,0.790155,0.000000, --0.191227,0.231154,-0.050000,-0.612907,0.790155,0.000000, --0.191227,0.231154,0.050000,-0.612907,0.790155,0.000000, --0.176336,0.242705,-0.050000,-0.612907,0.790155,0.000000, --0.176336,0.242705,-0.050000,0.000000,0.000000,-1.000000, --0.160748,0.253298,-0.050000,0.000000,0.000000,-1.000000, --0.117557,0.161803,-0.050000,0.000000,0.000000,-1.000000, --0.107165,0.168866,-0.050000,0.000000,0.000000,-1.000000, --0.117557,0.161803,-0.050000,0.000000,0.000000,-1.000000, --0.160748,0.253298,-0.050000,0.000000,0.000000,-1.000000, --0.160748,0.253298,0.050000,0.000000,0.000000,1.000000, --0.176336,0.242705,0.050000,0.000000,0.000000,1.000000, --0.117557,0.161803,0.050000,0.000000,0.000000,1.000000, --0.117557,0.161803,0.050000,0.000000,0.000000,1.000000, --0.107165,0.168866,0.050000,0.000000,0.000000,1.000000, --0.160748,0.253298,0.050000,0.000000,0.000000,1.000000, --0.117557,0.161803,0.050000,0.562083,-0.827081,0.000000, --0.117557,0.161803,-0.050000,0.562083,-0.827081,0.000000, --0.107165,0.168866,0.050000,0.562083,-0.827081,0.000000, --0.107165,0.168866,-0.050000,0.562083,-0.827081,0.000000, --0.107165,0.168866,0.050000,0.562083,-0.827081,0.000000, --0.117557,0.161803,-0.050000,0.562083,-0.827081,0.000000, --0.160748,0.253298,0.050000,-0.562083,0.827081,0.000000, --0.160748,0.253298,-0.050000,-0.562083,0.827081,0.000000, --0.176336,0.242705,0.050000,-0.562083,0.827081,0.000000, --0.176336,0.242705,-0.050000,-0.562083,0.827081,0.000000, --0.176336,0.242705,0.050000,-0.562083,0.827081,0.000000, --0.160748,0.253298,-0.050000,-0.562083,0.827081,0.000000, --0.160748,0.253298,-0.050000,0.000000,0.000000,-1.000000, --0.144526,0.262892,-0.050000,0.000000,0.000000,-1.000000, --0.107165,0.168866,-0.050000,0.000000,0.000000,-1.000000, --0.096351,0.175261,-0.050000,0.000000,0.000000,-1.000000, --0.107165,0.168866,-0.050000,0.000000,0.000000,-1.000000, --0.144526,0.262892,-0.050000,0.000000,0.000000,-1.000000, --0.144526,0.262892,0.050000,0.000000,0.000000,1.000000, --0.160748,0.253298,0.050000,0.000000,0.000000,1.000000, --0.107165,0.168866,0.050000,0.000000,0.000000,1.000000, --0.107165,0.168866,0.050000,0.000000,0.000000,1.000000, --0.096351,0.175261,0.050000,0.000000,0.000000,1.000000, --0.144526,0.262892,0.050000,0.000000,0.000000,1.000000, --0.107165,0.168866,0.050000,0.509042,-0.860742,0.000000, --0.107165,0.168866,-0.050000,0.509042,-0.860742,0.000000, --0.096351,0.175261,0.050000,0.509042,-0.860742,0.000000, --0.096351,0.175261,-0.050000,0.509042,-0.860742,0.000000, --0.096351,0.175261,0.050000,0.509042,-0.860742,0.000000, --0.107165,0.168866,-0.050000,0.509042,-0.860742,0.000000, --0.144526,0.262892,0.050000,-0.509042,0.860742,0.000000, --0.144526,0.262892,-0.050000,-0.509042,0.860742,0.000000, --0.160748,0.253298,0.050000,-0.509042,0.860742,0.000000, --0.160748,0.253298,-0.050000,-0.509042,0.860742,0.000000, --0.160748,0.253298,0.050000,-0.509042,0.860742,0.000000, --0.144526,0.262892,-0.050000,-0.509042,0.860742,0.000000, --0.144526,0.262892,-0.050000,0.000000,0.000000,-1.000000, --0.127734,0.271448,-0.050000,0.000000,0.000000,-1.000000, --0.096351,0.175261,-0.050000,0.000000,0.000000,-1.000000, --0.085156,0.180965,-0.050000,0.000000,0.000000,-1.000000, --0.096351,0.175261,-0.050000,0.000000,0.000000,-1.000000, --0.127734,0.271448,-0.050000,0.000000,0.000000,-1.000000, --0.127734,0.271448,0.050000,0.000000,0.000000,1.000000, --0.144526,0.262892,0.050000,0.000000,0.000000,1.000000, --0.096351,0.175261,0.050000,0.000000,0.000000,1.000000, --0.096351,0.175261,0.050000,0.000000,0.000000,1.000000, --0.085156,0.180965,0.050000,0.000000,0.000000,1.000000, --0.127734,0.271448,0.050000,0.000000,0.000000,1.000000, --0.096351,0.175261,0.050000,0.453990,-0.891007,0.000000, --0.096351,0.175261,-0.050000,0.453990,-0.891007,0.000000, --0.085156,0.180965,0.050000,0.453990,-0.891007,0.000000, --0.085156,0.180965,-0.050000,0.453990,-0.891007,0.000000, --0.085156,0.180965,0.050000,0.453990,-0.891007,0.000000, --0.096351,0.175261,-0.050000,0.453990,-0.891007,0.000000, --0.127734,0.271448,0.050000,-0.453991,0.891006,0.000000, --0.127734,0.271448,-0.050000,-0.453991,0.891006,0.000000, --0.144526,0.262892,0.050000,-0.453991,0.891006,0.000000, --0.144526,0.262892,-0.050000,-0.453991,0.891006,0.000000, --0.144526,0.262892,0.050000,-0.453991,0.891006,0.000000, --0.127734,0.271448,-0.050000,-0.453991,0.891006,0.000000, --0.127734,0.271448,-0.050000,0.000000,0.000000,-1.000000, --0.110437,0.278933,-0.050000,0.000000,0.000000,-1.000000, --0.085156,0.180965,-0.050000,0.000000,0.000000,-1.000000, --0.073625,0.185955,-0.050000,0.000000,0.000000,-1.000000, --0.085156,0.180965,-0.050000,0.000000,0.000000,-1.000000, --0.110437,0.278933,-0.050000,0.000000,0.000000,-1.000000, --0.110437,0.278933,0.050000,0.000000,0.000000,1.000000, --0.127734,0.271448,0.050000,0.000000,0.000000,1.000000, --0.085156,0.180965,0.050000,0.000000,0.000000,1.000000, --0.085156,0.180965,0.050000,0.000000,0.000000,1.000000, --0.073625,0.185955,0.050000,0.000000,0.000000,1.000000, --0.110437,0.278933,0.050000,0.000000,0.000000,1.000000, --0.085156,0.180965,0.050000,0.397148,-0.917754,0.000000, --0.085156,0.180965,-0.050000,0.397148,-0.917754,0.000000, --0.073625,0.185955,0.050000,0.397148,-0.917754,0.000000, --0.073625,0.185955,-0.050000,0.397148,-0.917754,0.000000, --0.073625,0.185955,0.050000,0.397148,-0.917754,0.000000, --0.085156,0.180965,-0.050000,0.397148,-0.917754,0.000000, --0.110437,0.278933,0.050000,-0.397148,0.917755,0.000000, --0.110437,0.278933,-0.050000,-0.397148,0.917755,0.000000, --0.127734,0.271448,0.050000,-0.397148,0.917755,0.000000, --0.127734,0.271448,-0.050000,-0.397148,0.917755,0.000000, --0.127734,0.271448,0.050000,-0.397148,0.917755,0.000000, --0.110437,0.278933,-0.050000,-0.397148,0.917755,0.000000, --0.110437,0.278933,-0.050000,0.000000,0.000000,-1.000000, --0.092705,0.285317,-0.050000,0.000000,0.000000,-1.000000, --0.073625,0.185955,-0.050000,0.000000,0.000000,-1.000000, --0.061803,0.190211,-0.050000,0.000000,0.000000,-1.000000, --0.073625,0.185955,-0.050000,0.000000,0.000000,-1.000000, --0.092705,0.285317,-0.050000,0.000000,0.000000,-1.000000, --0.092705,0.285317,0.050000,0.000000,0.000000,1.000000, --0.110437,0.278933,0.050000,0.000000,0.000000,1.000000, --0.073625,0.185955,0.050000,0.000000,0.000000,1.000000, --0.073625,0.185955,0.050000,0.000000,0.000000,1.000000, --0.061803,0.190211,0.050000,0.000000,0.000000,1.000000, --0.092705,0.285317,0.050000,0.000000,0.000000,1.000000, --0.073625,0.185955,0.050000,0.338738,-0.940881,0.000000, --0.073625,0.185955,-0.050000,0.338738,-0.940881,0.000000, --0.061803,0.190211,0.050000,0.338738,-0.940881,0.000000, --0.061803,0.190211,-0.050000,0.338738,-0.940881,0.000000, --0.061803,0.190211,0.050000,0.338738,-0.940881,0.000000, --0.073625,0.185955,-0.050000,0.338738,-0.940881,0.000000, --0.092705,0.285317,0.050000,-0.338738,0.940881,0.000000, --0.092705,0.285317,-0.050000,-0.338738,0.940881,0.000000, --0.110437,0.278933,0.050000,-0.338738,0.940881,0.000000, --0.110437,0.278933,-0.050000,-0.338738,0.940881,0.000000, --0.110437,0.278933,0.050000,-0.338738,0.940881,0.000000, --0.092705,0.285317,-0.050000,-0.338738,0.940881,0.000000, --0.092705,0.285317,-0.050000,0.000000,0.000000,-1.000000, --0.074607,0.290575,-0.050000,0.000000,0.000000,-1.000000, --0.061803,0.190211,-0.050000,0.000000,0.000000,-1.000000, --0.049738,0.193717,-0.050000,0.000000,0.000000,-1.000000, --0.061803,0.190211,-0.050000,0.000000,0.000000,-1.000000, --0.074607,0.290575,-0.050000,0.000000,0.000000,-1.000000, --0.074607,0.290575,0.050000,0.000000,0.000000,1.000000, --0.092705,0.285317,0.050000,0.000000,0.000000,1.000000, --0.061803,0.190211,0.050000,0.000000,0.000000,1.000000, --0.061803,0.190211,0.050000,0.000000,0.000000,1.000000, --0.049738,0.193717,0.050000,0.000000,0.000000,1.000000, --0.074607,0.290575,0.050000,0.000000,0.000000,1.000000, --0.061803,0.190211,0.050000,0.278990,-0.960294,0.000000, --0.061803,0.190211,-0.050000,0.278990,-0.960294,0.000000, --0.049738,0.193717,0.050000,0.278990,-0.960294,0.000000, --0.049738,0.193717,-0.050000,0.278990,-0.960294,0.000000, --0.049738,0.193717,0.050000,0.278990,-0.960294,0.000000, --0.061803,0.190211,-0.050000,0.278990,-0.960294,0.000000, --0.074607,0.290575,0.050000,-0.278991,0.960294,0.000000, --0.074607,0.290575,-0.050000,-0.278991,0.960294,0.000000, --0.092705,0.285317,0.050000,-0.278991,0.960294,0.000000, --0.092705,0.285317,-0.050000,-0.278991,0.960294,0.000000, --0.092705,0.285317,0.050000,-0.278991,0.960294,0.000000, --0.074607,0.290575,-0.050000,-0.278991,0.960294,0.000000, --0.074607,0.290575,-0.050000,0.000000,0.000000,-1.000000, --0.056214,0.294686,-0.050000,0.000000,0.000000,-1.000000, --0.049738,0.193717,-0.050000,0.000000,0.000000,-1.000000, --0.037476,0.196457,-0.050000,0.000000,0.000000,-1.000000, --0.049738,0.193717,-0.050000,0.000000,0.000000,-1.000000, --0.056214,0.294686,-0.050000,0.000000,0.000000,-1.000000, --0.056214,0.294686,0.050000,0.000000,0.000000,1.000000, --0.074607,0.290575,0.050000,0.000000,0.000000,1.000000, --0.049738,0.193717,0.050000,0.000000,0.000000,1.000000, --0.049738,0.193717,0.050000,0.000000,0.000000,1.000000, --0.037476,0.196457,0.050000,0.000000,0.000000,1.000000, --0.056214,0.294686,0.050000,0.000000,0.000000,1.000000, --0.049738,0.193717,0.050000,0.218144,-0.975917,0.000000, --0.049738,0.193717,-0.050000,0.218144,-0.975917,0.000000, --0.037476,0.196457,0.050000,0.218144,-0.975917,0.000000, --0.037476,0.196457,-0.050000,0.218144,-0.975917,0.000000, --0.037476,0.196457,0.050000,0.218144,-0.975917,0.000000, --0.049738,0.193717,-0.050000,0.218144,-0.975917,0.000000, --0.056214,0.294686,0.050000,-0.218143,0.975917,0.000000, --0.056214,0.294686,-0.050000,-0.218143,0.975917,0.000000, --0.074607,0.290575,0.050000,-0.218143,0.975917,0.000000, --0.074607,0.290575,-0.050000,-0.218143,0.975917,0.000000, --0.074607,0.290575,0.050000,-0.218143,0.975917,0.000000, --0.056214,0.294686,-0.050000,-0.218143,0.975917,0.000000, --0.056214,0.294686,-0.050000,0.000000,0.000000,-1.000000, --0.037600,0.297634,-0.050000,0.000000,0.000000,-1.000000, --0.037476,0.196457,-0.050000,0.000000,0.000000,-1.000000, --0.025067,0.198423,-0.050000,0.000000,0.000000,-1.000000, --0.037476,0.196457,-0.050000,0.000000,0.000000,-1.000000, --0.037600,0.297634,-0.050000,0.000000,0.000000,-1.000000, --0.037600,0.297634,0.050000,0.000000,0.000000,1.000000, --0.056214,0.294686,0.050000,0.000000,0.000000,1.000000, --0.037476,0.196457,0.050000,0.000000,0.000000,1.000000, --0.037476,0.196457,0.050000,0.000000,0.000000,1.000000, --0.025067,0.198423,0.050000,0.000000,0.000000,1.000000, --0.037600,0.297634,0.050000,0.000000,0.000000,1.000000, --0.037476,0.196457,0.050000,0.156435,-0.987688,0.000000, --0.037476,0.196457,-0.050000,0.156435,-0.987688,0.000000, --0.025067,0.198423,0.050000,0.156435,-0.987688,0.000000, --0.025067,0.198423,-0.050000,0.156435,-0.987688,0.000000, --0.025067,0.198423,0.050000,0.156435,-0.987688,0.000000, --0.037476,0.196457,-0.050000,0.156435,-0.987688,0.000000, --0.037600,0.297634,0.050000,-0.156434,0.987688,0.000000, --0.037600,0.297634,-0.050000,-0.156434,0.987688,0.000000, --0.056214,0.294686,0.050000,-0.156434,0.987688,0.000000, --0.056214,0.294686,-0.050000,-0.156434,0.987688,0.000000, --0.056214,0.294686,0.050000,-0.156434,0.987688,0.000000, --0.037600,0.297634,-0.050000,-0.156434,0.987688,0.000000, --0.037600,0.297634,-0.050000,0.000000,0.000000,-1.000000, --0.018837,0.299408,-0.050000,0.000000,0.000000,-1.000000, --0.025067,0.198423,-0.050000,0.000000,0.000000,-1.000000, --0.012558,0.199605,-0.050000,0.000000,0.000000,-1.000000, --0.025067,0.198423,-0.050000,0.000000,0.000000,-1.000000, --0.018837,0.299408,-0.050000,0.000000,0.000000,-1.000000, --0.018837,0.299408,0.050000,0.000000,0.000000,1.000000, --0.037600,0.297634,0.050000,0.000000,0.000000,1.000000, --0.025067,0.198423,0.050000,0.000000,0.000000,1.000000, --0.025067,0.198423,0.050000,0.000000,0.000000,1.000000, --0.012558,0.199605,0.050000,0.000000,0.000000,1.000000, --0.018837,0.299408,0.050000,0.000000,0.000000,1.000000, --0.025067,0.198423,0.050000,0.094107,-0.995562,0.000000, --0.025067,0.198423,-0.050000,0.094107,-0.995562,0.000000, --0.012558,0.199605,0.050000,0.094107,-0.995562,0.000000, --0.012558,0.199605,-0.050000,0.094107,-0.995562,0.000000, --0.012558,0.199605,0.050000,0.094107,-0.995562,0.000000, --0.025067,0.198423,-0.050000,0.094107,-0.995562,0.000000, --0.018837,0.299408,0.050000,-0.094108,0.995562,0.000000, --0.018837,0.299408,-0.050000,-0.094108,0.995562,0.000000, --0.037600,0.297634,0.050000,-0.094108,0.995562,0.000000, --0.037600,0.297634,-0.050000,-0.094108,0.995562,0.000000, --0.037600,0.297634,0.050000,-0.094108,0.995562,0.000000, --0.018837,0.299408,-0.050000,-0.094108,0.995562,0.000000, --0.018837,0.299408,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.300000,-0.050000,0.000000,0.000000,-1.000000, --0.012558,0.199605,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.200000,-0.050000,0.000000,0.000000,-1.000000, --0.012558,0.199605,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.300000,-0.050000,0.000000,0.000000,-1.000000, -0.000000,0.300000,0.050000,0.000000,0.000000,1.000000, --0.018837,0.299408,0.050000,0.000000,0.000000,1.000000, --0.012558,0.199605,0.050000,0.000000,0.000000,1.000000, --0.012558,0.199605,0.050000,0.000000,0.000000,1.000000, -0.000000,0.200000,0.050000,0.000000,0.000000,1.000000, -0.000000,0.300000,0.050000,0.000000,0.000000,1.000000, --0.012558,0.199605,0.050000,0.031411,-0.999507,0.000000, --0.012558,0.199605,-0.050000,0.031411,-0.999507,0.000000, -0.000000,0.200000,0.050000,0.031411,-0.999507,0.000000, -0.000000,0.200000,-0.050000,0.031411,-0.999507,0.000000, -0.000000,0.200000,0.050000,0.031411,-0.999507,0.000000, --0.012558,0.199605,-0.050000,0.031411,-0.999507,0.000000, -0.000000,0.300000,0.050000,-0.031411,0.999507,0.000000, -0.000000,0.300000,-0.050000,-0.031411,0.999507,0.000000, --0.018837,0.299408,0.050000,-0.031411,0.999507,0.000000, --0.018837,0.299408,-0.050000,-0.031411,0.999507,0.000000, --0.018837,0.299408,0.050000,-0.031411,0.999507,0.000000, -0.000000,0.300000,-0.050000,-0.031411,0.999507,0.000000 -]; diff --git a/basicsuite/webengine/content/webgl/screenshot.png b/basicsuite/webengine/content/webgl/screenshot.png deleted file mode 100644 index 388b45b..0000000 Binary files a/basicsuite/webengine/content/webgl/screenshot.png and /dev/null differ diff --git a/basicsuite/webengine/content/webgl/three.min.js b/basicsuite/webengine/content/webgl/three.min.js deleted file mode 100644 index 95b938c..0000000 --- a/basicsuite/webengine/content/webgl/three.min.js +++ /dev/null @@ -1,737 +0,0 @@ -// three.js / threejs.org/license -'use strict';var THREE={REVISION:"67"};self.console=self.console||{info:function(){},log:function(){},debug:function(){},warn:function(){},error:function(){}}; -(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSL:function(a,b,c){if(0===b)this.r=this.g=this.b=c;else{var d=function(a,b,c){0>c&&(c+=1);1c?b:c<2/3?a+6*(b-a)*(2/3-c):a};b=0.5>=c?c*(1+b):c+b-c*b;c=2*c-b;this.r=d(c,b,a+1/3);this.g=d(c,b,a);this.b=d(c,b,a-1/3)}return this},setStyle:function(a){if(/^rgb\((\d+), ?(\d+), ?(\d+)\)$/i.test(a))return a=/^rgb\((\d+), ?(\d+), ?(\d+)\)$/i.exec(a),this.r=Math.min(255,parseInt(a[1],10))/255,this.g=Math.min(255,parseInt(a[2],10))/255,this.b=Math.min(255,parseInt(a[3],10))/255,this;if(/^rgb\((\d+)\%, ?(\d+)\%, ?(\d+)\%\)$/i.test(a))return a=/^rgb\((\d+)\%, ?(\d+)\%, ?(\d+)\%\)$/i.exec(a),this.r= -Math.min(100,parseInt(a[1],10))/100,this.g=Math.min(100,parseInt(a[2],10))/100,this.b=Math.min(100,parseInt(a[3],10))/100,this;if(/^\#([0-9a-f]{6})$/i.test(a))return a=/^\#([0-9a-f]{6})$/i.exec(a),this.setHex(parseInt(a[1],16)),this;if(/^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.test(a))return a=/^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(a),this.setHex(parseInt(a[1]+a[1]+a[2]+a[2]+a[3]+a[3],16)),this;if(/^(\w+)$/i.test(a))return this.setHex(THREE.ColorKeywords[a]),this},copy:function(a){this.r=a.r;this.g= -a.g;this.b=a.b;return this},copyGammaToLinear:function(a){this.r=a.r*a.r;this.g=a.g*a.g;this.b=a.b*a.b;return this},copyLinearToGamma:function(a){this.r=Math.sqrt(a.r);this.g=Math.sqrt(a.g);this.b=Math.sqrt(a.b);return this},convertGammaToLinear:function(){var a=this.r,b=this.g,c=this.b;this.r=a*a;this.g=b*b;this.b=c*c;return this},convertLinearToGamma:function(){this.r=Math.sqrt(this.r);this.g=Math.sqrt(this.g);this.b=Math.sqrt(this.b);return this},getHex:function(){return 255*this.r<<16^255*this.g<< -8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(a){a=a||{h:0,s:0,l:0};var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),g,h=(f+e)/2;if(f===e)f=g=0;else{var k=e-f,f=0.5>=h?k/(e+f):k/(2-e-f);switch(e){case b:g=(c-d)/k+(cf&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(k-g)/c,this._x=0.25*c,this._y=(a+e)/c,this._z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w= -(d-h)/c,this._x=(a+e)/c,this._y=0.25*c,this._z=(g+k)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+h)/c,this._y=(g+k)/c,this._z=0.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(){var a,b;return function(c,d){void 0===a&&(a=new THREE.Vector3);b=c.dot(d)+1;1E-6>b?(b=0,Math.abs(c.x)>Math.abs(c.z)?a.set(-c.y,c.x,0):a.set(0,-c.z,c.y)):a.crossVectors(c,d);this._x=a.x;this._y=a.y;this._z=a.z;this._w=b;this.normalize();return this}}(),inverse:function(){this.conjugate().normalize(); -return this},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this.onChangeCallback();return this},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a,b){return void 0!== -b?(console.warn("DEPRECATED: Quaternion's .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z,f=a._w,g=b._x,h=b._y,k=b._z,l=b._w;this._x=c*l+f*g+d*k-e*h;this._y=d*l+f*h+e*g-c*k;this._z=e*l+f*k+c*h-d*g;this._w=f*l-c*g-d*h-e*k;this.onChangeCallback();return this},multiplyVector3:function(a){console.warn("DEPRECATED: Quaternion's .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."); -return a.applyQuaternion(this)},slerp:function(a,b){var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;var h=Math.acos(g),k=Math.sqrt(1-g*g);if(0.001>Math.abs(k))return this._w=0.5*(f+this._w),this._x=0.5*(c+this._x),this._y=0.5*(d+this._y),this._z=0.5*(e+this._z),this;g=Math.sin((1-b)*h)/k;h=Math.sin(b*h)/k;this._w=f*g+this._w*h;this._x= -c*g+this._x*h;this._y=d*g+this._y*h;this._z=e*g+this._z*h;this.onChangeCallback();return this},equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._w===this._w},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];this._w=a[3];this.onChangeCallback();return this},toArray:function(){return[this._x,this._y,this._z,this._w]},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){},clone:function(){return new THREE.Quaternion(this._x,this._y, -this._z,this._w)}};THREE.Quaternion.slerp=function(a,b,c,d){return c.copy(a).slerp(b,d)};THREE.Vector2=function(a,b){this.x=a||0;this.y=b||0}; -THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(a,b){this.x=a;this.y=b;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a, -b){if(void 0!==b)return console.warn("DEPRECATED: Vector2's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector2's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-= -a.y;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=a.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){0!==a?(a=1/a,this.x*=a,this.y*=a):this.y=this.x=0;return this},min:function(a){this.x>a.x&&(this.x=a.x);this.y>a.y&&(this.y=a.y);return this},max:function(a){this.xb.x&&(this.x=b.x);this.yb.y&&(this.y=b.y);return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new THREE.Vector2,b=new THREE.Vector2);a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y); -return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))}, -distanceToSquared:function(a){var b=this.x-a.x;a=this.y-a.y;return b*b+a*a},setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;return this},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a){this.x=a[0];this.y=a[1];return this},toArray:function(){return[this.x,this.y]},clone:function(){return new THREE.Vector2(this.x,this.y)}};THREE.Vector3=function(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}; -THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+ -a);}},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."), -this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},multiplyVectors:function(a,b){this.x=a.x* -b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(){var a;return function(b){!1===b instanceof THREE.Euler&&console.error("ERROR: Vector3's .applyEuler() now expects a Euler rotation rather than a Vector3 and order. Please update your code.");void 0===a&&(a=new THREE.Quaternion);this.applyQuaternion(a.setFromEuler(b));return this}}(),applyAxisAngle:function(){var a;return function(b,c){void 0===a&&(a=new THREE.Quaternion);this.applyQuaternion(a.setFromAxisAngle(b,c));return this}}(), -applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12];this.y=a[1]*b+a[5]*c+a[9]*d+a[13];this.z=a[2]*b+a[6]*c+a[10]*d+a[14];return this},applyProjection:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;var e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y= -(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x,c=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var h=a*b+f*d-g*c,k=a*c+g*b-e*d,l=a*d+e*c-f*b,b=-e*b-f*c-g*d;this.x=h*a+b*-e+k*-g-l*-f;this.y=k*a+b*-f+l*-e-h*-g;this.z=l*a+b*-g+h*-f-k*-e;return this},transformDirection:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d;this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;this.normalize();return this}, -divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this},divideScalar:function(a){0!==a?(a=1/a,this.x*=a,this.y*=a,this.z*=a):this.z=this.y=this.x=0;return this},min:function(a){this.x>a.x&&(this.x=a.x);this.y>a.y&&(this.y=a.y);this.z>a.z&&(this.z=a.z);return this},max:function(a){this.xb.x&&(this.x=b.x);this.yb.y&&(this.y=b.y);this.z< -a.z?this.z=a.z:this.z>b.z&&(this.z=b.z);return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new THREE.Vector3,b=new THREE.Vector3);a.set(c,c,c);b.set(d,d,d);return this.clamp(a,b)}}(),floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z); -return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+ -Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},cross:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector3's .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(a,b);var c=this.x,d=this.y,e=this.z;this.x= -d*a.z-e*a.y;this.y=e*a.x-c*a.z;this.z=c*a.y-d*a.x;return this},crossVectors:function(a,b){var c=a.x,d=a.y,e=a.z,f=b.x,g=b.y,h=b.z;this.x=d*h-e*g;this.y=e*f-c*h;this.z=c*g-d*f;return this},projectOnVector:function(){var a,b;return function(c){void 0===a&&(a=new THREE.Vector3);a.copy(c).normalize();b=this.dot(a);return this.copy(a).multiplyScalar(b)}}(),projectOnPlane:function(){var a;return function(b){void 0===a&&(a=new THREE.Vector3);a.copy(this).projectOnVector(b);return this.sub(a)}}(),reflect:function(){var a; -return function(b){void 0===a&&(a=new THREE.Vector3);return this.sub(a.copy(b).multiplyScalar(2*this.dot(b)))}}(),angleTo:function(a){a=this.dot(a)/(this.length()*a.length());return Math.acos(THREE.Math.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},setEulerFromRotationMatrix:function(a,b){console.error("REMOVED: Vector3's setEulerFromRotationMatrix has been removed in favor of Euler.setFromRotationMatrix(), please update your code.")}, -setEulerFromQuaternion:function(a,b){console.error("REMOVED: Vector3's setEulerFromQuaternion: has been removed in favor of Euler.setFromQuaternion(), please update your code.")},getPositionFromMatrix:function(a){console.warn("DEPRECATED: Vector3's .getPositionFromMatrix() has been renamed to .setFromMatrixPosition(). Please update your code.");return this.setFromMatrixPosition(a)},getScaleFromMatrix:function(a){console.warn("DEPRECATED: Vector3's .getScaleFromMatrix() has been renamed to .setFromMatrixScale(). Please update your code."); -return this.setFromMatrixScale(a)},getColumnFromMatrix:function(a,b){console.warn("DEPRECATED: Vector3's .getColumnFromMatrix() has been renamed to .setFromMatrixColumn(). Please update your code.");return this.setFromMatrixColumn(a,b)},setFromMatrixPosition:function(a){this.x=a.elements[12];this.y=a.elements[13];this.z=a.elements[14];return this},setFromMatrixScale:function(a){var b=this.set(a.elements[0],a.elements[1],a.elements[2]).length(),c=this.set(a.elements[4],a.elements[5],a.elements[6]).length(); -a=this.set(a.elements[8],a.elements[9],a.elements[10]).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){var c=4*a,d=b.elements;this.x=d[c];this.y=d[c+1];this.z=d[c+2];return this},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a){this.x=a[0];this.y=a[1];this.z=a[2];return this},toArray:function(){return[this.x,this.y,this.z]},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)}};THREE.Vector4=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}; -THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error("index is out of range: "+a);}},getComponent:function(a){switch(a){case 0:return this.x; -case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector4's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this}, -addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},sub:function(a,b){if(void 0!==b)return console.warn("DEPRECATED: Vector4's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this}, -applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){0!==a?(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a):(this.z=this.y=this.x=0,this.w=1);return this},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b, -this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){var b,c,d;a=a.elements;var e=a[0];d=a[4];var f=a[8],g=a[1],h=a[5],k=a[9];c=a[2];b=a[6];var l=a[10];if(0.01>Math.abs(d-g)&&0.01>Math.abs(f-c)&&0.01>Math.abs(k-b)){if(0.1>Math.abs(d+g)&&0.1>Math.abs(f+c)&&0.1>Math.abs(k+b)&&0.1>Math.abs(e+h+l-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;h=(h+1)/2;l=(l+1)/2;d=(d+g)/4;f=(f+c)/4;k=(k+b)/4;e>h&&e>l?0.01>e?(b=0,d=c=0.707106781):(b=Math.sqrt(e),c=d/b,d=f/b):h>l?0.01> -h?(b=0.707106781,c=0,d=0.707106781):(c=Math.sqrt(h),b=d/c,d=k/c):0.01>l?(c=b=0.707106781,d=0):(d=Math.sqrt(l),b=f/d,c=k/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-k)*(b-k)+(f-c)*(f-c)+(g-d)*(g-d));0.001>Math.abs(a)&&(a=1);this.x=(b-k)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+h+l-1)/2);return this},min:function(a){this.x>a.x&&(this.x=a.x);this.y>a.y&&(this.y=a.y);this.z>a.z&&(this.z=a.z);this.w>a.w&&(this.w=a.w);return this},max:function(a){this.xb.x&&(this.x=b.x);this.yb.y&&(this.y=b.y);this.zb.z&&(this.z=b.z);this.wb.w&&(this.w=b.w);return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new THREE.Vector4,b=new THREE.Vector4);a.set(c,c,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),floor:function(){this.x=Math.floor(this.x);this.y= -Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z): -Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())}, -setLength:function(a){var b=this.length();0!==b&&a!==b&&this.multiplyScalar(a/b);return this},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a){this.x=a[0];this.y=a[1];this.z=a[2];this.w=a[3];return this},toArray:function(){return[this.x,this.y,this.z,this.w]},clone:function(){return new THREE.Vector4(this.x,this.y,this.z, -this.w)}};THREE.Euler=function(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._order=d||THREE.Euler.DefaultOrder};THREE.Euler.RotationOrders="XYZ YZX ZXY XZY YXZ ZYX".split(" ");THREE.Euler.DefaultOrder="XYZ"; -THREE.Euler.prototype={constructor:THREE.Euler,_x:0,_y:0,_z:0,_order:THREE.Euler.DefaultOrder,get x(){return this._x},set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},set z(a){this._z=a;this.onChangeCallback()},get order(){return this._order},set order(a){this._order=a;this.onChangeCallback()},set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._order=d||this._order;this.onChangeCallback();return this},copy:function(a){this._x= -a._x;this._y=a._y;this._z=a._z;this._order=a._order;this.onChangeCallback();return this},setFromRotationMatrix:function(a,b){var c=THREE.Math.clamp,d=a.elements,e=d[0],f=d[4],g=d[8],h=d[1],k=d[5],l=d[9],n=d[2],q=d[6],d=d[10];b=b||this._order;"XYZ"===b?(this._y=Math.asin(c(g,-1,1)),0.99999>Math.abs(g)?(this._x=Math.atan2(-l,d),this._z=Math.atan2(-f,e)):(this._x=Math.atan2(q,k),this._z=0)):"YXZ"===b?(this._x=Math.asin(-c(l,-1,1)),0.99999>Math.abs(l)?(this._y=Math.atan2(g,d),this._z=Math.atan2(h,k)): -(this._y=Math.atan2(-n,e),this._z=0)):"ZXY"===b?(this._x=Math.asin(c(q,-1,1)),0.99999>Math.abs(q)?(this._y=Math.atan2(-n,d),this._z=Math.atan2(-f,k)):(this._y=0,this._z=Math.atan2(h,e))):"ZYX"===b?(this._y=Math.asin(-c(n,-1,1)),0.99999>Math.abs(n)?(this._x=Math.atan2(q,d),this._z=Math.atan2(h,e)):(this._x=0,this._z=Math.atan2(-f,k))):"YZX"===b?(this._z=Math.asin(c(h,-1,1)),0.99999>Math.abs(h)?(this._x=Math.atan2(-l,k),this._y=Math.atan2(-n,e)):(this._x=0,this._y=Math.atan2(g,d))):"XZY"===b?(this._z= -Math.asin(-c(f,-1,1)),0.99999>Math.abs(f)?(this._x=Math.atan2(q,k),this._y=Math.atan2(g,e)):(this._x=Math.atan2(-l,d),this._y=0)):console.warn("WARNING: Euler.setFromRotationMatrix() given unsupported order: "+b);this._order=b;this.onChangeCallback();return this},setFromQuaternion:function(a,b,c){var d=THREE.Math.clamp,e=a.x*a.x,f=a.y*a.y,g=a.z*a.z,h=a.w*a.w;b=b||this._order;"XYZ"===b?(this._x=Math.atan2(2*(a.x*a.w-a.y*a.z),h-e-f+g),this._y=Math.asin(d(2*(a.x*a.z+a.y*a.w),-1,1)),this._z=Math.atan2(2* -(a.z*a.w-a.x*a.y),h+e-f-g)):"YXZ"===b?(this._x=Math.asin(d(2*(a.x*a.w-a.y*a.z),-1,1)),this._y=Math.atan2(2*(a.x*a.z+a.y*a.w),h-e-f+g),this._z=Math.atan2(2*(a.x*a.y+a.z*a.w),h-e+f-g)):"ZXY"===b?(this._x=Math.asin(d(2*(a.x*a.w+a.y*a.z),-1,1)),this._y=Math.atan2(2*(a.y*a.w-a.z*a.x),h-e-f+g),this._z=Math.atan2(2*(a.z*a.w-a.x*a.y),h-e+f-g)):"ZYX"===b?(this._x=Math.atan2(2*(a.x*a.w+a.z*a.y),h-e-f+g),this._y=Math.asin(d(2*(a.y*a.w-a.x*a.z),-1,1)),this._z=Math.atan2(2*(a.x*a.y+a.z*a.w),h+e-f-g)):"YZX"=== -b?(this._x=Math.atan2(2*(a.x*a.w-a.z*a.y),h-e+f-g),this._y=Math.atan2(2*(a.y*a.w-a.x*a.z),h+e-f-g),this._z=Math.asin(d(2*(a.x*a.y+a.z*a.w),-1,1))):"XZY"===b?(this._x=Math.atan2(2*(a.x*a.w+a.y*a.z),h-e+f-g),this._y=Math.atan2(2*(a.x*a.z+a.y*a.w),h+e-f-g),this._z=Math.asin(d(2*(a.z*a.w-a.x*a.y),-1,1))):console.warn("WARNING: Euler.setFromQuaternion() given unsupported order: "+b);this._order=b;if(!1!==c)this.onChangeCallback();return this},reorder:function(){var a=new THREE.Quaternion;return function(b){a.setFromEuler(this); -this.setFromQuaternion(a,b)}}(),equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();return this},toArray:function(){return[this._x,this._y,this._z,this._order]},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){},clone:function(){return new THREE.Euler(this._x,this._y,this._z,this._order)}};THREE.Line3=function(a,b){this.start=void 0!==a?a:new THREE.Vector3;this.end=void 0!==b?b:new THREE.Vector3}; -THREE.Line3.prototype={constructor:THREE.Line3,set:function(a,b){this.start.copy(a);this.end.copy(b);return this},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},center:function(a){return(a||new THREE.Vector3).addVectors(this.start,this.end).multiplyScalar(0.5)},delta:function(a){return(a||new THREE.Vector3).subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(a, -b){var c=b||new THREE.Vector3;return this.delta(c).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(c,d){a.subVectors(c,this.start);b.subVectors(this.end,this.start);var e=b.dot(b),e=b.dot(a)/e;d&&(e=THREE.Math.clamp(e,0,1));return e}}(),closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);c=c||new THREE.Vector3;return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a); -this.end.applyMatrix4(a);return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)},clone:function(){return(new THREE.Line3).copy(this)}};THREE.Box2=function(a,b){this.min=void 0!==a?a:new THREE.Vector2(Infinity,Infinity);this.max=void 0!==b?b:new THREE.Vector2(-Infinity,-Infinity)}; -THREE.Box2.prototype={constructor:THREE.Box2,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromPoints:function(a){if(0this.max.x&&(this.max.x=b.x),b.ythis.max.y&&(this.max.y=b.y)}else this.makeEmpty();return this},setFromCenterAndSize:function(){var a=new THREE.Vector2;return function(b,c){var d=a.copy(c).multiplyScalar(0.5); -this.min.copy(b).sub(d);this.max.copy(b).add(d);return this}}(),copy:function(a){this.min.copy(a.min);this.max.copy(a.max);return this},makeEmpty:function(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this},empty:function(){return this.max.xthis.max.x||a.ythis.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y?!0:!1},getParameter:function(a,b){return(b||new THREE.Vector2).set((a.x-this.min.x)/(this.max.x-this.min.x), -(a.y-this.min.y)/(this.max.y-this.min.y))},isIntersectionBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y?!1:!0},clampPoint:function(a,b){return(b||new THREE.Vector2).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new THREE.Vector2;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max); -return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)},clone:function(){return(new THREE.Box2).copy(this)}};THREE.Box3=function(a,b){this.min=void 0!==a?a:new THREE.Vector3(Infinity,Infinity,Infinity);this.max=void 0!==b?b:new THREE.Vector3(-Infinity,-Infinity,-Infinity)}; -THREE.Box3.prototype={constructor:THREE.Box3,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},addPoint:function(a){a.xthis.max.x&&(this.max.x=a.x);a.ythis.max.y&&(this.max.y=a.y);a.zthis.max.z&&(this.max.z=a.z);return this},setFromPoints:function(a){if(0this.max.x||a.ythis.max.y||a.zthis.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&a.max.z<=this.max.z?!0:!1},getParameter:function(a, -b){return(b||new THREE.Vector3).set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))},isIntersectionBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y||a.max.zthis.max.z?!1:!0},clampPoint:function(a,b){return(b||new THREE.Vector3).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new THREE.Vector3;return function(b){return a.copy(b).clamp(this.min, -this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=new THREE.Vector3;return function(b){b=b||new THREE.Sphere;b.center=this.center();b.radius=0.5*this.size(a).length();return b}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]; -return function(b){a[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b);a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(b);a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.makeEmpty(); -this.setFromPoints(a);return this}}(),translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)},clone:function(){return(new THREE.Box3).copy(this)}};THREE.Matrix3=function(a,b,c,d,e,f,g,h,k){var l=this.elements=new Float32Array(9);l[0]=void 0!==a?a:1;l[3]=b||0;l[6]=c||0;l[1]=d||0;l[4]=void 0!==e?e:1;l[7]=f||0;l[2]=g||0;l[5]=h||0;l[8]=void 0!==k?k:1}; -THREE.Matrix3.prototype={constructor:THREE.Matrix3,set:function(a,b,c,d,e,f,g,h,k){var l=this.elements;l[0]=a;l[3]=b;l[6]=c;l[1]=d;l[4]=e;l[7]=f;l[2]=g;l[5]=h;l[8]=k;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},copy:function(a){a=a.elements;this.set(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8]);return this},multiplyVector3:function(a){console.warn("DEPRECATED: Matrix3's .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");return a.applyMatrix3(this)}, -multiplyVector3Array:function(a){console.warn("DEPRECATED: Matrix3's .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead.");return this.applyToVector3Array(a)},applyToVector3Array:function(){var a=new THREE.Vector3;return function(b,c,d){void 0===c&&(c=0);void 0===d&&(d=b.length);for(var e=0;ethis.determinant()&&(g=-g);c.x=f[12];c.y=f[13];c.z=f[14];b.elements.set(this.elements); -c=1/g;var f=1/h,l=1/k;b.elements[0]*=c;b.elements[1]*=c;b.elements[2]*=c;b.elements[4]*=f;b.elements[5]*=f;b.elements[6]*=f;b.elements[8]*=l;b.elements[9]*=l;b.elements[10]*=l;d.setFromRotationMatrix(b);e.x=g;e.y=h;e.z=k;return this}}(),makeFrustum:function(a,b,c,d,e,f){var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(d-c);g[9]=(d+c)/(d-c);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*f*e/(f-e);g[3]=0;g[7]=0;g[11]=-1;g[15]=0;return this},makePerspective:function(a, -b,c,d){a=c*Math.tan(THREE.Math.degToRad(0.5*a));var e=-a;return this.makeFrustum(e*b,a*b,e,a,c,d)},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=b-a,k=c-d,l=f-e;g[0]=2/h;g[4]=0;g[8]=0;g[12]=-((b+a)/h);g[1]=0;g[5]=2/k;g[9]=0;g[13]=-((c+d)/k);g[2]=0;g[6]=0;g[10]=-2/l;g[14]=-((f+e)/l);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},fromArray:function(a){this.elements.set(a);return this},toArray:function(){var a=this.elements;return[a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11], -a[12],a[13],a[14],a[15]]},clone:function(){var a=this.elements;return new THREE.Matrix4(a[0],a[4],a[8],a[12],a[1],a[5],a[9],a[13],a[2],a[6],a[10],a[14],a[3],a[7],a[11],a[15])}};THREE.Ray=function(a,b){this.origin=void 0!==a?a:new THREE.Vector3;this.direction=void 0!==b?b:new THREE.Vector3}; -THREE.Ray.prototype={constructor:THREE.Ray,set:function(a,b){this.origin.copy(a);this.direction.copy(b);return this},copy:function(a){this.origin.copy(a.origin);this.direction.copy(a.direction);return this},at:function(a,b){return(b||new THREE.Vector3).copy(this.direction).multiplyScalar(a).add(this.origin)},recast:function(){var a=new THREE.Vector3;return function(b){this.origin.copy(this.at(b,a));return this}}(),closestPointToPoint:function(a,b){var c=b||new THREE.Vector3;c.subVectors(a,this.origin); -var d=c.dot(this.direction);return 0>d?c.copy(this.origin):c.copy(this.direction).multiplyScalar(d).add(this.origin)},distanceToPoint:function(){var a=new THREE.Vector3;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceTo(b);a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceTo(b)}}(),distanceSqToSegment:function(a,b,c,d){var e=a.clone().add(b).multiplyScalar(0.5),f=b.clone().sub(a).normalize(),g=0.5*a.distanceTo(b), -h=this.origin.clone().sub(e);a=-this.direction.dot(f);b=h.dot(this.direction);var k=-h.dot(f),l=h.lengthSq(),n=Math.abs(1-a*a),q,p;0<=n?(h=a*k-b,q=a*b-k,p=g*n,0<=h?q>=-p?q<=p?(g=1/n,h*=g,q*=g,a=h*(h+a*q+2*b)+q*(a*h+q+2*k)+l):(q=g,h=Math.max(0,-(a*q+b)),a=-h*h+q*(q+2*k)+l):(q=-g,h=Math.max(0,-(a*q+b)),a=-h*h+q*(q+2*k)+l):q<=-p?(h=Math.max(0,-(-a*g+b)),q=0a.normal.dot(this.direction)*b?!0:!1},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0==b)return 0==a.distanceToPoint(this.origin)? -0:null;a=-(this.origin.dot(a.normal)+a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,b){var c=this.distanceToPlane(a);return null===c?null:this.at(c,b)},isIntersectionBox:function(){var a=new THREE.Vector3;return function(b){return null!==this.intersectBox(b,a)}}(),intersectBox:function(a,b){var c,d,e,f,g;d=1/this.direction.x;f=1/this.direction.y;g=1/this.direction.z;var h=this.origin;0<=d?(c=(a.min.x-h.x)*d,d*=a.max.x-h.x):(c=(a.max.x-h.x)*d,d*=a.min.x-h.x);0<=f?(e=(a.min.y-h.y)*f,f*= -a.max.y-h.y):(e=(a.max.y-h.y)*f,f*=a.min.y-h.y);if(c>f||e>d)return null;if(e>c||c!==c)c=e;if(fg||e>d)return null;if(e>c||c!==c)c=e;if(gd?null:this.at(0<=c?c:d,b)},intersectTriangle:function(){var a=new THREE.Vector3,b=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Vector3;return function(e,f,g,h,k){b.subVectors(f,e);c.subVectors(g,e);d.crossVectors(b,c);f=this.direction.dot(d);if(0< -f){if(h)return null;h=1}else if(0>f)h=-1,f=-f;else return null;a.subVectors(this.origin,e);e=h*this.direction.dot(c.crossVectors(a,c));if(0>e)return null;g=h*this.direction.dot(b.cross(a));if(0>g||e+g>f)return null;e=-h*a.dot(d);return 0>e?null:this.at(e/f,k)}}(),applyMatrix4:function(a){this.direction.add(this.origin).applyMatrix4(a);this.origin.applyMatrix4(a);this.direction.sub(this.origin);this.direction.normalize();return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}, -clone:function(){return(new THREE.Ray).copy(this)}};THREE.Sphere=function(a,b){this.center=void 0!==a?a:new THREE.Vector3;this.radius=void 0!==b?b:0}; -THREE.Sphere.prototype={constructor:THREE.Sphere,set:function(a,b){this.center.copy(a);this.radius=b;return this},setFromPoints:function(){var a=new THREE.Box3;return function(b,c){var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).center(d);for(var e=0,f=0,g=b.length;f=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<= -this.radius*this.radius},distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},clampPoint:function(a,b){var c=this.center.distanceToSquared(a),d=b||new THREE.Vector3;d.copy(a);c>this.radius*this.radius&&(d.sub(this.center).normalize(),d.multiplyScalar(this.radius).add(this.center));return d},getBoundingBox:function(a){a=a||new THREE.Box3;a.set(this.center,this.center);a.expandByScalar(this.radius); -return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius},clone:function(){return(new THREE.Sphere).copy(this)}};THREE.Frustum=function(a,b,c,d,e,f){this.planes=[void 0!==a?a:new THREE.Plane,void 0!==b?b:new THREE.Plane,void 0!==c?c:new THREE.Plane,void 0!==d?d:new THREE.Plane,void 0!==e?e:new THREE.Plane,void 0!==f?f:new THREE.Plane]}; -THREE.Frustum.prototype={constructor:THREE.Frustum,set:function(a,b,c,d,e,f){var g=this.planes;g[0].copy(a);g[1].copy(b);g[2].copy(c);g[3].copy(d);g[4].copy(e);g[5].copy(f);return this},copy:function(a){for(var b=this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],k=c[6],l=c[7],n=c[8],q=c[9],p=c[10],s=c[11],t=c[12],r=c[13],v=c[14],c=c[15];b[0].setComponents(f-a,l-g,s-n,c-t).normalize();b[1].setComponents(f+ -a,l+g,s+n,c+t).normalize();b[2].setComponents(f+d,l+h,s+q,c+r).normalize();b[3].setComponents(f-d,l-h,s-q,c-r).normalize();b[4].setComponents(f-e,l-k,s-p,c-v).normalize();b[5].setComponents(f+e,l+k,s+p,c+v).normalize();return this},intersectsObject:function(){var a=new THREE.Sphere;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere);a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSphere:function(a){var b=this.planes, -c=a.center;a=-a.radius;for(var d=0;6>d;d++)if(b[d].distanceToPoint(c)e;e++){var f=d[e];a.x=0g&&0>f)return!1}return!0}}(), -containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0},clone:function(){return(new THREE.Frustum).copy(this)}};THREE.Plane=function(a,b){this.normal=void 0!==a?a:new THREE.Vector3(1,0,0);this.constant=void 0!==b?b:0}; -THREE.Plane.prototype={constructor:THREE.Plane,set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d, -c);return this}}(),copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){return this.orthoPoint(a,b).sub(a).negate()},orthoPoint:function(a, -b){var c=this.distanceToPoint(a);return(b||new THREE.Vector3).copy(this.normal).multiplyScalar(c)},isIntersectionLine:function(a){var b=this.distanceToPoint(a.start);a=this.distanceToPoint(a.end);return 0>b&&0a&&0f||1e;e++)8==e||13==e||18==e||23==e?b[e]="-":14==e?b[e]="4":(2>=c&&(c=33554432+16777216*Math.random()|0),d=c&15,c>>=4,b[e]=a[19==e?d&3|8:d]);return b.join("")}}(),clamp:function(a,b,c){return ac?c:a},clampBottom:function(a,b){return a=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},random16:function(){return(65280*Math.random()+255*Math.random())/65535},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(0.5-Math.random())},sign:function(a){return 0>a?-1:0this.points.length-2?this.points.length-1:f+1;c[3]=f>this.points.length-3?this.points.length-1: -f+2;l=this.points[c[0]];n=this.points[c[1]];q=this.points[c[2]];p=this.points[c[3]];h=g*g;k=g*h;d.x=b(l.x,n.x,q.x,p.x,g,h,k);d.y=b(l.y,n.y,q.y,p.y,g,h,k);d.z=b(l.z,n.z,q.z,p.z,g,h,k);return d};this.getControlPointsArray=function(){var a,b,c=this.points.length,d=[];for(a=0;a=b.x+b.y}}(); -THREE.Triangle.prototype={constructor:THREE.Triangle,set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},area:function(){var a=new THREE.Vector3,b=new THREE.Vector3;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return 0.5*a.cross(b).length()}}(),midpoint:function(a){return(a|| -new THREE.Vector3).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(a){return THREE.Triangle.normal(this.a,this.b,this.c,a)},plane:function(a){return(a||new THREE.Plane).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(a,b){return THREE.Triangle.barycoordFromPoint(a,this.a,this.b,this.c,b)},containsPoint:function(a){return THREE.Triangle.containsPoint(a,this.a,this.b,this.c)},equals:function(a){return a.a.equals(this.a)&&a.b.equals(this.b)&&a.c.equals(this.c)}, -clone:function(){return(new THREE.Triangle).copy(this)}};THREE.Vertex=function(a){console.warn("THREE.Vertex has been DEPRECATED. Use THREE.Vector3 instead.");return a};THREE.Clock=function(a){this.autoStart=void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}; -THREE.Clock.prototype={constructor:THREE.Clock,start:function(){this.oldTime=this.startTime=void 0!==self.performance&&void 0!==self.performance.now?self.performance.now():Date.now();this.running=!0},stop:function(){this.getElapsedTime();this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;this.autoStart&&!this.running&&this.start();if(this.running){var b=void 0!==self.performance&&void 0!==self.performance.now?self.performance.now():Date.now(), -a=0.001*(b-this.oldTime);this.oldTime=b;this.elapsedTime+=a}return a}};THREE.EventDispatcher=function(){}; -THREE.EventDispatcher.prototype={constructor:THREE.EventDispatcher,apply:function(a){a.addEventListener=THREE.EventDispatcher.prototype.addEventListener;a.hasEventListener=THREE.EventDispatcher.prototype.hasEventListener;a.removeEventListener=THREE.EventDispatcher.prototype.removeEventListener;a.dispatchEvent=THREE.EventDispatcher.prototype.dispatchEvent},addEventListener:function(a,b){void 0===this._listeners&&(this._listeners={});var c=this._listeners;void 0===c[a]&&(c[a]=[]);-1===c[a].indexOf(b)&& -c[a].push(b)},hasEventListener:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;return void 0!==c[a]&&-1!==c[a].indexOf(b)?!0:!1},removeEventListener:function(a,b){if(void 0!==this._listeners){var c=this._listeners[a];if(void 0!==c){var d=c.indexOf(b);-1!==d&&c.splice(d,1)}}},dispatchEvent:function(a){if(void 0!==this._listeners){var b=this._listeners[a.type];if(void 0!==b){a.target=this;for(var c=[],d=b.length,e=0;ef.scale.x)return s;s.push({distance:t,point:f.position,face:null,object:f})}else if(f instanceof -a.LOD)d.setFromMatrixPosition(f.matrixWorld),t=n.ray.origin.distanceTo(d),l(f.getObjectForDistance(t),n,s);else if(f instanceof a.Mesh){var r=f.geometry;null===r.boundingSphere&&r.computeBoundingSphere();b.copy(r.boundingSphere);b.applyMatrix4(f.matrixWorld);if(!1===n.ray.isIntersectionSphere(b))return s;e.getInverse(f.matrixWorld);c.copy(n.ray).applyMatrix4(e);if(null!==r.boundingBox&&!1===c.isIntersectionBox(r.boundingBox))return s;if(r instanceof a.BufferGeometry){var v=f.material;if(void 0=== -v)return s;var w=r.attributes,u,y,L=n.precision;if(void 0!==w.index){var x=w.index.array,N=w.position.array,J=r.offsets;0===J.length&&(J=[{start:0,count:N.length,index:0}]);for(var B=0,K=J.length;Bn.far||s.push({distance:t,point:D,indices:[w,u,y],face:null,faceIndex:null,object:f}))}}else for(N=w.position.array,r=0,G=w.position.array.length;rn.far||s.push({distance:t,point:D,indices:[w,u,y],face:null,faceIndex:null,object:f}))}else if(r instanceof a.Geometry)for(N=f.material instanceof a.MeshFaceMaterial,J=!0===N?f.material.materials:null,L=n.precision,x=r.vertices,B=0,K=r.faces.length;Bn.far||s.push({distance:t,point:D,face:A, -faceIndex:B,object:f}))}}else if(f instanceof a.Line){L=n.linePrecision;v=L*L;r=f.geometry;null===r.boundingSphere&&r.computeBoundingSphere();b.copy(r.boundingSphere);b.applyMatrix4(f.matrixWorld);if(!1===n.ray.isIntersectionSphere(b))return s;e.getInverse(f.matrixWorld);c.copy(n.ray).applyMatrix4(e);if(r instanceof a.Geometry)for(x=r.vertices,L=x.length,w=new a.Vector3,u=new a.Vector3,y=f.type===a.LineStrip?1:2,r=0;rv||(t=c.origin.distanceTo(u),t< -n.near||t>n.far||s.push({distance:t,point:w.clone().applyMatrix4(f.matrixWorld),face:null,faceIndex:null,object:f}))}},n=function(a,b,c){a=a.getDescendants();for(var d=0,e=a.length;de&&0>f||0>g&& -0>h)return!1;0>e?c=Math.max(c,e/(e-f)):0>f&&(d=Math.min(d,e/(e-f)));0>g?c=Math.max(c,g/(g-h)):0>h&&(d=Math.min(d,g/(g-h)));if(d=c.x&&-1<=c.y&&1>=c.y&&-1<=c.z&&1>=c.z},n=function(a,b,c){if(!0===a.visible||!0===b.visible||!0===c.visible)return!0;E[0]=a.positionScreen; -E[1]=b.positionScreen;E[2]=c.positionScreen;return z.isIntersectionBox(H.setFromPoints(E))},r=function(a,b,c){return 0>(c.positionScreen.x-a.positionScreen.x)*(b.positionScreen.y-a.positionScreen.y)-(c.positionScreen.y-a.positionScreen.y)*(b.positionScreen.x-a.positionScreen.x)};return{setObject:function(a){f=a;g=f.material;h.getNormalMatrix(f.matrixWorld);d.length=0;e.length=0},projectVertex:k,checkTriangleVisibility:n,checkBackfaceCulling:r,pushVertex:function(b,c,d){l=a();l.position.set(b,c,d); -k(l)},pushNormal:function(a,b,c){d.push(a,b,c)},pushUv:function(a,b){e.push(a,b)},pushLine:function(a,b){var d=q[a],e=q[b];w=c();w.id=f.id;w.v1.copy(d);w.v2.copy(e);w.z=(d.positionScreen.z+e.positionScreen.z)/2;w.material=f.material;K.elements.push(w)},pushTriangle:function(a,c,k){var l=q[a],p=q[c],t=q[k];if(!1!==n(l,p,t)&&(g.side===THREE.DoubleSide||!0===r(l,p,t))){s=b();s.id=f.id;s.v1.copy(l);s.v2.copy(p);s.v3.copy(t);s.z=(l.positionScreen.z+p.positionScreen.z+t.positionScreen.z)/3;for(l=0;3>l;l++)p= -3*arguments[l],t=s.vertexNormalsModel[l],t.set(d[p],d[p+1],d[p+2]),t.applyMatrix3(h).normalize(),p=2*arguments[l],s.uvs[l].set(e[p],e[p+1]);s.vertexNormalsLength=3;s.material=f.material;K.elements.push(s)}}}};this.projectScene=function(f,h,k,l){var r,p,v,y,L,C,z,E;N=u=t=0;K.elements.length=0;!0===f.autoUpdate&&f.updateMatrixWorld();void 0===h.parent&&h.updateMatrixWorld();Q.copy(h.matrixWorldInverse.getInverse(h.matrixWorld));Y.multiplyMatrices(h.projectionMatrix,Q);R.setFromMatrix(Y);g=0;K.objects.length= -0;K.lights.length=0;V(f);!0===k&&K.objects.sort(d);f=0;for(k=K.objects.length;fL;L++)s.uvs[L].copy(ya[L]);s.color=v.color;s.material= -ma;s.z=(ia.positionScreen.z+Z.positionScreen.z+qa.positionScreen.z)/3;K.elements.push(s)}}}}}else if(r instanceof THREE.Line)if(p instanceof THREE.BufferGeometry){if(C=p.attributes,void 0!==C.position){z=C.position.array;p=0;for(y=z.length;p=F.z&&(N===B?(y=new THREE.RenderableSprite,J.push(y),B++,N++,x=y):x=J[N++],x.id=r.id,x.x=F.x*p,x.y=F.y*p,x.z=F.z,x.object=r,x.rotation=r.rotation,x.scale.x=r.scale.x*Math.abs(x.x-(F.x+h.projectionMatrix.elements[0])/(F.w+h.projectionMatrix.elements[12])),x.scale.y=r.scale.y*Math.abs(x.y-(F.y+h.projectionMatrix.elements[5])/ -(F.w+h.projectionMatrix.elements[13])),x.material=r.material,K.elements.push(x)));!0===l&&K.elements.sort(d);return K}};THREE.Face3=function(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d instanceof THREE.Vector3?d:new THREE.Vector3;this.vertexNormals=d instanceof Array?d:[];this.color=e instanceof THREE.Color?e:new THREE.Color;this.vertexColors=e instanceof Array?e:[];this.vertexTangents=[];this.materialIndex=void 0!==f?f:0}; -THREE.Face3.prototype={constructor:THREE.Face3,clone:function(){var a=new THREE.Face3(this.a,this.b,this.c);a.normal.copy(this.normal);a.color.copy(this.color);a.materialIndex=this.materialIndex;var b,c;b=0;for(c=this.vertexNormals.length;bb.max.x&&(b.max.x=e);fb.max.y&&(b.max.y=f);gb.max.z&&(b.max.z=g)}}if(void 0===a||0===a.length)this.boundingBox.min.set(0,0,0),this.boundingBox.max.set(0,0,0)},computeBoundingSphere:function(){var a=new THREE.Box3,b=new THREE.Vector3;return function(){null===this.boundingSphere&&(this.boundingSphere=new THREE.Sphere);var c=this.attributes.position.array;if(c){a.makeEmpty();for(var d=this.boundingSphere.center,e=0,f=c.length;eGa?-1:1;h[4*a]=wa.x;h[4*a+1]=wa.y;h[4*a+2]=wa.z;h[4*a+3]=Ia}if(void 0===this.attributes.index||void 0===this.attributes.position||void 0===this.attributes.normal||void 0===this.attributes.uv)console.warn("Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");else{var c=this.attributes.index.array,d=this.attributes.position.array, -e=this.attributes.normal.array,f=this.attributes.uv.array,g=d.length/3;void 0===this.attributes.tangent&&(this.attributes.tangent={itemSize:4,array:new Float32Array(4*g)});for(var h=this.attributes.tangent.array,k=[],l=[],n=0;nr;r++)t=a[3*c+r],-1==p[t]?(q[2*r]=t,q[2*r+1]=-1,n++):p[t]k.index+b)for(k={start:f,count:0,index:g},h.push(k),n=0;6>n;n+=2)r=q[n+1],-1n;n+=2)t=q[n],r=q[n+1],-1===r&&(r=g++),p[t]=r,s[r]=t,e[f++]=r-k.index,k.count++}this.reorderBuffers(e,s,g); -return this.offsets=h},merge:function(){console.log("BufferGeometry.merge(): TODO")},normalizeNormals:function(){for(var a=this.attributes.normal.array,b,c,d,e=0,f=a.length;ed?-1:1,e.vertexTangents[c]=new THREE.Vector4(L.x,L.y,L.z,d);this.hasTangents=!0},computeLineDistances:function(){for(var a=0,b=this.vertices,c=0,d=b.length;cd;d++)if(e[d]==e[(d+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(e=a[f],this.faces.splice(e,1),c=0,g=this.faceVertexUvs.length;cc&&(h[f].counter+=1,g=h[f].hash+"_"+h[f].counter,g in this.geometryGroups||(this.geometryGroups[g]={faces3:[],materialIndex:f,vertices:0,numMorphTargets:k,numMorphNormals:l})),this.geometryGroups[g].faces3.push(d), -this.geometryGroups[g].vertices+=3;this.geometryGroupsList=[];for(var n in this.geometryGroups)this.geometryGroups[n].id=a++,this.geometryGroupsList.push(this.geometryGroups[n])}}(),clone:function(){for(var a=new THREE.Geometry,b=this.vertices,c=0,d=b.length;ca.opacity)h.transparent=a.transparent;void 0!==a.depthTest&&(h.depthTest=a.depthTest);void 0!==a.depthWrite&&(h.depthWrite=a.depthWrite);void 0!==a.visible&&(h.visible=a.visible);void 0!==a.flipSided&&(h.side=THREE.BackSide);void 0!==a.doubleSided&&(h.side=THREE.DoubleSide);void 0!==a.wireframe&& -(h.wireframe=a.wireframe);void 0!==a.vertexColors&&("face"===a.vertexColors?h.vertexColors=THREE.FaceColors:a.vertexColors&&(h.vertexColors=THREE.VertexColors));a.colorDiffuse?h.color=e(a.colorDiffuse):a.DbgColor&&(h.color=a.DbgColor);a.colorSpecular&&(h.specular=e(a.colorSpecular));a.colorAmbient&&(h.ambient=e(a.colorAmbient));a.colorEmissive&&(h.emissive=e(a.colorEmissive));a.transparency&&(h.opacity=a.transparency);a.specularCoef&&(h.shininess=a.specularCoef);a.mapDiffuse&&b&&d(h,"map",a.mapDiffuse, -a.mapDiffuseRepeat,a.mapDiffuseOffset,a.mapDiffuseWrap,a.mapDiffuseAnisotropy);a.mapLight&&b&&d(h,"lightMap",a.mapLight,a.mapLightRepeat,a.mapLightOffset,a.mapLightWrap,a.mapLightAnisotropy);a.mapBump&&b&&d(h,"bumpMap",a.mapBump,a.mapBumpRepeat,a.mapBumpOffset,a.mapBumpWrap,a.mapBumpAnisotropy);a.mapNormal&&b&&d(h,"normalMap",a.mapNormal,a.mapNormalRepeat,a.mapNormalOffset,a.mapNormalWrap,a.mapNormalAnisotropy);a.mapSpecular&&b&&d(h,"specularMap",a.mapSpecular,a.mapSpecularRepeat,a.mapSpecularOffset, -a.mapSpecularWrap,a.mapSpecularAnisotropy);a.mapBumpScale&&(h.bumpScale=a.mapBumpScale);a.mapNormal?(g=THREE.ShaderLib.normalmap,k=THREE.UniformsUtils.clone(g.uniforms),k.tNormal.value=h.normalMap,a.mapNormalFactor&&k.uNormalScale.value.set(a.mapNormalFactor,a.mapNormalFactor),h.map&&(k.tDiffuse.value=h.map,k.enableDiffuse.value=!0),h.specularMap&&(k.tSpecular.value=h.specularMap,k.enableSpecular.value=!0),h.lightMap&&(k.tAO.value=h.lightMap,k.enableAO.value=!0),k.diffuse.value.setHex(h.color),k.specular.value.setHex(h.specular), -k.ambient.value.setHex(h.ambient),k.shininess.value=h.shininess,void 0!==h.opacity&&(k.opacity.value=h.opacity),g=new THREE.ShaderMaterial({fragmentShader:g.fragmentShader,vertexShader:g.vertexShader,uniforms:k,lights:!0,fog:!0}),h.transparent&&(g.transparent=!0)):g=new THREE[g](h);void 0!==a.DbgName&&(g.name=a.DbgName);return g}};THREE.XHRLoader=function(a){this.cache=new THREE.Cache;this.manager=void 0!==a?a:THREE.DefaultLoadingManager}; -THREE.XHRLoader.prototype={constructor:THREE.XHRLoader,load:function(a,b,c,d){var e=this,f=e.cache.get(a);void 0!==f?b(f):(f=new XMLHttpRequest,void 0!==b&&f.addEventListener("load",function(c){e.cache.add(a,c.target.responseText);b(c.target.responseText);e.manager.itemEnd(a)},!1),void 0!==c&&f.addEventListener("progress",function(a){c(a)},!1),void 0!==d&&f.addEventListener("error",function(a){d(a)},!1),void 0!==this.crossOrigin&&(f.crossOrigin=this.crossOrigin),f.open("GET",a,!0),f.send(null),e.manager.itemStart(a))}, -setCrossOrigin:function(a){this.crossOrigin=a}};THREE.ImageLoader=function(a){this.cache=new THREE.Cache;this.manager=void 0!==a?a:THREE.DefaultLoadingManager}; -THREE.ImageLoader.prototype={constructor:THREE.ImageLoader,load:function(a,b,c,d){var e=this,f=e.cache.get(a);if(void 0!==f)b(f);else return f=document.createElement("img"),void 0!==b&&f.addEventListener("load",function(c){e.cache.add(a,this);b(this);e.manager.itemEnd(a)},!1),void 0!==c&&f.addEventListener("progress",function(a){c(a)},!1),void 0!==d&&f.addEventListener("error",function(a){d(a)},!1),void 0!==this.crossOrigin&&(f.crossOrigin=this.crossOrigin),f.src=a,e.manager.itemStart(a),f},setCrossOrigin:function(a){this.crossOrigin= -a}};THREE.JSONLoader=function(a){THREE.Loader.call(this,a);this.withCredentials=!1};THREE.JSONLoader.prototype=Object.create(THREE.Loader.prototype);THREE.JSONLoader.prototype.load=function(a,b,c){c=c&&"string"===typeof c?c:this.extractUrlBase(a);this.onLoadStart();this.loadAjaxJSON(this,a,b,c)}; -THREE.JSONLoader.prototype.loadAjaxJSON=function(a,b,c,d,e){var f=new XMLHttpRequest,g=0;f.onreadystatechange=function(){if(f.readyState===f.DONE)if(200===f.status||0===f.status){if(f.responseText){var h=JSON.parse(f.responseText);if(void 0!==h.metadata&&"scene"===h.metadata.type){console.error('THREE.JSONLoader: "'+b+'" seems to be a Scene. Use THREE.SceneLoader instead.');return}h=a.parse(h,d);c(h.geometry,h.materials)}else console.error('THREE.JSONLoader: "'+b+'" seems to be unreachable or the file is empty.'); -a.onLoadComplete()}else console.error("THREE.JSONLoader: Couldn't load \""+b+'" ('+f.status+")");else f.readyState===f.LOADING?e&&(0===g&&(g=f.getResponseHeader("Content-Length")),e({total:g,loaded:f.responseText.length})):f.readyState===f.HEADERS_RECEIVED&&void 0!==e&&(g=f.getResponseHeader("Content-Length"))};f.open("GET",b,!0);f.withCredentials=this.withCredentials;f.send(null)}; -THREE.JSONLoader.prototype.parse=function(a,b){var c=new THREE.Geometry,d=void 0!==a.scale?1/a.scale:1;(function(b){var d,g,h,k,l,n,q,p,s,t,r,v,w,u=a.faces;n=a.vertices;var y=a.normals,L=a.colors,x=0;if(void 0!==a.uvs){for(d=0;dg;g++)p=u[k++],w=v[2*p],p=v[2*p+1],w=new THREE.Vector2(w,p),2!==g&&c.faceVertexUvs[d][h].push(w),0!==g&&c.faceVertexUvs[d][h+1].push(w);q&&(q=3*u[k++],s.normal.set(y[q++],y[q++],y[q]),r.normal.copy(s.normal));if(t)for(d=0;4>d;d++)q=3*u[k++],t=new THREE.Vector3(y[q++], -y[q++],y[q]),2!==d&&s.vertexNormals.push(t),0!==d&&r.vertexNormals.push(t);n&&(n=u[k++],n=L[n],s.color.setHex(n),r.color.setHex(n));if(b)for(d=0;4>d;d++)n=u[k++],n=L[n],2!==d&&s.vertexColors.push(new THREE.Color(n)),0!==d&&r.vertexColors.push(new THREE.Color(n));c.faces.push(s);c.faces.push(r)}else{s=new THREE.Face3;s.a=u[k++];s.b=u[k++];s.c=u[k++];h&&(h=u[k++],s.materialIndex=h);h=c.faces.length;if(d)for(d=0;dg;g++)p=u[k++],w=v[2*p],p=v[2*p+1], -w=new THREE.Vector2(w,p),c.faceVertexUvs[d][h].push(w);q&&(q=3*u[k++],s.normal.set(y[q++],y[q++],y[q]));if(t)for(d=0;3>d;d++)q=3*u[k++],t=new THREE.Vector3(y[q++],y[q++],y[q]),s.vertexNormals.push(t);n&&(n=u[k++],s.color.setHex(L[n]));if(b)for(d=0;3>d;d++)n=u[k++],s.vertexColors.push(new THREE.Color(L[n]));c.faces.push(s)}})(d);(function(){var b=void 0!==a.influencesPerVertex?a.influencesPerVertex:2;if(a.skinWeights)for(var d=0,g=a.skinWeights.length;dz.parameters.opacity&&(z.parameters.transparent=!0);z.parameters.normalMap?(G=THREE.ShaderLib.normalmap,C=THREE.UniformsUtils.clone(G.uniforms), -u=z.parameters.color,F=z.parameters.specular,w=z.parameters.ambient,D=z.parameters.shininess,C.tNormal.value=B.textures[z.parameters.normalMap],z.parameters.normalScale&&C.uNormalScale.value.set(z.parameters.normalScale[0],z.parameters.normalScale[1]),z.parameters.map&&(C.tDiffuse.value=z.parameters.map,C.enableDiffuse.value=!0),z.parameters.envMap&&(C.tCube.value=z.parameters.envMap,C.enableReflection.value=!0,C.reflectivity.value=z.parameters.reflectivity),z.parameters.lightMap&&(C.tAO.value=z.parameters.lightMap, -C.enableAO.value=!0),z.parameters.specularMap&&(C.tSpecular.value=B.textures[z.parameters.specularMap],C.enableSpecular.value=!0),z.parameters.displacementMap&&(C.tDisplacement.value=B.textures[z.parameters.displacementMap],C.enableDisplacement.value=!0,C.uDisplacementBias.value=z.parameters.displacementBias,C.uDisplacementScale.value=z.parameters.displacementScale),C.diffuse.value.setHex(u),C.specular.value.setHex(F),C.ambient.value.setHex(w),C.shininess.value=D,z.parameters.opacity&&(C.opacity.value= -z.parameters.opacity),r=new THREE.ShaderMaterial({fragmentShader:G.fragmentShader,vertexShader:G.vertexShader,uniforms:C,lights:!0,fog:!0})):r=new THREE[z.type](z.parameters);r.name=H;B.materials[H]=r}for(H in A.materials)if(z=A.materials[H],z.parameters.materials){E=[];for(u=0;uh.end&&(h.end=e);b||(b=g)}}a.firstAnimation=b}; -THREE.MorphAnimMesh.prototype.setAnimationLabel=function(a,b,c){this.geometry.animations||(this.geometry.animations={});this.geometry.animations[a]={start:b,end:c}};THREE.MorphAnimMesh.prototype.playAnimation=function(a,b){var c=this.geometry.animations[a];c?(this.setFrameRange(c.start,c.end),this.duration=(c.end-c.start)/b*1E3,this.time=0):console.warn("animation["+a+"] undefined")}; -THREE.MorphAnimMesh.prototype.updateAnimation=function(a){var b=this.duration/this.length;this.time+=this.direction*a;if(this.mirroredLoop){if(this.time>this.duration||0>this.time)this.direction*=-1,this.time>this.duration&&(this.time=this.duration,this.directionBackwards=!0),0>this.time&&(this.time=0,this.directionBackwards=!1)}else this.time%=this.duration,0>this.time&&(this.time+=this.duration);a=this.startKeyframe+THREE.Math.clamp(Math.floor(this.time/b),0,this.length-1);a!==this.currentKeyframe&& -(this.morphTargetInfluences[this.lastKeyframe]=0,this.morphTargetInfluences[this.currentKeyframe]=1,this.morphTargetInfluences[a]=0,this.lastKeyframe=this.currentKeyframe,this.currentKeyframe=a);b=this.time%b/b;this.directionBackwards&&(b=1-b);this.morphTargetInfluences[this.currentKeyframe]=b;this.morphTargetInfluences[this.lastKeyframe]=1-b}; -THREE.MorphAnimMesh.prototype.clone=function(a){void 0===a&&(a=new THREE.MorphAnimMesh(this.geometry,this.material));a.duration=this.duration;a.mirroredLoop=this.mirroredLoop;a.time=this.time;a.lastKeyframe=this.lastKeyframe;a.currentKeyframe=this.currentKeyframe;a.direction=this.direction;a.directionBackwards=this.directionBackwards;THREE.Mesh.prototype.clone.call(this,a);return a};THREE.LOD=function(){THREE.Object3D.call(this);this.objects=[]};THREE.LOD.prototype=Object.create(THREE.Object3D.prototype);THREE.LOD.prototype.addLevel=function(a,b){void 0===b&&(b=0);b=Math.abs(b);for(var c=0;c=this.objects[d].distance)this.objects[d-1].object.visible=!1,this.objects[d].object.visible=!0;else break;for(;dD&&A.clearRect(Z.min.x|0,Z.min.y|0,Z.max.x-Z.min.x|0,Z.max.y-Z.min.y|0),0R.positionScreen.z||1I.positionScreen.z||1da.positionScreen.z||1=F||(F*=Q.intensity,H.add(Ea.multiplyScalar(F)))):Q instanceof THREE.PointLight&&(D=Da.setFromMatrixPosition(Q.matrixWorld),F=m.dot(Da.subVectors(D,G).normalize()), -0>=F||(F*=0==Q.distance?1:1-Math.min(G.distanceTo(D)/Q.distance,1),0!=F&&(F*=Q.intensity,H.add(Ea.multiplyScalar(F)))));fa.multiply(za).add(Ia);!0===z.wireframe?b(fa,z.wireframeLinewidth,z.wireframeLinecap,z.wireframeLinejoin):c(fa)}else z instanceof THREE.MeshBasicMaterial||z instanceof THREE.MeshLambertMaterial||z instanceof THREE.MeshPhongMaterial?null!==z.map?z.map.mapping instanceof THREE.UVMapping&&(ha=E.uvs,f(V,X,P,ga,wa,Ha,ha[0].x,ha[0].y,ha[1].x,ha[1].y,ha[2].x,ha[2].y,z.map)):null!==z.envMap? -z.envMap.mapping instanceof THREE.SphericalReflectionMapping?(ja.copy(E.vertexNormalsModel[0]).applyMatrix3(ra),Oa=0.5*ja.x+0.5,Ra=0.5*ja.y+0.5,ja.copy(E.vertexNormalsModel[1]).applyMatrix3(ra),Sa=0.5*ja.x+0.5,Fa=0.5*ja.y+0.5,ja.copy(E.vertexNormalsModel[2]).applyMatrix3(ra),ia=0.5*ja.x+0.5,ma=0.5*ja.y+0.5,f(V,X,P,ga,wa,Ha,Oa,Ra,Sa,Fa,ia,ma,z.envMap)):z.envMap.mapping instanceof THREE.SphericalRefractionMapping&&(ja.copy(E.vertexNormalsModel[0]).applyMatrix3(ra),Oa=-0.5*ja.x+0.5,Ra=-0.5*ja.y+0.5, -ja.copy(E.vertexNormalsModel[1]).applyMatrix3(ra),Sa=-0.5*ja.x+0.5,Fa=-0.5*ja.y+0.5,ja.copy(E.vertexNormalsModel[2]).applyMatrix3(ra),ia=-0.5*ja.x+0.5,ma=-0.5*ja.y+0.5,f(V,X,P,ga,wa,Ha,Oa,Ra,Sa,Fa,ia,ma,z.envMap)):(fa.copy(z.color),z.vertexColors===THREE.FaceColors&&fa.multiply(E.color),!0===z.wireframe?b(fa,z.wireframeLinewidth,z.wireframeLinecap,z.wireframeLinejoin):c(fa)):(z instanceof THREE.MeshDepthMaterial?fa.r=fa.g=fa.b=1-r(G.positionScreen.z*G.positionScreen.w,W.near,W.far):z instanceof THREE.MeshNormalMaterial? -(ja.copy(E.normalModel).applyMatrix3(ra),fa.setRGB(ja.x,ja.y,ja.z).multiplyScalar(0.5).addScalar(0.5)):fa.setRGB(1,1,1),!0===z.wireframe?b(fa,z.wireframeLinewidth,z.wireframeLinecap,z.wireframeLinejoin):c(fa))}}Z.union(qa)}}}}};THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tfloat depth = gl_FragDepthEXT / gl_FragCoord.w;\n\t#else\n\t\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\t#endif\n\t#ifdef FOG_EXP2\n\t\tconst float LOG2 = 1.442695;\n\t\tfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\n\t\tfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n\t#endif\n\tgl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif", -envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\tuniform samplerCube envMap;\n\tuniform float flipEnvMap;\n\tuniform int combine;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\t\tuniform bool useRefract;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_fragment:"#ifdef USE_ENVMAP\n\tvec3 reflectVec;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = normalize( vec3( vec4( normal, 0.0 ) * viewMatrix ) );\n\t\tif ( useRefract ) {\n\t\t\treflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t} else { \n\t\t\treflectVec = reflect( cameraToVertex, worldNormal );\n\t\t}\n\t#else\n\t\treflectVec = vReflect;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tfloat flipNormal = ( -1.0 + 2.0 * float( gl_FrontFacing ) );\n\t\tvec4 cubeColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 cubeColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#endif\n\t#ifdef GAMMA_INPUT\n\t\tcubeColor.xyz *= cubeColor.xyz;\n\t#endif\n\tif ( combine == 1 ) {\n\t\tgl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularStrength * reflectivity );\n\t} else if ( combine == 2 ) {\n\t\tgl_FragColor.xyz += cubeColor.xyz * specularStrength * reflectivity;\n\t} else {\n\t\tgl_FragColor.xyz = mix( gl_FragColor.xyz, gl_FragColor.xyz * cubeColor.xyz, specularStrength * reflectivity );\n\t}\n#endif", -envmap_pars_vertex:"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )\n\tvarying vec3 vReflect;\n\tuniform float refractionRatio;\n\tuniform bool useRefract;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\n\t#ifdef USE_SKINNING\n\t\tvec4 worldPosition = modelMatrix * skinned;\n\t#endif\n\t#if defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )\n\t\tvec4 worldPosition = modelMatrix * vec4( morphed, 1.0 );\n\t#endif\n\t#if ! defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )\n\t\tvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n\t#endif\n#endif", -envmap_vertex:"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )\n\tvec3 worldNormal = mat3( modelMatrix[ 0 ].xyz, modelMatrix[ 1 ].xyz, modelMatrix[ 2 ].xyz ) * objectNormal;\n\tworldNormal = normalize( worldNormal );\n\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\tif ( useRefract ) {\n\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t} else {\n\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t}\n#endif", -map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\n\tgl_FragColor = gl_FragColor * texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) );\n#endif",map_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\n\tvarying vec2 vUv;\n\tuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif", -map_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\n\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\t#ifdef GAMMA_INPUT\n\t\ttexelColor.xyz *= texelColor.xyz;\n\t#endif\n\tgl_FragColor = gl_FragColor * texelColor;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tvarying vec2 vUv2;\n\tuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\n\tvarying vec2 vUv2;\n#endif", -lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tgl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\n\tvUv2 = uv2;\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos );\n\t\tvec3 vSigmaY = dFdy( surf_pos );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif", -normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\n\t\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\n\t\tvec3 N = normalize( surf_norm );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy = normalScale * mapN.xy;\n\t\tmat3 tsn = mat3( S, T, N );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif", -specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",lights_lambert_pars_vertex:"uniform vec3 ambient;\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\n\tuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\n\tuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\n\tuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\n\tuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\n\tuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\n\tuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\n\tuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\n\tuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\n\tuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\n\tuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\n\tuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\n\tuniform vec3 wrapRGB;\n#endif", -lights_lambert_vertex:"vLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n#endif\ntransformedNormal = normalize( transformedNormal );\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\n\tvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\n\tvec3 dirVector = normalize( lDirection.xyz );\n\tfloat dotProduct = dot( transformedNormal, dirVector );\n\tvec3 directionalLightWeighting = vec3( max( dotProduct, 0.0 ) );\n\t#ifdef DOUBLE_SIDED\n\t\tvec3 directionalLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n\t\t#ifdef WRAP_AROUND\n\t\t\tvec3 directionalLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n\t\t#endif\n\t#endif\n\t#ifdef WRAP_AROUND\n\t\tvec3 directionalLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\n\t\tdirectionalLightWeighting = mix( directionalLightWeighting, directionalLightWeightingHalf, wrapRGB );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tdirectionalLightWeightingBack = mix( directionalLightWeightingBack, directionalLightWeightingHalfBack, wrapRGB );\n\t\t#endif\n\t#endif\n\tvLightFront += directionalLightColor[ i ] * directionalLightWeighting;\n\t#ifdef DOUBLE_SIDED\n\t\tvLightBack += directionalLightColor[ i ] * directionalLightWeightingBack;\n\t#endif\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\n\tfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\n\t\tvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\n\t\tvec3 lVector = lPosition.xyz - mvPosition.xyz;\n\t\tfloat lDistance = 1.0;\n\t\tif ( pointLightDistance[ i ] > 0.0 )\n\t\t\tlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\n\t\tlVector = normalize( lVector );\n\t\tfloat dotProduct = dot( transformedNormal, lVector );\n\t\tvec3 pointLightWeighting = vec3( max( dotProduct, 0.0 ) );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvec3 pointLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n\t\t\t#ifdef WRAP_AROUND\n\t\t\t\tvec3 pointLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n\t\t\t#endif\n\t\t#endif\n\t\t#ifdef WRAP_AROUND\n\t\t\tvec3 pointLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\n\t\t\tpointLightWeighting = mix( pointLightWeighting, pointLightWeightingHalf, wrapRGB );\n\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\tpointLightWeightingBack = mix( pointLightWeightingBack, pointLightWeightingHalfBack, wrapRGB );\n\t\t\t#endif\n\t\t#endif\n\t\tvLightFront += pointLightColor[ i ] * pointLightWeighting * lDistance;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += pointLightColor[ i ] * pointLightWeightingBack * lDistance;\n\t\t#endif\n\t}\n#endif\n#if MAX_SPOT_LIGHTS > 0\n\tfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\n\t\tvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\n\t\tvec3 lVector = lPosition.xyz - mvPosition.xyz;\n\t\tfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - worldPosition.xyz ) );\n\t\tif ( spotEffect > spotLightAngleCos[ i ] ) {\n\t\t\tspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\n\t\t\tfloat lDistance = 1.0;\n\t\t\tif ( spotLightDistance[ i ] > 0.0 )\n\t\t\t\tlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\n\t\t\tlVector = normalize( lVector );\n\t\t\tfloat dotProduct = dot( transformedNormal, lVector );\n\t\t\tvec3 spotLightWeighting = vec3( max( dotProduct, 0.0 ) );\n\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\tvec3 spotLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n\t\t\t\t#ifdef WRAP_AROUND\n\t\t\t\t\tvec3 spotLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t\t#ifdef WRAP_AROUND\n\t\t\t\tvec3 spotLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\n\t\t\t\tspotLightWeighting = mix( spotLightWeighting, spotLightWeightingHalf, wrapRGB );\n\t\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\t\tspotLightWeightingBack = mix( spotLightWeightingBack, spotLightWeightingHalfBack, wrapRGB );\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t\tvLightFront += spotLightColor[ i ] * spotLightWeighting * lDistance * spotEffect;\n\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\tvLightBack += spotLightColor[ i ] * spotLightWeightingBack * lDistance * spotEffect;\n\t\t\t#endif\n\t\t}\n\t}\n#endif\n#if MAX_HEMI_LIGHTS > 0\n\tfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\n\t\tvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\n\t\tvec3 lVector = normalize( lDirection.xyz );\n\t\tfloat dotProduct = dot( transformedNormal, lVector );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\n\t\tfloat hemiDiffuseWeightBack = -0.5 * dotProduct + 0.5;\n\t\tvLightFront += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeightBack );\n\t\t#endif\n\t}\n#endif\nvLightFront = vLightFront * diffuse + ambient * ambientLightColor + emissive;\n#ifdef DOUBLE_SIDED\n\tvLightBack = vLightBack * diffuse + ambient * ambientLightColor + emissive;\n#endif", -lights_phong_pars_vertex:"#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP ) || defined( USE_ENVMAP )\n\tvarying vec3 vWorldPosition;\n#endif",lights_phong_vertex:"#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP ) || defined( USE_ENVMAP )\n\tvWorldPosition = worldPosition.xyz;\n#endif",lights_phong_pars_fragment:"uniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\n\tuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\n\tuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\n\tuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\n\tuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\n\tuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\n\tuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\n\tuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\n\tuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\n\tuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\n\tuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\n\tuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP ) || defined( USE_ENVMAP )\n\tvarying vec3 vWorldPosition;\n#endif\n#ifdef WRAP_AROUND\n\tuniform vec3 wrapRGB;\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;", -lights_phong_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#ifdef DOUBLE_SIDED\n\tnormal = normal * ( -1.0 + 2.0 * float( gl_FrontFacing ) );\n#endif\n#ifdef USE_NORMALMAP\n\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n#if MAX_POINT_LIGHTS > 0\n\tvec3 pointDiffuse = vec3( 0.0 );\n\tvec3 pointSpecular = vec3( 0.0 );\n\tfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\n\t\tvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\n\t\tvec3 lVector = lPosition.xyz + vViewPosition.xyz;\n\t\tfloat lDistance = 1.0;\n\t\tif ( pointLightDistance[ i ] > 0.0 )\n\t\t\tlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\n\t\tlVector = normalize( lVector );\n\t\tfloat dotProduct = dot( normal, lVector );\n\t\t#ifdef WRAP_AROUND\n\t\t\tfloat pointDiffuseWeightFull = max( dotProduct, 0.0 );\n\t\t\tfloat pointDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\n\t\t\tvec3 pointDiffuseWeight = mix( vec3( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n\t\t#else\n\t\t\tfloat pointDiffuseWeight = max( dotProduct, 0.0 );\n\t\t#endif\n\t\tpointDiffuse += diffuse * pointLightColor[ i ] * pointDiffuseWeight * lDistance;\n\t\tvec3 pointHalfVector = normalize( lVector + viewPosition );\n\t\tfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\n\t\tfloat pointSpecularWeight = specularStrength * max( pow( pointDotNormalHalf, shininess ), 0.0 );\n\t\tfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\n\t\tvec3 schlick = specular + vec3( 1.0 - specular ) * pow( max( 1.0 - dot( lVector, pointHalfVector ), 0.0 ), 5.0 );\n\t\tpointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance * specularNormalization;\n\t}\n#endif\n#if MAX_SPOT_LIGHTS > 0\n\tvec3 spotDiffuse = vec3( 0.0 );\n\tvec3 spotSpecular = vec3( 0.0 );\n\tfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\n\t\tvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\n\t\tvec3 lVector = lPosition.xyz + vViewPosition.xyz;\n\t\tfloat lDistance = 1.0;\n\t\tif ( spotLightDistance[ i ] > 0.0 )\n\t\t\tlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\n\t\tlVector = normalize( lVector );\n\t\tfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\n\t\tif ( spotEffect > spotLightAngleCos[ i ] ) {\n\t\t\tspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\n\t\t\tfloat dotProduct = dot( normal, lVector );\n\t\t\t#ifdef WRAP_AROUND\n\t\t\t\tfloat spotDiffuseWeightFull = max( dotProduct, 0.0 );\n\t\t\t\tfloat spotDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\n\t\t\t\tvec3 spotDiffuseWeight = mix( vec3( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n\t\t\t#else\n\t\t\t\tfloat spotDiffuseWeight = max( dotProduct, 0.0 );\n\t\t\t#endif\n\t\t\tspotDiffuse += diffuse * spotLightColor[ i ] * spotDiffuseWeight * lDistance * spotEffect;\n\t\t\tvec3 spotHalfVector = normalize( lVector + viewPosition );\n\t\t\tfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\n\t\t\tfloat spotSpecularWeight = specularStrength * max( pow( spotDotNormalHalf, shininess ), 0.0 );\n\t\t\tfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\n\t\t\tvec3 schlick = specular + vec3( 1.0 - specular ) * pow( max( 1.0 - dot( lVector, spotHalfVector ), 0.0 ), 5.0 );\n\t\t\tspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * specularNormalization * spotEffect;\n\t\t}\n\t}\n#endif\n#if MAX_DIR_LIGHTS > 0\n\tvec3 dirDiffuse = vec3( 0.0 );\n\tvec3 dirSpecular = vec3( 0.0 );\n\tfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\n\t\tvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\n\t\tvec3 dirVector = normalize( lDirection.xyz );\n\t\tfloat dotProduct = dot( normal, dirVector );\n\t\t#ifdef WRAP_AROUND\n\t\t\tfloat dirDiffuseWeightFull = max( dotProduct, 0.0 );\n\t\t\tfloat dirDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\n\t\t\tvec3 dirDiffuseWeight = mix( vec3( dirDiffuseWeightFull ), vec3( dirDiffuseWeightHalf ), wrapRGB );\n\t\t#else\n\t\t\tfloat dirDiffuseWeight = max( dotProduct, 0.0 );\n\t\t#endif\n\t\tdirDiffuse += diffuse * directionalLightColor[ i ] * dirDiffuseWeight;\n\t\tvec3 dirHalfVector = normalize( dirVector + viewPosition );\n\t\tfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\n\t\tfloat dirSpecularWeight = specularStrength * max( pow( dirDotNormalHalf, shininess ), 0.0 );\n\t\tfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\n\t\tvec3 schlick = specular + vec3( 1.0 - specular ) * pow( max( 1.0 - dot( dirVector, dirHalfVector ), 0.0 ), 5.0 );\n\t\tdirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n\t}\n#endif\n#if MAX_HEMI_LIGHTS > 0\n\tvec3 hemiDiffuse = vec3( 0.0 );\n\tvec3 hemiSpecular = vec3( 0.0 );\n\tfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\n\t\tvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\n\t\tvec3 lVector = normalize( lDirection.xyz );\n\t\tfloat dotProduct = dot( normal, lVector );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\n\t\tvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\n\t\themiDiffuse += diffuse * hemiColor;\n\t\tvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\n\t\tfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\n\t\tfloat hemiSpecularWeightSky = specularStrength * max( pow( hemiDotNormalHalfSky, shininess ), 0.0 );\n\t\tvec3 lVectorGround = -lVector;\n\t\tvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\n\t\tfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\n\t\tfloat hemiSpecularWeightGround = specularStrength * max( pow( hemiDotNormalHalfGround, shininess ), 0.0 );\n\t\tfloat dotProductGround = dot( normal, lVectorGround );\n\t\tfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\n\t\tvec3 schlickSky = specular + vec3( 1.0 - specular ) * pow( max( 1.0 - dot( lVector, hemiHalfVectorSky ), 0.0 ), 5.0 );\n\t\tvec3 schlickGround = specular + vec3( 1.0 - specular ) * pow( max( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 0.0 ), 5.0 );\n\t\themiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\n\t}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\n\ttotalDiffuse += dirDiffuse;\n\ttotalSpecular += dirSpecular;\n#endif\n#if MAX_HEMI_LIGHTS > 0\n\ttotalDiffuse += hemiDiffuse;\n\ttotalSpecular += hemiSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\n\ttotalDiffuse += pointDiffuse;\n\ttotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\n\ttotalDiffuse += spotDiffuse;\n\ttotalSpecular += spotSpecular;\n#endif\n#ifdef METAL\n\tgl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient + totalSpecular );\n#else\n\tgl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient ) + totalSpecular;\n#endif", -color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\n\tgl_FragColor = gl_FragColor * vec4( vColor, 1.0 );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\t#ifdef GAMMA_INPUT\n\t\tvColor = color * color;\n\t#else\n\t\tvColor = color;\n\t#endif\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureWidth;\n\t\tuniform int boneTextureHeight;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureWidth ) );\n\t\t\tfloat y = floor( j / float( boneTextureWidth ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureWidth );\n\t\t\tfloat dy = 1.0 / float( boneTextureHeight );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneGlobalMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneGlobalMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif", -skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\t#ifdef USE_MORPHTARGETS\n\tvec4 skinVertex = vec4( morphed, 1.0 );\n\t#else\n\tvec4 skinVertex = vec4( position, 1.0 );\n\t#endif\n\tvec4 skinned = boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n#endif", -morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\tvec3 morphed = vec3( 0.0 );\n\tmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\tmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\tmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\tmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\tmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\tmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\tmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\tmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n\tmorphed += position;\n#endif", -default_vertex:"vec4 mvPosition;\n#ifdef USE_SKINNING\n\tmvPosition = modelViewMatrix * skinned;\n#endif\n#if !defined( USE_SKINNING ) && defined( USE_MORPHTARGETS )\n\tmvPosition = modelViewMatrix * vec4( morphed, 1.0 );\n#endif\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHTARGETS )\n\tmvPosition = modelViewMatrix * vec4( position, 1.0 );\n#endif\ngl_Position = projectionMatrix * mvPosition;",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tvec3 morphedNormal = vec3( 0.0 );\n\tmorphedNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tmorphedNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tmorphedNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tmorphedNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n\tmorphedNormal += normal;\n#endif", -skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = skinWeight.x * boneMatX;\n\tskinMatrix \t+= skinWeight.y * boneMatY;\n\tskinMatrix \t+= skinWeight.z * boneMatZ;\n\tskinMatrix \t+= skinWeight.w * boneMatW;\n\t#ifdef USE_MORPHNORMALS\n\tvec4 skinnedNormal = skinMatrix * vec4( morphedNormal, 0.0 );\n\t#else\n\tvec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );\n\t#endif\n#endif",defaultnormal_vertex:"vec3 objectNormal;\n#ifdef USE_SKINNING\n\tobjectNormal = skinnedNormal.xyz;\n#endif\n#if !defined( USE_SKINNING ) && defined( USE_MORPHNORMALS )\n\tobjectNormal = morphedNormal;\n#endif\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHNORMALS )\n\tobjectNormal = normal;\n#endif\n#ifdef FLIP_SIDED\n\tobjectNormal = -objectNormal;\n#endif\nvec3 transformedNormal = normalMatrix * objectNormal;", -shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\tuniform sampler2D shadowMap[ MAX_SHADOWS ];\n\tuniform vec2 shadowMapSize[ MAX_SHADOWS ];\n\tuniform float shadowDarkness[ MAX_SHADOWS ];\n\tuniform float shadowBias[ MAX_SHADOWS ];\n\tvarying vec4 vShadowCoord[ MAX_SHADOWS ];\n\tfloat unpackDepth( const in vec4 rgba_depth ) {\n\t\tconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\n\t\tfloat depth = dot( rgba_depth, bit_shift );\n\t\treturn depth;\n\t}\n#endif", -shadowmap_fragment:"#ifdef USE_SHADOWMAP\n\t#ifdef SHADOWMAP_DEBUG\n\t\tvec3 frustumColors[3];\n\t\tfrustumColors[0] = vec3( 1.0, 0.5, 0.0 );\n\t\tfrustumColors[1] = vec3( 0.0, 1.0, 0.8 );\n\t\tfrustumColors[2] = vec3( 0.0, 0.5, 1.0 );\n\t#endif\n\t#ifdef SHADOWMAP_CASCADE\n\t\tint inFrustumCount = 0;\n\t#endif\n\tfloat fDepth;\n\tvec3 shadowColor = vec3( 1.0 );\n\tfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\n\t\tvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\t#ifdef SHADOWMAP_CASCADE\n\t\t\tinFrustumCount += int( inFrustum );\n\t\t\tbvec3 frustumTestVec = bvec3( inFrustum, inFrustumCount == 1, shadowCoord.z <= 1.0 );\n\t\t#else\n\t\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\t#endif\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t\tshadowCoord.z += shadowBias[ i ];\n\t\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\t\tfloat shadow = 0.0;\n\t\t\t\tconst float shadowDelta = 1.0 / 9.0;\n\t\t\t\tfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\n\t\t\t\tfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\n\t\t\t\tfloat dx0 = -1.25 * xPixelOffset;\n\t\t\t\tfloat dy0 = -1.25 * yPixelOffset;\n\t\t\t\tfloat dx1 = 1.25 * xPixelOffset;\n\t\t\t\tfloat dy1 = 1.25 * yPixelOffset;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\n\t\t\t\tif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\n\t\t\t\tshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\n\t\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\t\tfloat shadow = 0.0;\n\t\t\t\tfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\n\t\t\t\tfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\n\t\t\t\tfloat dx0 = -1.0 * xPixelOffset;\n\t\t\t\tfloat dy0 = -1.0 * yPixelOffset;\n\t\t\t\tfloat dx1 = 1.0 * xPixelOffset;\n\t\t\t\tfloat dy1 = 1.0 * yPixelOffset;\n\t\t\t\tmat3 shadowKernel;\n\t\t\t\tmat3 depthKernel;\n\t\t\t\tdepthKernel[0][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\n\t\t\t\tdepthKernel[0][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\n\t\t\t\tdepthKernel[0][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );\n\t\t\t\tdepthKernel[1][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\n\t\t\t\tdepthKernel[1][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\n\t\t\t\tdepthKernel[1][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\n\t\t\t\tdepthKernel[2][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\n\t\t\t\tdepthKernel[2][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\n\t\t\t\tdepthKernel[2][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\n\t\t\t\tvec3 shadowZ = vec3( shadowCoord.z );\n\t\t\t\tshadowKernel[0] = vec3(lessThan(depthKernel[0], shadowZ ));\n\t\t\t\tshadowKernel[0] *= vec3(0.25);\n\t\t\t\tshadowKernel[1] = vec3(lessThan(depthKernel[1], shadowZ ));\n\t\t\t\tshadowKernel[1] *= vec3(0.25);\n\t\t\t\tshadowKernel[2] = vec3(lessThan(depthKernel[2], shadowZ ));\n\t\t\t\tshadowKernel[2] *= vec3(0.25);\n\t\t\t\tvec2 fractionalCoord = 1.0 - fract( shadowCoord.xy * shadowMapSize[i].xy );\n\t\t\t\tshadowKernel[0] = mix( shadowKernel[1], shadowKernel[0], fractionalCoord.x );\n\t\t\t\tshadowKernel[1] = mix( shadowKernel[2], shadowKernel[1], fractionalCoord.x );\n\t\t\t\tvec4 shadowValues;\n\t\t\t\tshadowValues.x = mix( shadowKernel[0][1], shadowKernel[0][0], fractionalCoord.y );\n\t\t\t\tshadowValues.y = mix( shadowKernel[0][2], shadowKernel[0][1], fractionalCoord.y );\n\t\t\t\tshadowValues.z = mix( shadowKernel[1][1], shadowKernel[1][0], fractionalCoord.y );\n\t\t\t\tshadowValues.w = mix( shadowKernel[1][2], shadowKernel[1][1], fractionalCoord.y );\n\t\t\t\tshadow = dot( shadowValues, vec4( 1.0 ) );\n\t\t\t\tshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\n\t\t\t#else\n\t\t\t\tvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\n\t\t\t\tfloat fDepth = unpackDepth( rgbaDepth );\n\t\t\t\tif ( fDepth < shadowCoord.z )\n\t\t\t\t\tshadowColor = shadowColor * vec3( 1.0 - shadowDarkness[ i ] );\n\t\t\t#endif\n\t\t}\n\t\t#ifdef SHADOWMAP_DEBUG\n\t\t\t#ifdef SHADOWMAP_CASCADE\n\t\t\t\tif ( inFrustum && inFrustumCount == 1 ) gl_FragColor.xyz *= frustumColors[ i ];\n\t\t\t#else\n\t\t\t\tif ( inFrustum ) gl_FragColor.xyz *= frustumColors[ i ];\n\t\t\t#endif\n\t\t#endif\n\t}\n\t#ifdef GAMMA_OUTPUT\n\t\tshadowColor *= shadowColor;\n\t#endif\n\tgl_FragColor.xyz = gl_FragColor.xyz * shadowColor;\n#endif", -shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\tvarying vec4 vShadowCoord[ MAX_SHADOWS ];\n\tuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\tfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\n\t\tvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\n\t}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif",linear_to_gamma_fragment:"#ifdef GAMMA_OUTPUT\n\tgl_FragColor.xyz = sqrt( gl_FragColor.xyz );\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n\tuniform float logDepthBufFC;\n#endif", -logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\tgl_Position.z = log2(max(1e-6, gl_Position.w + 1.0)) * logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n#else\n\t\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\n\t#endif\n#endif",logdepthbuf_pars_fragment:"#ifdef USE_LOGDEPTHBUF\n\tuniform float logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\t#extension GL_EXT_frag_depth : enable\n\t\tvarying float vFragDepth;\n\t#endif\n#endif",logdepthbuf_fragment:"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\n\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\n#endif"};THREE.UniformsUtils={merge:function(a){var b,c,d,e={};for(b=0;b dashSize ) {\n\t\tdiscard;\n\t}\n\tgl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.logdepthbuf_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n")},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",value:1}},vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.logdepthbuf_pars_vertex,"void main() {",THREE.ShaderChunk.morphtarget_vertex, -THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.logdepthbuf_vertex,"}"].join("\n"),fragmentShader:["uniform float mNear;\nuniform float mFar;\nuniform float opacity;",THREE.ShaderChunk.logdepthbuf_pars_fragment,"void main() {",THREE.ShaderChunk.logdepthbuf_fragment,"\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tfloat depth = gl_FragDepthEXT / gl_FragCoord.w;\n\t#else\n\t\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\t#endif\n\tfloat color = 1.0 - smoothstep( mNear, mFar, depth );\n\tgl_FragColor = vec4( vec3( color ), opacity );\n}"].join("\n")}, -normal:{uniforms:{opacity:{type:"f",value:1}},vertexShader:["varying vec3 vNormal;",THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.logdepthbuf_pars_vertex,"void main() {\n\tvNormal = normalize( normalMatrix * normal );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.logdepthbuf_vertex,"}"].join("\n"),fragmentShader:["uniform float opacity;\nvarying vec3 vNormal;",THREE.ShaderChunk.logdepthbuf_pars_fragment,"void main() {\n\tgl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );", -THREE.ShaderChunk.logdepthbuf_fragment,"}"].join("\n")},normalmap:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},enableReflection:{type:"i",value:0},enableDisplacement:{type:"i",value:0},tDisplacement:{type:"t",value:null},tDiffuse:{type:"t",value:null},tCube:{type:"t",value:null},tNormal:{type:"t",value:null},tSpecular:{type:"t",value:null}, -tAO:{type:"t",value:null},uNormalScale:{type:"v2",value:new THREE.Vector2(1,1)},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},diffuse:{type:"c",value:new THREE.Color(16777215)},specular:{type:"c",value:new THREE.Color(1118481)},ambient:{type:"c",value:new THREE.Color(16777215)},shininess:{type:"f",value:30},opacity:{type:"f",value:1},useRefract:{type:"i",value:0},refractionRatio:{type:"f",value:0.98},reflectivity:{type:"f",value:0.5},uOffset:{type:"v2",value:new THREE.Vector2(0, -0)},uRepeat:{type:"v2",value:new THREE.Vector2(1,1)},wrapRGB:{type:"v3",value:new THREE.Vector3(1,1,1)}}]),fragmentShader:["uniform vec3 ambient;\nuniform vec3 diffuse;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform bool enableReflection;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform samplerCube tCube;\nuniform vec2 uNormalScale;\nuniform bool useRefract;\nuniform float refractionRatio;\nuniform float reflectivity;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\n\tuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\n\tuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\n\tuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\n\tuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\n\tuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\n\tuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\n\tuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\n\tuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\n\tuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\n\tuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\n\tuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n\tuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\n\tuniform vec3 wrapRGB;\n#endif\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;", -THREE.ShaderChunk.shadowmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.logdepthbuf_pars_fragment,"void main() {",THREE.ShaderChunk.logdepthbuf_fragment,"\tgl_FragColor = vec4( vec3( 1.0 ), opacity );\n\tvec3 specularTex = vec3( 1.0 );\n\tvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\n\tnormalTex.xy *= uNormalScale;\n\tnormalTex = normalize( normalTex );\n\tif( enableDiffuse ) {\n\t\t#ifdef GAMMA_INPUT\n\t\t\tvec4 texelColor = texture2D( tDiffuse, vUv );\n\t\t\ttexelColor.xyz *= texelColor.xyz;\n\t\t\tgl_FragColor = gl_FragColor * texelColor;\n\t\t#else\n\t\t\tgl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\n\t\t#endif\n\t}\n\tif( enableAO ) {\n\t\t#ifdef GAMMA_INPUT\n\t\t\tvec4 aoColor = texture2D( tAO, vUv );\n\t\t\taoColor.xyz *= aoColor.xyz;\n\t\t\tgl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;\n\t\t#else\n\t\t\tgl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;\n\t\t#endif\n\t}\n\tif( enableSpecular )\n\t\tspecularTex = texture2D( tSpecular, vUv ).xyz;\n\tmat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );\n\tvec3 finalNormal = tsb * normalTex;\n\t#ifdef FLIP_SIDED\n\t\tfinalNormal = -finalNormal;\n\t#endif\n\tvec3 normal = normalize( finalNormal );\n\tvec3 viewPosition = normalize( vViewPosition );\n\t#if MAX_POINT_LIGHTS > 0\n\t\tvec3 pointDiffuse = vec3( 0.0 );\n\t\tvec3 pointSpecular = vec3( 0.0 );\n\t\tfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\n\t\t\tvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\n\t\t\tvec3 pointVector = lPosition.xyz + vViewPosition.xyz;\n\t\t\tfloat pointDistance = 1.0;\n\t\t\tif ( pointLightDistance[ i ] > 0.0 )\n\t\t\t\tpointDistance = 1.0 - min( ( length( pointVector ) / pointLightDistance[ i ] ), 1.0 );\n\t\t\tpointVector = normalize( pointVector );\n\t\t\t#ifdef WRAP_AROUND\n\t\t\t\tfloat pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );\n\t\t\t\tfloat pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );\n\t\t\t\tvec3 pointDiffuseWeight = mix( vec3( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n\t\t\t#else\n\t\t\t\tfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\n\t\t\t#endif\n\t\t\tpointDiffuse += pointDistance * pointLightColor[ i ] * diffuse * pointDiffuseWeight;\n\t\t\tvec3 pointHalfVector = normalize( pointVector + viewPosition );\n\t\t\tfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\n\t\t\tfloat pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, shininess ), 0.0 );\n\t\t\tfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\n\t\t\tvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );\n\t\t\tpointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;\n\t\t}\n\t#endif\n\t#if MAX_SPOT_LIGHTS > 0\n\t\tvec3 spotDiffuse = vec3( 0.0 );\n\t\tvec3 spotSpecular = vec3( 0.0 );\n\t\tfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\n\t\t\tvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\n\t\t\tvec3 spotVector = lPosition.xyz + vViewPosition.xyz;\n\t\t\tfloat spotDistance = 1.0;\n\t\t\tif ( spotLightDistance[ i ] > 0.0 )\n\t\t\t\tspotDistance = 1.0 - min( ( length( spotVector ) / spotLightDistance[ i ] ), 1.0 );\n\t\t\tspotVector = normalize( spotVector );\n\t\t\tfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\n\t\t\tif ( spotEffect > spotLightAngleCos[ i ] ) {\n\t\t\t\tspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\n\t\t\t\t#ifdef WRAP_AROUND\n\t\t\t\t\tfloat spotDiffuseWeightFull = max( dot( normal, spotVector ), 0.0 );\n\t\t\t\t\tfloat spotDiffuseWeightHalf = max( 0.5 * dot( normal, spotVector ) + 0.5, 0.0 );\n\t\t\t\t\tvec3 spotDiffuseWeight = mix( vec3( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n\t\t\t\t#else\n\t\t\t\t\tfloat spotDiffuseWeight = max( dot( normal, spotVector ), 0.0 );\n\t\t\t\t#endif\n\t\t\t\tspotDiffuse += spotDistance * spotLightColor[ i ] * diffuse * spotDiffuseWeight * spotEffect;\n\t\t\t\tvec3 spotHalfVector = normalize( spotVector + viewPosition );\n\t\t\t\tfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\n\t\t\t\tfloat spotSpecularWeight = specularTex.r * max( pow( spotDotNormalHalf, shininess ), 0.0 );\n\t\t\t\tfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\n\t\t\t\tvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( spotVector, spotHalfVector ), 5.0 );\n\t\t\t\tspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * spotDistance * specularNormalization * spotEffect;\n\t\t\t}\n\t\t}\n\t#endif\n\t#if MAX_DIR_LIGHTS > 0\n\t\tvec3 dirDiffuse = vec3( 0.0 );\n\t\tvec3 dirSpecular = vec3( 0.0 );\n\t\tfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\n\t\t\tvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\n\t\t\tvec3 dirVector = normalize( lDirection.xyz );\n\t\t\t#ifdef WRAP_AROUND\n\t\t\t\tfloat directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );\n\t\t\t\tfloat directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );\n\t\t\t\tvec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );\n\t\t\t#else\n\t\t\t\tfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\n\t\t\t#endif\n\t\t\tdirDiffuse += directionalLightColor[ i ] * diffuse * dirDiffuseWeight;\n\t\t\tvec3 dirHalfVector = normalize( dirVector + viewPosition );\n\t\t\tfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\n\t\t\tfloat dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, shininess ), 0.0 );\n\t\t\tfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\n\t\t\tvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\n\t\t\tdirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n\t\t}\n\t#endif\n\t#if MAX_HEMI_LIGHTS > 0\n\t\tvec3 hemiDiffuse = vec3( 0.0 );\n\t\tvec3 hemiSpecular = vec3( 0.0 );\n\t\tfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\n\t\t\tvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\n\t\t\tvec3 lVector = normalize( lDirection.xyz );\n\t\t\tfloat dotProduct = dot( normal, lVector );\n\t\t\tfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\n\t\t\tvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\n\t\t\themiDiffuse += diffuse * hemiColor;\n\t\t\tvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\n\t\t\tfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\n\t\t\tfloat hemiSpecularWeightSky = specularTex.r * max( pow( hemiDotNormalHalfSky, shininess ), 0.0 );\n\t\t\tvec3 lVectorGround = -lVector;\n\t\t\tvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\n\t\t\tfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\n\t\t\tfloat hemiSpecularWeightGround = specularTex.r * max( pow( hemiDotNormalHalfGround, shininess ), 0.0 );\n\t\t\tfloat dotProductGround = dot( normal, lVectorGround );\n\t\t\tfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\n\t\t\tvec3 schlickSky = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\n\t\t\tvec3 schlickGround = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\n\t\t\themiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\n\t\t}\n\t#endif\n\tvec3 totalDiffuse = vec3( 0.0 );\n\tvec3 totalSpecular = vec3( 0.0 );\n\t#if MAX_DIR_LIGHTS > 0\n\t\ttotalDiffuse += dirDiffuse;\n\t\ttotalSpecular += dirSpecular;\n\t#endif\n\t#if MAX_HEMI_LIGHTS > 0\n\t\ttotalDiffuse += hemiDiffuse;\n\t\ttotalSpecular += hemiSpecular;\n\t#endif\n\t#if MAX_POINT_LIGHTS > 0\n\t\ttotalDiffuse += pointDiffuse;\n\t\ttotalSpecular += pointSpecular;\n\t#endif\n\t#if MAX_SPOT_LIGHTS > 0\n\t\ttotalDiffuse += spotDiffuse;\n\t\ttotalSpecular += spotSpecular;\n\t#endif\n\t#ifdef METAL\n\t\tgl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * ambient + totalSpecular );\n\t#else\n\t\tgl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * ambient ) + totalSpecular;\n\t#endif\n\tif ( enableReflection ) {\n\t\tvec3 vReflect;\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tif ( useRefract ) {\n\t\t\tvReflect = refract( cameraToVertex, normal, refractionRatio );\n\t\t} else {\n\t\t\tvReflect = reflect( cameraToVertex, normal );\n\t\t}\n\t\tvec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\n\t\t#ifdef GAMMA_INPUT\n\t\t\tcubeColor.xyz *= cubeColor.xyz;\n\t\t#endif\n\t\tgl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * reflectivity );\n\t}", -THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.linear_to_gamma_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["attribute vec4 tangent;\nuniform vec2 uOffset;\nuniform vec2 uRepeat;\nuniform bool enableDisplacement;\n#ifdef VERTEX_TEXTURES\n\tuniform sampler2D tDisplacement;\n\tuniform float uDisplacementScale;\n\tuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;", -THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,THREE.ShaderChunk.logdepthbuf_pars_vertex,"void main() {",THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.skinnormal_vertex,"\t#ifdef USE_SKINNING\n\t\tvNormal = normalize( normalMatrix * skinnedNormal.xyz );\n\t\tvec4 skinnedTangent = skinMatrix * vec4( tangent.xyz, 0.0 );\n\t\tvTangent = normalize( normalMatrix * skinnedTangent.xyz );\n\t#else\n\t\tvNormal = normalize( normalMatrix * normal );\n\t\tvTangent = normalize( normalMatrix * tangent.xyz );\n\t#endif\n\tvBinormal = normalize( cross( vNormal, vTangent ) * tangent.w );\n\tvUv = uv * uRepeat + uOffset;\n\tvec3 displacedPosition;\n\t#ifdef VERTEX_TEXTURES\n\t\tif ( enableDisplacement ) {\n\t\t\tvec3 dv = texture2D( tDisplacement, uv ).xyz;\n\t\t\tfloat df = uDisplacementScale * dv.x + uDisplacementBias;\n\t\t\tdisplacedPosition = position + normalize( normal ) * df;\n\t\t} else {\n\t\t\t#ifdef USE_SKINNING\n\t\t\t\tvec4 skinVertex = vec4( position, 1.0 );\n\t\t\t\tvec4 skinned = boneMatX * skinVertex * skinWeight.x;\n\t\t\t\tskinned \t += boneMatY * skinVertex * skinWeight.y;\n\t\t\t\tskinned \t += boneMatZ * skinVertex * skinWeight.z;\n\t\t\t\tskinned \t += boneMatW * skinVertex * skinWeight.w;\n\t\t\t\tdisplacedPosition = skinned.xyz;\n\t\t\t#else\n\t\t\t\tdisplacedPosition = position;\n\t\t\t#endif\n\t\t}\n\t#else\n\t\t#ifdef USE_SKINNING\n\t\t\tvec4 skinVertex = vec4( position, 1.0 );\n\t\t\tvec4 skinned = boneMatX * skinVertex * skinWeight.x;\n\t\t\tskinned \t += boneMatY * skinVertex * skinWeight.y;\n\t\t\tskinned \t += boneMatZ * skinVertex * skinWeight.z;\n\t\t\tskinned \t += boneMatW * skinVertex * skinWeight.w;\n\t\t\tdisplacedPosition = skinned.xyz;\n\t\t#else\n\t\t\tdisplacedPosition = position;\n\t\t#endif\n\t#endif\n\tvec4 mvPosition = modelViewMatrix * vec4( displacedPosition, 1.0 );\n\tvec4 worldPosition = modelMatrix * vec4( displacedPosition, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;", -THREE.ShaderChunk.logdepthbuf_vertex,"\tvWorldPosition = worldPosition.xyz;\n\tvViewPosition = -mvPosition.xyz;\n\t#ifdef USE_SHADOWMAP\n\t\tfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\n\t\t\tvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\n\t\t}\n\t#endif\n}"].join("\n")},cube:{uniforms:{tCube:{type:"t",value:null},tFlip:{type:"f",value:-1}},vertexShader:["varying vec3 vWorldPosition;",THREE.ShaderChunk.logdepthbuf_pars_vertex,"void main() {\n\tvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n\tvWorldPosition = worldPosition.xyz;\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", -THREE.ShaderChunk.logdepthbuf_vertex,"}"].join("\n"),fragmentShader:["uniform samplerCube tCube;\nuniform float tFlip;\nvarying vec3 vWorldPosition;",THREE.ShaderChunk.logdepthbuf_pars_fragment,"void main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );",THREE.ShaderChunk.logdepthbuf_fragment,"}"].join("\n")},depthRGBA:{uniforms:{},vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.logdepthbuf_pars_vertex, -"void main() {",THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.logdepthbuf_vertex,"}"].join("\n"),fragmentShader:[THREE.ShaderChunk.logdepthbuf_pars_fragment,"vec4 pack_depth( const in float depth ) {\n\tconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\n\tconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\n\tvec4 res = mod( depth * bit_shift * vec4( 255 ), vec4( 256 ) ) / vec4( 255 );\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\nvoid main() {", -THREE.ShaderChunk.logdepthbuf_fragment,"\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tgl_FragData[ 0 ] = pack_depth( gl_FragDepthEXT );\n\t#else\n\t\tgl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n\t#endif\n}"].join("\n")}};THREE.WebGLRenderer=function(a){function b(a,b){var c=a.vertices.length,d=b.material;if(d.attributes){void 0===a.__webglCustomAttributesList&&(a.__webglCustomAttributesList=[]);for(var e in d.attributes){var f=d.attributes[e];if(!f.__webglInitialized||f.createUniqueBuffers){f.__webglInitialized=!0;var g=1;"v2"===f.type?g=2:"v3"===f.type?g=3:"v4"===f.type?g=4:"c"===f.type&&(g=3);f.size=g;f.array=new Float32Array(c*g);f.buffer=m.createBuffer();f.buffer.belongsToAttribute=e;f.needsUpdate=!0}a.__webglCustomAttributesList.push(f)}}} -function c(a,b){var c=b.geometry,g=a.faces3,h=3*g.length,k=1*g.length,l=3*g.length,g=d(b,a),n=f(g),p=e(g),q=g.vertexColors?g.vertexColors:!1;a.__vertexArray=new Float32Array(3*h);p&&(a.__normalArray=new Float32Array(3*h));c.hasTangents&&(a.__tangentArray=new Float32Array(4*h));q&&(a.__colorArray=new Float32Array(3*h));n&&(0p;p++)P.autoScaleCubemaps&&!f?(q=l,u=p,w=c.image[p],y=dc,w.width<=y&&w.height<=y||(A=Math.max(w.width,w.height),v=Math.floor(w.width*y/A),y=Math.floor(w.height*y/A),A=document.createElement("canvas"),A.width=v,A.height=y,A.getContext("2d").drawImage(w,0,0,w.width,w.height,0,0,v,y),w=A),q[u]=w):l[p]=c.image[p];p=l[0];q=THREE.Math.isPowerOfTwo(p.width)&&THREE.Math.isPowerOfTwo(p.height);u=z(c.format);w=z(c.type);D(m.TEXTURE_CUBE_MAP,c,q); -for(p=0;6>p;p++)if(f)for(y=l[p].mipmaps,A=0,L=y.length;A=Cb&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+Cb);Ea+=1;return a}function B(a,b,c,d){a[b]=c.r*c.r*d;a[b+1]=c.g*c.g*d;a[b+2]=c.b*c.b*d}function K(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function A(a){a!==ua&&(m.lineWidth(a),ua=a)}function G(a,b,c){ya!==a&&(a?m.enable(m.POLYGON_OFFSET_FILL):m.disable(m.POLYGON_OFFSET_FILL),ya=a);!a||Z===b&&qa===c||(m.polygonOffset(b,c),Z=b,qa=c)}function D(a, -b,c){c?(m.texParameteri(a,m.TEXTURE_WRAP_S,z(b.wrapS)),m.texParameteri(a,m.TEXTURE_WRAP_T,z(b.wrapT)),m.texParameteri(a,m.TEXTURE_MAG_FILTER,z(b.magFilter)),m.texParameteri(a,m.TEXTURE_MIN_FILTER,z(b.minFilter))):(m.texParameteri(a,m.TEXTURE_WRAP_S,m.CLAMP_TO_EDGE),m.texParameteri(a,m.TEXTURE_WRAP_T,m.CLAMP_TO_EDGE),m.texParameteri(a,m.TEXTURE_MAG_FILTER,F(b.magFilter)),m.texParameteri(a,m.TEXTURE_MIN_FILTER,F(b.minFilter)));db&&b.type!==THREE.FloatType&&(1b;b++)m.deleteFramebuffer(a.__webglFramebuffer[b]),m.deleteRenderbuffer(a.__webglRenderbuffer[b]);else m.deleteFramebuffer(a.__webglFramebuffer),m.deleteRenderbuffer(a.__webglRenderbuffer);P.info.memory.textures--},Sb=function(a){a=a.target;a.removeEventListener("dispose",Sb);Fb(a)},Qb=function(a){void 0!==a.__webglVertexBuffer&& -m.deleteBuffer(a.__webglVertexBuffer);void 0!==a.__webglNormalBuffer&&m.deleteBuffer(a.__webglNormalBuffer);void 0!==a.__webglTangentBuffer&&m.deleteBuffer(a.__webglTangentBuffer);void 0!==a.__webglColorBuffer&&m.deleteBuffer(a.__webglColorBuffer);void 0!==a.__webglUVBuffer&&m.deleteBuffer(a.__webglUVBuffer);void 0!==a.__webglUV2Buffer&&m.deleteBuffer(a.__webglUV2Buffer);void 0!==a.__webglSkinIndicesBuffer&&m.deleteBuffer(a.__webglSkinIndicesBuffer);void 0!==a.__webglSkinWeightsBuffer&&m.deleteBuffer(a.__webglSkinWeightsBuffer); -void 0!==a.__webglFaceBuffer&&m.deleteBuffer(a.__webglFaceBuffer);void 0!==a.__webglLineBuffer&&m.deleteBuffer(a.__webglLineBuffer);void 0!==a.__webglLineDistanceBuffer&&m.deleteBuffer(a.__webglLineDistanceBuffer);if(void 0!==a.__webglCustomAttributesList)for(var b in a.__webglCustomAttributesList)m.deleteBuffer(a.__webglCustomAttributesList[b].buffer);P.info.memory.geometries--},Fb=function(a){var b=a.program;if(void 0!==b){a.program=void 0;var c,d,e=!1;a=0;for(c=ga.length;ad.numSupportedMorphTargets?(p.sort(q),p.length=d.numSupportedMorphTargets):p.length> -d.numSupportedMorphNormals?p.sort(q):0===p.length&&p.push([0,0]);for(n=0;nha;ha++)Fa=U[ha],tb[eb]=Fa.x,tb[eb+1]=Fa.y, -tb[eb+2]=Fa.z,eb+=3;else for(ha=0;3>ha;ha++)tb[eb]=fa.x,tb[eb+1]=fa.y,tb[eb+2]=fa.z,eb+=3;m.bindBuffer(m.ARRAY_BUFFER,x.__webglNormalBuffer);m.bufferData(m.ARRAY_BUFFER,tb,C)}if(xb&&Bb&&N){D=0;for(F=ea.length;Dha;ha++)Ca=V[ha],cb[Ra]=Ca.x,cb[Ra+1]=Ca.y,Ra+=2;0ha;ha++)Da=W[ha],db[Sa]= -Da.x,db[Sa+1]=Da.y,Sa+=2;0f;f++){a.__webglFramebuffer[f]=m.createFramebuffer();a.__webglRenderbuffer[f]=m.createRenderbuffer();m.texImage2D(m.TEXTURE_CUBE_MAP_POSITIVE_X+f,0,d,a.width,a.height,0,d,e,null);var g=a,h=m.TEXTURE_CUBE_MAP_POSITIVE_X+f;m.bindFramebuffer(m.FRAMEBUFFER,a.__webglFramebuffer[f]);m.framebufferTexture2D(m.FRAMEBUFFER,m.COLOR_ATTACHMENT0,h,g.__webglTexture,0);C(a.__webglRenderbuffer[f],a)}c&&m.generateMipmap(m.TEXTURE_CUBE_MAP)}else a.__webglFramebuffer=m.createFramebuffer(), -a.__webglRenderbuffer=a.shareDepthFrom?a.shareDepthFrom.__webglRenderbuffer:m.createRenderbuffer(),m.bindTexture(m.TEXTURE_2D,a.__webglTexture),D(m.TEXTURE_2D,a,c),m.texImage2D(m.TEXTURE_2D,0,d,a.width,a.height,0,d,e,null),d=m.TEXTURE_2D,m.bindFramebuffer(m.FRAMEBUFFER,a.__webglFramebuffer),m.framebufferTexture2D(m.FRAMEBUFFER,m.COLOR_ATTACHMENT0,d,a.__webglTexture,0),a.shareDepthFrom?a.depthBuffer&&!a.stencilBuffer?m.framebufferRenderbuffer(m.FRAMEBUFFER,m.DEPTH_ATTACHMENT,m.RENDERBUFFER,a.__webglRenderbuffer): -a.depthBuffer&&a.stencilBuffer&&m.framebufferRenderbuffer(m.FRAMEBUFFER,m.DEPTH_STENCIL_ATTACHMENT,m.RENDERBUFFER,a.__webglRenderbuffer):C(a.__webglRenderbuffer,a),c&&m.generateMipmap(m.TEXTURE_2D);b?m.bindTexture(m.TEXTURE_CUBE_MAP,null):m.bindTexture(m.TEXTURE_2D,null);m.bindRenderbuffer(m.RENDERBUFFER,null);m.bindFramebuffer(m.FRAMEBUFFER,null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=Da,a=Ja,d=Ca,e=va);b!==Ha&&(m.bindFramebuffer(m.FRAMEBUFFER, -b),m.viewport(d,e,c,a),Ha=b);ja=c;ra=a};this.shadowMapPlugin=new THREE.ShadowMapPlugin;this.addPrePlugin(this.shadowMapPlugin);this.addPostPlugin(new THREE.SpritePlugin);this.addPostPlugin(new THREE.LensFlarePlugin)};THREE.WebGLRenderTarget=function(a,b,c){this.width=a;this.height=b;c=c||{};this.wrapS=void 0!==c.wrapS?c.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=void 0!==c.wrapT?c.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=void 0!==c.magFilter?c.magFilter:THREE.LinearFilter;this.minFilter=void 0!==c.minFilter?c.minFilter:THREE.LinearMipMapLinearFilter;this.anisotropy=void 0!==c.anisotropy?c.anisotropy:1;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=void 0!==c.format?c.format: -THREE.RGBAFormat;this.type=void 0!==c.type?c.type:THREE.UnsignedByteType;this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.generateMipmaps=!0;this.shareDepthFrom=null}; -THREE.WebGLRenderTarget.prototype={constructor:THREE.WebGLRenderTarget,setSize:function(a,b){this.width=a;this.height=b},clone:function(){var a=new THREE.WebGLRenderTarget(this.width,this.height);a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.minFilter=this.minFilter;a.anisotropy=this.anisotropy;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.format=this.format;a.type=this.type;a.depthBuffer=this.depthBuffer;a.stencilBuffer=this.stencilBuffer;a.generateMipmaps=this.generateMipmaps; -a.shareDepthFrom=this.shareDepthFrom;return a},dispose:function(){this.dispatchEvent({type:"dispose"})}};THREE.EventDispatcher.prototype.apply(THREE.WebGLRenderTarget.prototype);THREE.WebGLRenderTargetCube=function(a,b,c){THREE.WebGLRenderTarget.call(this,a,b,c);this.activeCubeFace=0};THREE.WebGLRenderTargetCube.prototype=Object.create(THREE.WebGLRenderTarget.prototype);THREE.WebGLProgram=function(){var a=0;return function(b,c,d,e){var f=b.context,g=d.fragmentShader,h=d.vertexShader,k=d.uniforms,l=d.attributes,n=d.defines,q=d.index0AttributeName;void 0===q&&!0===e.morphTargets&&(q="position");var p="SHADOWMAP_TYPE_BASIC";e.shadowMapType===THREE.PCFShadowMap?p="SHADOWMAP_TYPE_PCF":e.shadowMapType===THREE.PCFSoftShadowMap&&(p="SHADOWMAP_TYPE_PCF_SOFT");var s,t;s=[];for(var r in n)t=n[r],!1!==t&&(t="#define "+r+" "+t,s.push(t));s=s.join("\n");n=f.createProgram();d instanceof -THREE.RawShaderMaterial?b=d="":(d=["precision "+e.precision+" float;","precision "+e.precision+" int;",s,e.supportsVertexTextures?"#define VERTEX_TEXTURES":"",b.gammaInput?"#define GAMMA_INPUT":"",b.gammaOutput?"#define GAMMA_OUTPUT":"","#define MAX_DIR_LIGHTS "+e.maxDirLights,"#define MAX_POINT_LIGHTS "+e.maxPointLights,"#define MAX_SPOT_LIGHTS "+e.maxSpotLights,"#define MAX_HEMI_LIGHTS "+e.maxHemiLights,"#define MAX_SHADOWS "+e.maxShadows,"#define MAX_BONES "+e.maxBones,e.map?"#define USE_MAP": -"",e.envMap?"#define USE_ENVMAP":"",e.lightMap?"#define USE_LIGHTMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.vertexColors?"#define USE_COLOR":"",e.skinning?"#define USE_SKINNING":"",e.useVertexTexture?"#define BONE_TEXTURE":"",e.morphTargets?"#define USE_MORPHTARGETS":"",e.morphNormals?"#define USE_MORPHNORMALS":"",e.wrapAround?"#define WRAP_AROUND":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED": -"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+p:"",e.shadowMapDebug?"#define SHADOWMAP_DEBUG":"",e.shadowMapCascade?"#define SHADOWMAP_CASCADE":"",e.sizeAttenuation?"#define USE_SIZEATTENUATION":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 modelMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\n\tattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\n\tattribute vec3 morphTarget0;\n\tattribute vec3 morphTarget1;\n\tattribute vec3 morphTarget2;\n\tattribute vec3 morphTarget3;\n\t#ifdef USE_MORPHNORMALS\n\t\tattribute vec3 morphNormal0;\n\t\tattribute vec3 morphNormal1;\n\t\tattribute vec3 morphNormal2;\n\t\tattribute vec3 morphNormal3;\n\t#else\n\t\tattribute vec3 morphTarget4;\n\t\tattribute vec3 morphTarget5;\n\t\tattribute vec3 morphTarget6;\n\t\tattribute vec3 morphTarget7;\n\t#endif\n#endif\n#ifdef USE_SKINNING\n\tattribute vec4 skinIndex;\n\tattribute vec4 skinWeight;\n#endif\n"].join("\n"), -b=["precision "+e.precision+" float;","precision "+e.precision+" int;",e.bumpMap||e.normalMap?"#extension GL_OES_standard_derivatives : enable":"",s,"#define MAX_DIR_LIGHTS "+e.maxDirLights,"#define MAX_POINT_LIGHTS "+e.maxPointLights,"#define MAX_SPOT_LIGHTS "+e.maxSpotLights,"#define MAX_HEMI_LIGHTS "+e.maxHemiLights,"#define MAX_SHADOWS "+e.maxShadows,e.alphaTest?"#define ALPHATEST "+e.alphaTest:"",b.gammaInput?"#define GAMMA_INPUT":"",b.gammaOutput?"#define GAMMA_OUTPUT":"",e.useFog&&e.fog?"#define USE_FOG": -"",e.useFog&&e.fogExp?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.envMap?"#define USE_ENVMAP":"",e.lightMap?"#define USE_LIGHTMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.vertexColors?"#define USE_COLOR":"",e.metal?"#define METAL":"",e.wrapAround?"#define WRAP_AROUND":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled? -"#define "+p:"",e.shadowMapDebug?"#define SHADOWMAP_DEBUG":"",e.shadowMapCascade?"#define SHADOWMAP_CASCADE":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n"));h=new THREE.WebGLShader(f,f.VERTEX_SHADER,d+h);g=new THREE.WebGLShader(f,f.FRAGMENT_SHADER,b+g);f.attachShader(n,h);f.attachShader(n,g);void 0!==q&&f.bindAttribLocation(n,0,q);f.linkProgram(n);!1===f.getProgramParameter(n,f.LINK_STATUS)&&(console.error("Could not initialise shader"), -console.error("gl.VALIDATE_STATUS",f.getProgramParameter(n,f.VALIDATE_STATUS)),console.error("gl.getError()",f.getError()));""!==f.getProgramInfoLog(n)&&console.error("gl.getProgramInfoLog()",f.getProgramInfoLog(n));f.deleteShader(h);f.deleteShader(g);q="viewMatrix modelViewMatrix projectionMatrix normalMatrix modelMatrix cameraPosition morphTargetInfluences".split(" ");e.useVertexTexture?(q.push("boneTexture"),q.push("boneTextureWidth"),q.push("boneTextureHeight")):q.push("boneGlobalMatrices");e.logarithmicDepthBuffer&& -q.push("logDepthBufFC");for(var v in k)q.push(v);k=q;v={};q=0;for(b=k.length;qa?b(c,e-1):l[e]>8&255,l>>16&255,l>>24&255)),e}e.mipmapCount=1;k[2]&131072&&!1!==b&&(e.mipmapCount=Math.max(1,k[7]));e.isCubemap=k[28]&512?!0:!1;e.width=k[4];e.height=k[3];for(var k=k[1]+4,g=e.width,h=e.height,l=e.isCubemap?6:1,q=0;qq-1?0:q-1,s=q+1>e-1?e-1:q+1,t=0>n-1?0:n-1,r=n+1>d-1?d-1:n+1,v=[],w=[0,0,h[4*(q*d+n)]/255*b];v.push([-1,0,h[4*(q*d+t)]/255*b]);v.push([-1,-1,h[4*(p*d+t)]/255*b]);v.push([0,-1,h[4*(p*d+n)]/255*b]);v.push([1,-1,h[4*(p*d+r)]/255*b]);v.push([1,0,h[4*(q*d+r)]/255*b]);v.push([1,1,h[4*(s*d+r)]/255*b]);v.push([0,1,h[4*(s*d+n)]/255*b]);v.push([-1,1,h[4*(s*d+t)]/255*b]);p=[];t=v.length;for(s=0;se)return null;var f=[],g=[],h=[],k,l,n;if(0=q--){console.log("Warning, unable to triangulate polygon!");break}k=l;e<=k&&(k=0);l=k+1;e<=l&&(l=0);n=l+1;e<=n&&(n=0);var p;a:{var s=p=void 0,t=void 0,r=void 0,v=void 0,w=void 0,u=void 0,y=void 0,L= -void 0,s=a[g[k]].x,t=a[g[k]].y,r=a[g[l]].x,v=a[g[l]].y,w=a[g[n]].x,u=a[g[n]].y;if(1E-10>(r-s)*(u-t)-(v-t)*(w-s))p=!1;else{var x=void 0,N=void 0,J=void 0,B=void 0,K=void 0,A=void 0,G=void 0,D=void 0,C=void 0,F=void 0,C=D=G=L=y=void 0,x=w-r,N=u-v,J=s-w,B=t-u,K=r-s,A=v-t;for(p=0;pk)g=d+1;else if(0b&&(b=0);1=b)return b=c[a]-b,a=this.curves[a],b=1-b/a.getLength(),a.getPointAt(b);a++}return null};THREE.CurvePath.prototype.getLength=function(){var a=this.getCurveLengths();return a[a.length-1]}; -THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var a=[],b=0,c,d=this.curves.length;for(c=0;cb?b=h.x:h.xc?c=h.y:h.yd?d=h.z:h.zMath.abs(d.x-c[0].x)&&1E-10>Math.abs(d.y-c[0].y)&&c.splice(c.length-1,1);b&&c.push(c[0]);return c}; -THREE.Path.prototype.toShapes=function(a,b){function c(a){for(var b=[],c=0,d=a.length;cl&&(g=b[f],k=-k,h=b[e],l=-l),!(a.yh.y))if(a.y==g.y){if(a.x==g.x)return!0}else{e=l*(a.x-g.x)-k*(a.y-g.y);if(0==e)return!0;0>e||(d=!d)}}else if(a.y==g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<= -h.x))return!0}return d}var e=function(a){var b,c,d,e,f=[],g=new THREE.Path;b=0;for(c=a.length;bB||B>J)return[];k=l*n-k*q;if(0>k||k>J)return[]}else{if(0d?[]:k==d?f?[]:[g]:a<=d?[g,h]: -[g,l]}function e(a,b,c,d){var e=b.x-a.x,f=b.y-a.y;b=c.x-a.x;c=c.y-a.y;var g=d.x-a.x;d=d.y-a.y;a=e*c-f*b;e=e*d-f*g;return 1E-10f&&(f=d);var g=a+1;g>d&&(g=0);d=e(h[a],h[f],h[g],k[b]);if(!d)return!1; -d=k.length-1;f=b-1;0>f&&(f=d);g=b+1;g>d&&(g=0);return(d=e(k[b],k[f],k[g],h[a]))?!0:!1}function f(a,b){var c,e;for(c=0;cF){console.log("Infinite Loop! Holes left:"+ -l.length+", Probably Hole outside Shape!");break}for(q=A;qh;h++)l=k[h].x+":"+k[h].y, -l=n[l],void 0!==l&&(k[h]=l);return q.concat()},isClockWise:function(a){return 0>THREE.FontUtils.Triangulate.area(a)},b2p0:function(a,b){var c=1-a;return c*c*b},b2p1:function(a,b){return 2*(1-a)*a*b},b2p2:function(a,b){return a*a*b},b2:function(a,b,c,d){return this.b2p0(a,b)+this.b2p1(a,c)+this.b2p2(a,d)},b3p0:function(a,b){var c=1-a;return c*c*c*b},b3p1:function(a,b){var c=1-a;return 3*c*c*a*b},b3p2:function(a,b){return 3*(1-a)*a*a*b},b3p3:function(a,b){return a*a*a*b},b3:function(a,b,c,d,e){return this.b3p0(a, -b)+this.b3p1(a,c)+this.b3p2(a,d)+this.b3p3(a,e)}};THREE.LineCurve=function(a,b){this.v1=a;this.v2=b};THREE.LineCurve.prototype=Object.create(THREE.Curve.prototype);THREE.LineCurve.prototype.getPoint=function(a){var b=this.v2.clone().sub(this.v1);b.multiplyScalar(a).add(this.v1);return b};THREE.LineCurve.prototype.getPointAt=function(a){return this.getPoint(a)};THREE.LineCurve.prototype.getTangent=function(a){return this.v2.clone().sub(this.v1).normalize()};THREE.QuadraticBezierCurve=function(a,b,c){this.v0=a;this.v1=b;this.v2=c};THREE.QuadraticBezierCurve.prototype=Object.create(THREE.Curve.prototype);THREE.QuadraticBezierCurve.prototype.getPoint=function(a){var b;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);a=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(b,a)}; -THREE.QuadraticBezierCurve.prototype.getTangent=function(a){var b;b=THREE.Curve.Utils.tangentQuadraticBezier(a,this.v0.x,this.v1.x,this.v2.x);a=THREE.Curve.Utils.tangentQuadraticBezier(a,this.v0.y,this.v1.y,this.v2.y);b=new THREE.Vector2(b,a);b.normalize();return b};THREE.CubicBezierCurve=function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d};THREE.CubicBezierCurve.prototype=Object.create(THREE.Curve.prototype);THREE.CubicBezierCurve.prototype.getPoint=function(a){var b;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);a=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(b,a)}; -THREE.CubicBezierCurve.prototype.getTangent=function(a){var b;b=THREE.Curve.Utils.tangentCubicBezier(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);a=THREE.Curve.Utils.tangentCubicBezier(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);b=new THREE.Vector2(b,a);b.normalize();return b};THREE.SplineCurve=function(a){this.points=void 0==a?[]:a};THREE.SplineCurve.prototype=Object.create(THREE.Curve.prototype);THREE.SplineCurve.prototype.getPoint=function(a){var b=new THREE.Vector2,c=[],d=this.points,e;e=(d.length-1)*a;a=Math.floor(e);e-=a;c[0]=0==a?a:a-1;c[1]=a;c[2]=a>d.length-2?d.length-1:a+1;c[3]=a>d.length-3?d.length-1:a+2;b.x=THREE.Curve.Utils.interpolate(d[c[0]].x,d[c[1]].x,d[c[2]].x,d[c[3]].x,e);b.y=THREE.Curve.Utils.interpolate(d[c[0]].y,d[c[1]].y,d[c[2]].y,d[c[3]].y,e);return b};THREE.EllipseCurve=function(a,b,c,d,e,f,g){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g};THREE.EllipseCurve.prototype=Object.create(THREE.Curve.prototype); -THREE.EllipseCurve.prototype.getPoint=function(a){var b;b=this.aEndAngle-this.aStartAngle;0>b&&(b+=2*Math.PI);b>2*Math.PI&&(b-=2*Math.PI);b=!0===this.aClockwise?this.aEndAngle+(1-a)*(2*Math.PI-b):this.aStartAngle+a*b;a=this.aX+this.xRadius*Math.cos(b);b=this.aY+this.yRadius*Math.sin(b);return new THREE.Vector2(a,b)};THREE.ArcCurve=function(a,b,c,d,e,f){THREE.EllipseCurve.call(this,a,b,c,c,d,e,f)};THREE.ArcCurve.prototype=Object.create(THREE.EllipseCurve.prototype);THREE.LineCurve3=THREE.Curve.create(function(a,b){this.v1=a;this.v2=b},function(a){var b=new THREE.Vector3;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b});THREE.QuadraticBezierCurve3=THREE.Curve.create(function(a,b,c){this.v0=a;this.v1=b;this.v2=c},function(a){var b,c;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);c=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);a=THREE.Shape.Utils.b2(a,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(b,c,a)});THREE.CubicBezierCurve3=THREE.Curve.create(function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d},function(a){var b,c;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);c=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);a=THREE.Shape.Utils.b3(a,this.v0.z,this.v1.z,this.v2.z,this.v3.z);return new THREE.Vector3(b,c,a)});THREE.SplineCurve3=THREE.Curve.create(function(a){this.points=void 0==a?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e;a*=d.length-1;e=Math.floor(a);a-=e;c[0]=0==e?e:e-1;c[1]=e;c[2]=e>d.length-2?d.length-1:e+1;c[3]=e>d.length-3?d.length-1:e+2;e=d[c[0]];var f=d[c[1]],g=d[c[2]],c=d[c[3]];b.x=THREE.Curve.Utils.interpolate(e.x,f.x,g.x,c.x,a);b.y=THREE.Curve.Utils.interpolate(e.y,f.y,g.y,c.y,a);b.z=THREE.Curve.Utils.interpolate(e.z,f.z,g.z,c.z,a);return b});THREE.ClosedSplineCurve3=THREE.Curve.create(function(a){this.points=void 0==a?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e;e=(d.length-0)*a;a=Math.floor(e);e-=a;a+=0a.hierarchy[c].keys[d].time&& -(a.hierarchy[c].keys[d].time=0),void 0!==a.hierarchy[c].keys[d].rot&&!(a.hierarchy[c].keys[d].rot instanceof THREE.Quaternion)){var h=a.hierarchy[c].keys[d].rot;a.hierarchy[c].keys[d].rot=(new THREE.Quaternion).fromArray(h)}if(a.hierarchy[c].keys.length&&void 0!==a.hierarchy[c].keys[0].morphTargets){h={};for(d=0;dd;d++){for(var e=this.keyTypes[d],f=this.data.hierarchy[a].keys[0],g=this.getNextKeyWith(e,a,1);g.timef.index;)f=g,g=this.getNextKeyWith(e,a,g.index+1);c.prevKey[e]=f;c.nextKey[e]=g}}}; -THREE.Animation.prototype.update=function(){var a=[],b=new THREE.Vector3,c=new THREE.Vector3,d=new THREE.Quaternion,e=function(a,b){var c=[],d=[],e,q,p,s,t,r;e=(a.length-1)*b;q=Math.floor(e);e-=q;c[0]=0===q?q:q-1;c[1]=q;c[2]=q>a.length-2?q:q+1;c[3]=q>a.length-3?q:q+2;q=a[c[0]];s=a[c[1]];t=a[c[2]];r=a[c[3]];c=e*e;p=e*c;d[0]=f(q[0],s[0],t[0],r[0],e,c,p);d[1]=f(q[1],s[1],t[1],r[1],e,c,p);d[2]=f(q[2],s[2],t[2],r[2],e,c,p);return d},f=function(a,b,c,d,e,f,p){a=0.5*(c-a);d=0.5*(d-b);return(2*(b-c)+a+d)* -p+(-3*(b-c)-2*a-d)*f+a*e+b};return function(f){if(!1!==this.isPlaying&&(this.currentTime+=f*this.timeScale,0!==this.weight)){var h;f=this.data.length;if(!0===this.loop&&this.currentTime>f)this.currentTime%=f,this.reset();else if(!1===this.loop&&this.currentTime>f){this.stop();return}f=0;for(var k=this.hierarchy.length;fq;q++){h=this.keyTypes[q];var p=n.prevKey[h],s=n.nextKey[h];if(s.time<=this.currentTime){p=this.data.hierarchy[f].keys[0]; -for(s=this.getNextKeyWith(h,f,1);s.timep.index;)p=s,s=this.getNextKeyWith(h,f,s.index+1);n.prevKey[h]=p;n.nextKey[h]=s}l.matrixAutoUpdate=!0;l.matrixWorldNeedsUpdate=!0;var t=(this.currentTime-p.time)/(s.time-p.time),r=p[h],v=s[h];0>t&&(t=0);1a&&(this.currentTime%=a);this.currentTime=Math.min(this.currentTime,a);a=0;for(var b=this.hierarchy.length;af.index;)f=g,g=e[f.index+1];d.prevKey= -f;d.nextKey=g}g.time>=this.currentTime?f.interpolate(g,this.currentTime):f.interpolate(g,g.time);this.data.hierarchy[a].node.updateMatrix();c.matrixWorldNeedsUpdate=!0}}}};THREE.KeyFrameAnimation.prototype.getNextKeyWith=function(a,b,c){b=this.data.hierarchy[b].keys;for(c%=b.length;cthis.duration&&(this.currentTime%=this.duration);this.currentTime=Math.min(this.currentTime,this.duration);c=this.duration/this.frames;var d=Math.floor(this.currentTime/c);d!=b&&(this.mesh.morphTargetInfluences[a]=0,this.mesh.morphTargetInfluences[b]=1,this.mesh.morphTargetInfluences[d]= -0,a=b,b=d);this.mesh.morphTargetInfluences[d]=this.currentTime%c/c;this.mesh.morphTargetInfluences[a]=1-this.mesh.morphTargetInfluences[d]}}}()};THREE.CubeCamera=function(a,b,c){THREE.Object3D.call(this);var d=new THREE.PerspectiveCamera(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new THREE.Vector3(1,0,0));this.add(d);var e=new THREE.PerspectiveCamera(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new THREE.Vector3(-1,0,0));this.add(e);var f=new THREE.PerspectiveCamera(90,1,a,b);f.up.set(0,0,1);f.lookAt(new THREE.Vector3(0,1,0));this.add(f);var g=new THREE.PerspectiveCamera(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new THREE.Vector3(0,-1,0));this.add(g);var h=new THREE.PerspectiveCamera(90, -1,a,b);h.up.set(0,-1,0);h.lookAt(new THREE.Vector3(0,0,1));this.add(h);var k=new THREE.PerspectiveCamera(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new THREE.Vector3(0,0,-1));this.add(k);this.renderTarget=new THREE.WebGLRenderTargetCube(c,c,{format:THREE.RGBFormat,magFilter:THREE.LinearFilter,minFilter:THREE.LinearFilter});this.updateCubeMap=function(a,b){var c=this.renderTarget,p=c.generateMipmaps;c.generateMipmaps=!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace= -2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,h,c);c.generateMipmaps=p;c.activeCubeFace=5;a.render(b,k,c)}};THREE.CubeCamera.prototype=Object.create(THREE.Object3D.prototype);THREE.CombinedCamera=function(a,b,c,d,e,f,g){THREE.Camera.call(this);this.fov=c;this.left=-a/2;this.right=a/2;this.top=b/2;this.bottom=-b/2;this.cameraO=new THREE.OrthographicCamera(a/-2,a/2,b/2,b/-2,f,g);this.cameraP=new THREE.PerspectiveCamera(c,a/b,d,e);this.zoom=1;this.toPerspective()};THREE.CombinedCamera.prototype=Object.create(THREE.Camera.prototype); -THREE.CombinedCamera.prototype.toPerspective=function(){this.near=this.cameraP.near;this.far=this.cameraP.far;this.cameraP.fov=this.fov/this.zoom;this.cameraP.updateProjectionMatrix();this.projectionMatrix=this.cameraP.projectionMatrix;this.inPerspectiveMode=!0;this.inOrthographicMode=!1}; -THREE.CombinedCamera.prototype.toOrthographic=function(){var a=this.cameraP.aspect,b=(this.cameraP.near+this.cameraP.far)/2,b=Math.tan(this.fov/2)*b,a=2*b*a/2,b=b/this.zoom,a=a/this.zoom;this.cameraO.left=-a;this.cameraO.right=a;this.cameraO.top=b;this.cameraO.bottom=-b;this.cameraO.updateProjectionMatrix();this.near=this.cameraO.near;this.far=this.cameraO.far;this.projectionMatrix=this.cameraO.projectionMatrix;this.inPerspectiveMode=!1;this.inOrthographicMode=!0}; -THREE.CombinedCamera.prototype.setSize=function(a,b){this.cameraP.aspect=a/b;this.left=-a/2;this.right=a/2;this.top=b/2;this.bottom=-b/2};THREE.CombinedCamera.prototype.setFov=function(a){this.fov=a;this.inPerspectiveMode?this.toPerspective():this.toOrthographic()};THREE.CombinedCamera.prototype.updateProjectionMatrix=function(){this.inPerspectiveMode?this.toPerspective():(this.toPerspective(),this.toOrthographic())}; -THREE.CombinedCamera.prototype.setLens=function(a,b){void 0===b&&(b=24);var c=2*THREE.Math.radToDeg(Math.atan(b/(2*a)));this.setFov(c);return c};THREE.CombinedCamera.prototype.setZoom=function(a){this.zoom=a;this.inPerspectiveMode?this.toPerspective():this.toOrthographic()};THREE.CombinedCamera.prototype.toFrontView=function(){this.rotation.x=0;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=!1}; -THREE.CombinedCamera.prototype.toBackView=function(){this.rotation.x=0;this.rotation.y=Math.PI;this.rotation.z=0;this.rotationAutoUpdate=!1};THREE.CombinedCamera.prototype.toLeftView=function(){this.rotation.x=0;this.rotation.y=-Math.PI/2;this.rotation.z=0;this.rotationAutoUpdate=!1};THREE.CombinedCamera.prototype.toRightView=function(){this.rotation.x=0;this.rotation.y=Math.PI/2;this.rotation.z=0;this.rotationAutoUpdate=!1}; -THREE.CombinedCamera.prototype.toTopView=function(){this.rotation.x=-Math.PI/2;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=!1};THREE.CombinedCamera.prototype.toBottomView=function(){this.rotation.x=Math.PI/2;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=!1};THREE.BoxGeometry=function(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,r){var v,w=h.widthSegments,u=h.heightSegments,y=e/2,L=f/2,x=h.vertices.length;if("x"===a&&"y"===b||"y"===a&&"x"===b)v="z";else if("x"===a&&"z"===b||"z"===a&&"x"===b)v="y",u=h.depthSegments;else if("z"===a&&"y"===b||"y"===a&&"z"===b)v="x",w=h.depthSegments;var N=w+1,J=u+1,B=e/w,K=f/u,A=new THREE.Vector3;A[v]=0=e)return new THREE.Vector2(c,a);e=Math.sqrt(e/2)}else a=!1,1E-10e?-1E-10>g&& -(a=!0):d(f)==d(h)&&(a=!0),a?(c=-f,a=e,e=Math.sqrt(k)):(c=e,a=f,e=Math.sqrt(k/2));return new THREE.Vector2(c/e,a/e)}function e(c,d){var e,f;for(I=c.length;0<=--I;){e=I;f=I-1;0>f&&(f=c.length-1);for(var g=0,h=s+2*n,g=0;gMath.abs(c-k)?[new THREE.Vector2(b,1-e),new THREE.Vector2(d,1-f),new THREE.Vector2(l,1-g),new THREE.Vector2(q,1-a)]:[new THREE.Vector2(c,1-e),new THREE.Vector2(k,1-f),new THREE.Vector2(n,1-g),new THREE.Vector2(p,1-a)]}};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2; -THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;THREE.ShapeGeometry=function(a,b){THREE.Geometry.call(this);!1===a instanceof Array&&(a=[a]);this.shapebb=a[a.length-1].getBoundingBox();this.addShapeList(a,b);this.computeFaceNormals()};THREE.ShapeGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.ShapeGeometry.prototype.addShapeList=function(a,b){for(var c=0,d=a.length;cc&&1===a.x&&(a=new THREE.Vector2(a.x-1,a.y));0===b.x&&0===b.z&&(a=new THREE.Vector2(c/2/ -Math.PI+0.5,a.y));return a.clone()}THREE.Geometry.call(this);c=c||1;d=d||0;for(var k=this,l=0,n=a.length;ls&&(0.2>d&&(b[0].x+=1),0.2>a&&(b[1].x+=1),0.2>q&&(b[2].x+=1));l=0;for(n=this.vertices.length;lc.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}(); -THREE.ArrowHelper.prototype.setLength=function(a,b,c){void 0===b&&(b=0.2*a);void 0===c&&(c=0.2*b);this.line.scale.set(1,a,1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};THREE.ArrowHelper.prototype.setColor=function(a){this.line.material.color.set(a);this.cone.material.color.set(a)};THREE.BoxHelper=function(a){var b=[new THREE.Vector3(1,1,1),new THREE.Vector3(-1,1,1),new THREE.Vector3(-1,-1,1),new THREE.Vector3(1,-1,1),new THREE.Vector3(1,1,-1),new THREE.Vector3(-1,1,-1),new THREE.Vector3(-1,-1,-1),new THREE.Vector3(1,-1,-1)];this.vertices=b;var c=new THREE.Geometry;c.vertices.push(b[0],b[1],b[1],b[2],b[2],b[3],b[3],b[0],b[4],b[5],b[5],b[6],b[6],b[7],b[7],b[4],b[0],b[4],b[1],b[5],b[2],b[6],b[3],b[7]);THREE.Line.call(this,c,new THREE.LineBasicMaterial({color:16776960}),THREE.LinePieces); -void 0!==a&&this.update(a)};THREE.BoxHelper.prototype=Object.create(THREE.Line.prototype); -THREE.BoxHelper.prototype.update=function(a){var b=a.geometry;null===b.boundingBox&&b.computeBoundingBox();var c=b.boundingBox.min,b=b.boundingBox.max,d=this.vertices;d[0].set(b.x,b.y,b.z);d[1].set(c.x,b.y,b.z);d[2].set(c.x,c.y,b.z);d[3].set(b.x,c.y,b.z);d[4].set(b.x,b.y,c.z);d[5].set(c.x,b.y,c.z);d[6].set(c.x,c.y,c.z);d[7].set(b.x,c.y,c.z);this.geometry.computeBoundingSphere();this.geometry.verticesNeedUpdate=!0;this.matrixAutoUpdate=!1;this.matrixWorld=a.matrixWorld};THREE.BoundingBoxHelper=function(a,b){var c=void 0!==b?b:8947848;this.object=a;this.box=new THREE.Box3;THREE.Mesh.call(this,new THREE.BoxGeometry(1,1,1),new THREE.MeshBasicMaterial({color:c,wireframe:!0}))};THREE.BoundingBoxHelper.prototype=Object.create(THREE.Mesh.prototype);THREE.BoundingBoxHelper.prototype.update=function(){this.box.setFromObject(this.object);this.box.size(this.scale);this.box.center(this.position)};THREE.CameraHelper=function(a){function b(a,b,d){c(a,d);c(b,d)}function c(a,b){d.vertices.push(new THREE.Vector3);d.colors.push(new THREE.Color(b));void 0===f[a]&&(f[a]=[]);f[a].push(d.vertices.length-1)}var d=new THREE.Geometry,e=new THREE.LineBasicMaterial({color:16777215,vertexColors:THREE.FaceColors}),f={};b("n1","n2",16755200);b("n2","n4",16755200);b("n4","n3",16755200);b("n3","n1",16755200);b("f1","f2",16755200);b("f2","f4",16755200);b("f4","f3",16755200);b("f3","f1",16755200);b("n1","f1",16755200); -b("n2","f2",16755200);b("n3","f3",16755200);b("n4","f4",16755200);b("p","n1",16711680);b("p","n2",16711680);b("p","n3",16711680);b("p","n4",16711680);b("u1","u2",43775);b("u2","u3",43775);b("u3","u1",43775);b("c","t",16777215);b("p","c",3355443);b("cn1","cn2",3355443);b("cn3","cn4",3355443);b("cf1","cf2",3355443);b("cf3","cf4",3355443);THREE.Line.call(this,d,e,THREE.LinePieces);this.camera=a;this.matrixWorld=a.matrixWorld;this.matrixAutoUpdate=!1;this.pointMap=f;this.update()}; -THREE.CameraHelper.prototype=Object.create(THREE.Line.prototype); -THREE.CameraHelper.prototype.update=function(){var a=new THREE.Vector3,b=new THREE.Camera,c=new THREE.Projector;return function(){function d(d,g,h,k){a.set(g,h,k);c.unprojectVector(a,b);d=e.pointMap[d];if(void 0!==d)for(g=0,h=d.length;gt;t++){d[0]=s[g[t]];d[1]=s[g[(t+1)%3]];d.sort(f);var r=d.toString();void 0===e[r]?(e[r]={vert1:d[0],vert2:d[1],face1:q,face2:void 0},n++):e[r].face2=q}h.addAttribute("position",new THREE.Float32Attribute(2*n,3));d=h.attributes.position.array; -f=0;for(r in e)if(g=e[r],void 0===g.face2||0.9999>k[g.face1].normal.dot(k[g.face2].normal))n=l[g.vert1],d[f++]=n.x,d[f++]=n.y,d[f++]=n.z,n=l[g.vert2],d[f++]=n.x,d[f++]=n.y,d[f++]=n.z;THREE.Line.call(this,h,new THREE.LineBasicMaterial({color:c}),THREE.LinePieces);this.matrixAutoUpdate=!1;this.matrixWorld=a.matrixWorld};THREE.EdgesHelper.prototype=Object.create(THREE.Line.prototype);THREE.FaceNormalsHelper=function(a,b,c,d){this.object=a;this.size=void 0!==b?b:1;a=void 0!==c?c:16776960;d=void 0!==d?d:1;b=new THREE.Geometry;c=0;for(var e=this.object.geometry.faces.length;cb;b++)a.faces[b].color=this.colors[4>b?0:1];b=new THREE.MeshBasicMaterial({vertexColors:THREE.FaceColors,wireframe:!0});this.lightSphere=new THREE.Mesh(a,b);this.add(this.lightSphere); -this.update()};THREE.HemisphereLightHelper.prototype=Object.create(THREE.Object3D.prototype);THREE.HemisphereLightHelper.prototype.dispose=function(){this.lightSphere.geometry.dispose();this.lightSphere.material.dispose()}; -THREE.HemisphereLightHelper.prototype.update=function(){var a=new THREE.Vector3;return function(){this.colors[0].copy(this.light.color).multiplyScalar(this.light.intensity);this.colors[1].copy(this.light.groundColor).multiplyScalar(this.light.intensity);this.lightSphere.lookAt(a.setFromMatrixPosition(this.light.matrixWorld).negate());this.lightSphere.geometry.colorsNeedUpdate=!0}}();THREE.PointLightHelper=function(a,b){this.light=a;this.light.updateMatrixWorld();var c=new THREE.SphereGeometry(b,4,2),d=new THREE.MeshBasicMaterial({wireframe:!0,fog:!1});d.color.copy(this.light.color).multiplyScalar(this.light.intensity);THREE.Mesh.call(this,c,d);this.matrixWorld=this.light.matrixWorld;this.matrixAutoUpdate=!1};THREE.PointLightHelper.prototype=Object.create(THREE.Mesh.prototype);THREE.PointLightHelper.prototype.dispose=function(){this.geometry.dispose();this.material.dispose()}; -THREE.PointLightHelper.prototype.update=function(){this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity)};THREE.SkeletonHelper=function(a){for(var b=a.skeleton,c=new THREE.Geometry,d=0;dr;r++){d[0]=t[g[r]];d[1]=t[g[(r+1)%3]];d.sort(f);var v=d.toString();void 0===e[v]&&(q[2*n]=d[0],q[2*n+1]=d[1],e[v]=!0,n++)}h.addAttribute("position",new THREE.Float32Attribute(2*n,3));d= -h.attributes.position.array;p=0;for(s=n;pr;r++)n=k[q[2*p+r]],g=6*p+3*r,d[g+0]=n.x,d[g+1]=n.y,d[g+2]=n.z}else if(a.geometry instanceof THREE.BufferGeometry&&void 0!==a.geometry.attributes.index){for(var k=a.geometry.attributes.position.array,s=a.geometry.attributes.index.array,l=a.geometry.offsets,n=0,q=new Uint32Array(2*s.length),t=0,w=l.length;tr;r++)d[0]=g+s[p+r],d[1]=g+s[p+(r+1)%3],d.sort(f),v=d.toString(), -void 0===e[v]&&(q[2*n]=d[0],q[2*n+1]=d[1],e[v]=!0,n++);h.addAttribute("position",new THREE.Float32Attribute(2*n,3));d=h.attributes.position.array;p=0;for(s=n;pr;r++)g=6*p+3*r,n=3*q[2*p+r],d[g+0]=k[n],d[g+1]=k[n+1],d[g+2]=k[n+2]}else if(a.geometry instanceof THREE.BufferGeometry)for(k=a.geometry.attributes.position.array,n=k.length/3,q=n/3,h.addAttribute("position",new THREE.Float32Attribute(2*n,3)),d=h.attributes.position.array,p=0,s=q;pr;r++)g=18*p+6*r,q=9*p+3*r, -d[g+0]=k[q],d[g+1]=k[q+1],d[g+2]=k[q+2],n=9*p+(r+1)%3*3,d[g+3]=k[n],d[g+4]=k[n+1],d[g+5]=k[n+2];THREE.Line.call(this,h,new THREE.LineBasicMaterial({color:c}),THREE.LinePieces);this.matrixAutoUpdate=!1;this.matrixWorld=a.matrixWorld};THREE.WireframeHelper.prototype=Object.create(THREE.Line.prototype);THREE.ImmediateRenderObject=function(){THREE.Object3D.call(this);this.render=function(a){}};THREE.ImmediateRenderObject.prototype=Object.create(THREE.Object3D.prototype);THREE.LensFlare=function(a,b,c,d,e){THREE.Object3D.call(this);this.lensFlares=[];this.positionScreen=new THREE.Vector3;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)};THREE.LensFlare.prototype=Object.create(THREE.Object3D.prototype); -THREE.LensFlare.prototype.add=function(a,b,c,d,e,f){void 0===b&&(b=-1);void 0===c&&(c=0);void 0===f&&(f=1);void 0===e&&(e=new THREE.Color(16777215));void 0===d&&(d=THREE.NormalBlending);c=Math.min(c,Math.max(0,c));this.lensFlares.push({texture:a,size:b,distance:c,x:0,y:0,z:0,scale:1,rotation:1,opacity:f,color:e,blending:d})}; -THREE.LensFlare.prototype.updateLensFlares=function(){var a,b=this.lensFlares.length,c,d=2*-this.positionScreen.x,e=2*-this.positionScreen.y;for(a=0;ah.end&&(h.end=f);c||(c=k)}}for(k in d)h=d[k],this.createAnimation(k,h.start,h.end,a);this.firstAnimation=c}; -THREE.MorphBlendMesh.prototype.setAnimationDirectionForward=function(a){if(a=this.animationsMap[a])a.direction=1,a.directionBackwards=!1};THREE.MorphBlendMesh.prototype.setAnimationDirectionBackward=function(a){if(a=this.animationsMap[a])a.direction=-1,a.directionBackwards=!0};THREE.MorphBlendMesh.prototype.setAnimationFPS=function(a,b){var c=this.animationsMap[a];c&&(c.fps=b,c.duration=(c.end-c.start)/c.fps)}; -THREE.MorphBlendMesh.prototype.setAnimationDuration=function(a,b){var c=this.animationsMap[a];c&&(c.duration=b,c.fps=(c.end-c.start)/c.duration)};THREE.MorphBlendMesh.prototype.setAnimationWeight=function(a,b){var c=this.animationsMap[a];c&&(c.weight=b)};THREE.MorphBlendMesh.prototype.setAnimationTime=function(a,b){var c=this.animationsMap[a];c&&(c.time=b)};THREE.MorphBlendMesh.prototype.getAnimationTime=function(a){var b=0;if(a=this.animationsMap[a])b=a.time;return b}; -THREE.MorphBlendMesh.prototype.getAnimationDuration=function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};THREE.MorphBlendMesh.prototype.playAnimation=function(a){var b=this.animationsMap[a];b?(b.time=0,b.active=!0):console.warn("animation["+a+"] undefined")};THREE.MorphBlendMesh.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1}; -THREE.MorphBlendMesh.prototype.update=function(a){for(var b=0,c=this.animationsList.length;bd.duration||0>d.time)d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=!0),0>d.time&&(d.time=0,d.directionBackwards=!1)}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.startFrame+THREE.Math.clamp(Math.floor(d.time/e),0,d.length-1),g=d.weight; -f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*g,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);this.morphTargetInfluences[d.currentFrame]=e*g;this.morphTargetInfluences[d.lastFrame]=(1-e)*g}}};THREE.LensFlarePlugin=function(){function a(a,c){var d=b.createProgram(),e=b.createShader(b.FRAGMENT_SHADER),f=b.createShader(b.VERTEX_SHADER),g="precision "+c+" float;\n";b.shaderSource(e,g+a.fragmentShader);b.shaderSource(f,g+a.vertexShader);b.compileShader(e);b.compileShader(f);b.attachShader(d,e);b.attachShader(d,f);b.linkProgram(d);return d}var b,c,d,e,f,g,h,k,l,n,q,p,s;this.init=function(t){b=t.context;c=t;d=t.getPrecision();e=new Float32Array(16);f=new Uint16Array(6);t=0;e[t++]=-1;e[t++]=-1; -e[t++]=0;e[t++]=0;e[t++]=1;e[t++]=-1;e[t++]=1;e[t++]=0;e[t++]=1;e[t++]=1;e[t++]=1;e[t++]=1;e[t++]=-1;e[t++]=1;e[t++]=0;e[t++]=1;t=0;f[t++]=0;f[t++]=1;f[t++]=2;f[t++]=0;f[t++]=2;f[t++]=3;g=b.createBuffer();h=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,g);b.bufferData(b.ARRAY_BUFFER,e,b.STATIC_DRAW);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,h);b.bufferData(b.ELEMENT_ARRAY_BUFFER,f,b.STATIC_DRAW);k=b.createTexture();l=b.createTexture();b.bindTexture(b.TEXTURE_2D,k);b.texImage2D(b.TEXTURE_2D,0,b.RGB,16,16, -0,b.RGB,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);b.bindTexture(b.TEXTURE_2D,l);b.texImage2D(b.TEXTURE_2D,0,b.RGBA,16,16,0,b.RGBA,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE); -b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);0>=b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)?(n=!1,q=a(THREE.ShaderFlares.lensFlare,d)):(n=!0,q=a(THREE.ShaderFlares.lensFlareVertexTexture,d));p={};s={};p.vertex=b.getAttribLocation(q,"position");p.uv=b.getAttribLocation(q,"uv");s.renderType=b.getUniformLocation(q,"renderType");s.map=b.getUniformLocation(q,"map");s.occlusionMap=b.getUniformLocation(q,"occlusionMap");s.opacity= -b.getUniformLocation(q,"opacity");s.color=b.getUniformLocation(q,"color");s.scale=b.getUniformLocation(q,"scale");s.rotation=b.getUniformLocation(q,"rotation");s.screenPosition=b.getUniformLocation(q,"screenPosition")};this.render=function(a,d,e,f){a=a.__webglFlares;var u=a.length;if(u){var y=new THREE.Vector3,L=f/e,x=0.5*e,N=0.5*f,J=16/f,B=new THREE.Vector2(J*L,J),K=new THREE.Vector3(1,1,0),A=new THREE.Vector2(1,1),G=s,J=p;b.useProgram(q);b.enableVertexAttribArray(p.vertex);b.enableVertexAttribArray(p.uv); -b.uniform1i(G.occlusionMap,0);b.uniform1i(G.map,1);b.bindBuffer(b.ARRAY_BUFFER,g);b.vertexAttribPointer(J.vertex,2,b.FLOAT,!1,16,0);b.vertexAttribPointer(J.uv,2,b.FLOAT,!1,16,8);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,h);b.disable(b.CULL_FACE);b.depthMask(!1);var D,C,F,z,H;for(D=0;DL;L++)B[L]=new THREE.Vector3,u[L]=new THREE.Vector3;B=x.shadowCascadeNearZ[y];x=x.shadowCascadeFarZ[y];u[0].set(-1,-1,B);u[1].set(1,-1,B);u[2].set(-1, -1,B);u[3].set(1,1,B);u[4].set(-1,-1,x);u[5].set(1,-1,x);u[6].set(-1,1,x);u[7].set(1,1,x);J.originalCamera=p;u=new THREE.Gyroscope;u.position.copy(r.shadowCascadeOffset);u.add(J);u.add(J.target);p.add(u);r.shadowCascadeArray[w]=J;console.log("Created virtualLight",J)}y=r;B=w;x=y.shadowCascadeArray[B];x.position.copy(y.position);x.target.position.copy(y.target.position);x.lookAt(x.target);x.shadowCameraVisible=y.shadowCameraVisible;x.shadowDarkness=y.shadowDarkness;x.shadowBias=y.shadowCascadeBias[B]; -u=y.shadowCascadeNearZ[B];y=y.shadowCascadeFarZ[B];x=x.pointsFrustum;x[0].z=u;x[1].z=u;x[2].z=u;x[3].z=u;x[4].z=y;x[5].z=y;x[6].z=y;x[7].z=y;N[v]=J;v++}else N[v]=r,v++;s=0;for(t=N.length;sy;y++)B=x[y],B.copy(u[y]),THREE.ShadowMapPlugin.__projector.unprojectVector(B,w),B.applyMatrix4(v.matrixWorldInverse),B.xl.x&&(l.x=B.x),B.yl.y&&(l.y=B.y),B.zl.z&&(l.z=B.z);v.left=k.x;v.right=l.x;v.top=l.y;v.bottom=k.y;v.updateProjectionMatrix()}v=r.shadowMap;u=r.shadowMatrix;w=r.shadowCamera;w.position.setFromMatrixPosition(r.matrixWorld);n.setFromMatrixPosition(r.target.matrixWorld);w.lookAt(n);w.updateMatrixWorld();w.matrixWorldInverse.getInverse(w.matrixWorld);r.cameraHelper&&(r.cameraHelper.visible=r.shadowCameraVisible);r.shadowCameraVisible&&r.cameraHelper.update();u.set(0.5,0,0,0.5,0,0.5,0,0.5, -0,0,0.5,0.5,0,0,0,1);u.multiply(w.projectionMatrix);u.multiply(w.matrixWorldInverse);h.multiplyMatrices(w.projectionMatrix,w.matrixWorldInverse);g.setFromMatrix(h);b.setRenderTarget(v);b.clear();x=q.__webglObjects;r=0;for(v=x.length;r 0 ) {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat fogFactor = 0.0;\nif ( fogType == 1 ) {\nfogFactor = smoothstep( fogNear, fogFar, depth );\n} else {\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n}\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n}\n}"].join("\n")); -u.compileShader(G);u.compileShader(D);u.attachShader(w,G);u.attachShader(w,D);u.linkProgram(w);K=w;r=u.getAttribLocation(K,"position");v=u.getAttribLocation(K,"uv");a=u.getUniformLocation(K,"uvOffset");b=u.getUniformLocation(K,"uvScale");c=u.getUniformLocation(K,"rotation");d=u.getUniformLocation(K,"scale");e=u.getUniformLocation(K,"color");f=u.getUniformLocation(K,"map");g=u.getUniformLocation(K,"opacity");h=u.getUniformLocation(K,"modelViewMatrix");k=u.getUniformLocation(K,"projectionMatrix");l= -u.getUniformLocation(K,"fogType");n=u.getUniformLocation(K,"fogDensity");q=u.getUniformLocation(K,"fogNear");p=u.getUniformLocation(K,"fogFar");s=u.getUniformLocation(K,"fogColor");t=u.getUniformLocation(K,"alphaTest");w=document.createElement("canvas");w.width=8;w.height=8;G=w.getContext("2d");G.fillStyle="#ffffff";G.fillRect(0,0,w.width,w.height);L=new THREE.Texture(w);L.needsUpdate=!0};this.render=function(A,x,D,C){D=A.__webglSprites;if(C=D.length){u.useProgram(K);u.enableVertexAttribArray(r); -u.enableVertexAttribArray(v);u.disable(u.CULL_FACE);u.enable(u.BLEND);u.bindBuffer(u.ARRAY_BUFFER,J);u.vertexAttribPointer(r,2,u.FLOAT,!1,16,0);u.vertexAttribPointer(v,2,u.FLOAT,!1,16,8);u.bindBuffer(u.ELEMENT_ARRAY_BUFFER,B);u.uniformMatrix4fv(k,!1,x.projectionMatrix.elements);u.activeTexture(u.TEXTURE0);u.uniform1i(f,0);var F=0,z=0,H=A.fog;H?(u.uniform3f(s,H.color.r,H.color.g,H.color.b),H instanceof THREE.Fog?(u.uniform1f(q,H.near),u.uniform1f(p,H.far),u.uniform1i(l,1),z=F=1):H instanceof THREE.FogExp2&& -(u.uniform1f(n,H.density),u.uniform1i(l,2),z=F=2)):(u.uniform1i(l,0),z=F=0);for(var E,N=[],H=0;H