summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/Qt5Config.cmake.in43
-rw-r--r--src/corelib/arch/qatomic_vxworks.h5
-rw-r--r--src/corelib/corelib.pro10
-rw-r--r--src/corelib/doc/qtcore.qdocconf10
-rw-r--r--src/corelib/doc/snippets/code/doc_src_properties.cpp21
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qcoreapplication.cpp7
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_tools_qpoint.cpp14
-rw-r--r--src/corelib/doc/snippets/qmessageauthenticationcode/main.cpp62
-rw-r--r--src/corelib/doc/src/objectmodel/properties.qdoc26
-rw-r--r--src/corelib/global/global.pri2
-rw-r--r--src/corelib/global/qfeatures.h3
-rw-r--r--src/corelib/global/qfeatures.txt7
-rw-r--r--src/corelib/global/qglobal.cpp2
-rw-r--r--src/corelib/global/qglobal.h126
-rw-r--r--src/corelib/global/qglobalstatic.cpp522
-rw-r--r--src/corelib/global/qglobalstatic.h144
-rw-r--r--src/corelib/global/qlogging.cpp2
-rw-r--r--src/corelib/io/io.pri4
-rw-r--r--src/corelib/io/qabstractfileengine.cpp31
-rw-r--r--src/corelib/io/qabstractfileengine_p.h2
-rw-r--r--src/corelib/io/qdatastream.cpp3
-rw-r--r--src/corelib/io/qdatastream.h5
-rw-r--r--src/corelib/io/qdebug.cpp73
-rw-r--r--src/corelib/io/qdebug.h12
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp14
-rw-r--r--src/corelib/io/qfsfileengine.cpp16
-rw-r--r--src/corelib/io/qfsfileengine_p.h3
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp23
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp29
-rw-r--r--src/corelib/io/qprocess_unix.cpp4
-rw-r--r--src/corelib/io/qsavefile.cpp316
-rw-r--r--src/corelib/io/qsavefile.h94
-rw-r--r--src/corelib/io/qsavefile_p.h75
-rw-r--r--src/corelib/io/qtemporaryfile.cpp60
-rw-r--r--src/corelib/io/qtemporaryfile_p.h101
-rw-r--r--src/corelib/io/qtextstream.cpp218
-rw-r--r--src/corelib/io/qtextstream.h1
-rw-r--r--src/corelib/io/qtextstream_p.h185
-rw-r--r--src/corelib/io/qurl.cpp31
-rw-r--r--src/corelib/io/qurl.h3
-rw-r--r--src/corelib/itemmodels/qstringlistmodel.cpp4
-rw-r--r--src/corelib/json/qjsondocument.cpp39
-rw-r--r--src/corelib/json/qjsondocument.h13
-rw-r--r--src/corelib/kernel/qcore_unix.cpp14
-rw-r--r--src/corelib/kernel/qcore_unix_p.h54
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp65
-rw-r--r--src/corelib/kernel/qcoreapplication.h8
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp4
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix.cpp51
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix_p.h11
-rw-r--r--src/corelib/kernel/qfunctions_vxworks.cpp8
-rw-r--r--src/corelib/kernel/qfunctions_vxworks.h48
-rw-r--r--src/corelib/kernel/qmetatype.cpp8
-rw-r--r--src/corelib/kernel/qmetatype_p.h2
-rw-r--r--src/corelib/kernel/qobject.cpp4
-rw-r--r--src/corelib/kernel/qobject.h4
-rw-r--r--src/corelib/kernel/qsharedmemory_unix.cpp3
-rw-r--r--src/corelib/kernel/qtimerinfo_unix.cpp82
-rw-r--r--src/corelib/kernel/qtimerinfo_unix_p.h14
-rw-r--r--src/corelib/kernel/qvariant.cpp10
-rw-r--r--src/corelib/kernel/qvariant.h20
-rw-r--r--src/corelib/plugin/qlibrary_unix.cpp2
-rw-r--r--src/corelib/thread/qthread_unix.cpp16
-rw-r--r--src/corelib/tools/qchar.cpp147
-rw-r--r--src/corelib/tools/qchar.h128
-rw-r--r--src/corelib/tools/qdatetime.cpp20
-rw-r--r--src/corelib/tools/qelapsedtimer_mac.cpp6
-rw-r--r--src/corelib/tools/qelapsedtimer_unix.cpp10
-rw-r--r--src/corelib/tools/qharfbuzz_p.h76
-rw-r--r--src/corelib/tools/qhash.cpp20
-rw-r--r--src/corelib/tools/qhash.h21
-rw-r--r--src/corelib/tools/qmap.cpp20
-rw-r--r--src/corelib/tools/qmap.h19
-rw-r--r--src/corelib/tools/qmargins.cpp234
-rw-r--r--src/corelib/tools/qmargins.h129
-rw-r--r--src/corelib/tools/qmessageauthenticationcode.cpp275
-rw-r--r--src/corelib/tools/qmessageauthenticationcode.h84
-rw-r--r--src/corelib/tools/qpoint.cpp18
-rw-r--r--src/corelib/tools/qpoint.h12
-rw-r--r--src/corelib/tools/qrect.h6
-rw-r--r--src/corelib/tools/qregularexpression.cpp71
-rw-r--r--src/corelib/tools/qregularexpression.h10
-rw-r--r--src/corelib/tools/qscopedpointer.h1
-rw-r--r--src/corelib/tools/qset.h11
-rw-r--r--src/corelib/tools/qset.qdoc10
-rw-r--r--src/corelib/tools/qsharedpointer.cpp86
-rw-r--r--src/corelib/tools/qsharedpointer.h3
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h27
-rw-r--r--src/corelib/tools/qstring.cpp53
-rw-r--r--src/corelib/tools/qstring.h12
-rw-r--r--src/corelib/tools/qstringlist.cpp12
-rw-r--r--src/corelib/tools/qstringlist.h12
-rw-r--r--src/corelib/tools/qtextboundaryfinder.cpp11
-rw-r--r--src/corelib/tools/qunicodetables.cpp11948
-rw-r--r--src/corelib/tools/qunicodetables_p.h113
-rw-r--r--src/corelib/tools/qunicodetools.cpp5
-rw-r--r--src/corelib/tools/tools.pri2
97 files changed, 9902 insertions, 6503 deletions
diff --git a/src/corelib/Qt5Config.cmake.in b/src/corelib/Qt5Config.cmake.in
new file mode 100644
index 0000000000..408dd64496
--- /dev/null
+++ b/src/corelib/Qt5Config.cmake.in
@@ -0,0 +1,43 @@
+
+if (CMAKE_VERSION VERSION_LESS 2.8.9)
+ message(FATAL_ERROR \"Qt5 requires at least CMake version 2.8.9\")
+endif()
+
+if (NOT Qt5_FIND_COMPONENTS)
+ set(Qt5_NOT_FOUND_MESSAGE \"The Qt5 package requires at least one component\")
+ set(Qt5_FOUND False)
+ return()
+endif()
+
+set(_Qt5_FIND_PARTS_REQUIRED)
+if (Qt5_FIND_REQUIRED)
+ set(_Qt5_FIND_PARTS_REQUIRED REQUIRED)
+endif()
+set(_Qt5_FIND_PARTS_QUIET)
+if (Qt5_FIND_QUIETLY)
+ set(_Qt5_FIND_PARTS_QUIET QUIET)
+endif()
+
+get_filename_component(_qt5_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+
+set(_Qt5_NOTFOUND_MESSAGE)
+
+foreach(module ${Qt5_FIND_COMPONENTS})
+ find_package(Qt5${module}
+ ${_Qt5_FIND_PARTS_QUIET}
+ ${_Qt5_FIND_PARTS_REQUIRED}
+ PATHS \"${_qt5_install_prefix}\" NO_DEFAULT_PATH
+ )
+ if (NOT Qt5${module}_FOUND)
+ if (Qt5_FIND_REQUIRED_${module})
+ set(_Qt5_NOTFOUND_MESSAGE \"${_Qt5_NOTFOUND_MESSAGE}Failed to find Qt5 component \\\"${module}\\\" config file at \\\"${_qt5_install_prefix}/lib/cmake/Qt5${module}/Qt5${module}Config.cmake\\\"\\n\")
+ elseif(NOT Qt5_FIND_QUIETLY)
+ message(WARNING \"Failed to find Qt5 component \\\"${module}\\\" config file at \\\"${_qt5_install_prefix}/lib/cmake/Qt5${module}/Qt5${module}Config.cmake\\\"\")
+ endif()
+ endif()
+endforeach()
+
+if (_Qt5_NOTFOUND_MESSAGE)
+ set(Qt5_NOT_FOUND_MESSAGE \"${_Qt5_NOTFOUND_MESSAGE}\")
+ set(Qt5_FOUND False)
+endif()
diff --git a/src/corelib/arch/qatomic_vxworks.h b/src/corelib/arch/qatomic_vxworks.h
index a8664cf752..e6a7853c96 100644
--- a/src/corelib/arch/qatomic_vxworks.h
+++ b/src/corelib/arch/qatomic_vxworks.h
@@ -56,8 +56,13 @@ QT_BEGIN_HEADER
# include <vxWorksCommon.h>
# include <taskLib.h>
#else
+#if defined(_WRS_KERNEL)
extern "C" int taskLock();
extern "C" int taskUnlock();
+#else
+inline int taskLock() { return 0; }
+inline int taskUnlock() { return 0; }
+#endif
#endif
diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro
index bf2fd3c84a..2bac1bcbef 100644
--- a/src/corelib/corelib.pro
+++ b/src/corelib/corelib.pro
@@ -60,10 +60,16 @@ ctest_macros_file.input = $$PWD/Qt5CTestMacros.cmake
ctest_macros_file.output = $$DESTDIR/cmake/Qt5Core/Qt5CTestMacros.cmake
ctest_macros_file.CONFIG = verbatim
-QMAKE_SUBSTITUTES += ctest_macros_file
+cmake_umbrella_config_file.input = $$PWD/Qt5Config.cmake.in
+cmake_umbrella_config_file.output = $$DESTDIR/cmake/Qt5/Qt5Config.cmake
+
+cmake_qt5_umbrella_module_files.files = $$cmake_umbrella_config_file.output
+cmake_qt5_umbrella_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5
+
+QMAKE_SUBSTITUTES += ctest_macros_file cmake_umbrella_config_file
ctest_qt5_module_files.files += $$ctest_macros_file.output
ctest_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5Core
-INSTALLS += ctest_qt5_module_files
+INSTALLS += ctest_qt5_module_files cmake_qt5_umbrella_module_files
diff --git a/src/corelib/doc/qtcore.qdocconf b/src/corelib/doc/qtcore.qdocconf
index cb87530f54..bf402cae97 100644
--- a/src/corelib/doc/qtcore.qdocconf
+++ b/src/corelib/doc/qtcore.qdocconf
@@ -3,21 +3,21 @@ include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtCore
description = Qt Core Reference Documentation
url = http://qt-project.org/doc/qtcore
-version = 5.0.1
+version = 5.1.0
examplesinstallpath = core
qhp.projects = QtCore
qhp.QtCore.file = qtcore.qhp
-qhp.QtCore.namespace = org.qt-project.qtcore.501
+qhp.QtCore.namespace = org.qt-project.qtcore.510
qhp.QtCore.virtualFolder = qtcore
qhp.QtCore.indexTitle = Qt Core
qhp.QtCore.indexRoot =
-qhp.QtCore.filterAttributes = qtcore 5.0.1 qtrefdoc
-qhp.QtCore.customFilters.Qt.name = QtCore 5.0.1
-qhp.QtCore.customFilters.Qt.filterAttributes = qtcore 5.0.1
+qhp.QtCore.filterAttributes = qtcore 5.1.0 qtrefdoc
+qhp.QtCore.customFilters.Qt.name = QtCore 5.1.0
+qhp.QtCore.customFilters.Qt.filterAttributes = qtcore 5.1.0
qhp.QtCore.subprojects = classes
qhp.QtCore.subprojects.classes.title = C++ Classes
qhp.QtCore.subprojects.classes.indexTitle = Qt Core C++ Classes
diff --git a/src/corelib/doc/snippets/code/doc_src_properties.cpp b/src/corelib/doc/snippets/code/doc_src_properties.cpp
index 9a25918d47..7a70200cce 100644
--- a/src/corelib/doc/snippets/code/doc_src_properties.cpp
+++ b/src/corelib/doc/snippets/code/doc_src_properties.cpp
@@ -40,8 +40,8 @@
//! [0]
Q_PROPERTY(type name
- READ getFunction
- [WRITE setFunction]
+ (READ getFunction [WRITE setFunction] |
+ MEMBER memberName [(READ getFunction | WRITE setFunction)])
[RESET resetFunction]
[NOTIFY notifySignal]
[REVISION int]
@@ -130,3 +130,20 @@ object->setProperty("priority", "VeryHigh");
//! [7]
Q_CLASSINFO("Version", "3.0.0")
//! [7]
+
+//! [8]
+ Q_PROPERTY(QColor color MEMBER m_color NOTIFY colorChanged)
+ Q_PROPERTY(qreal spacing MEMBER m_spacing NOTIFY spacingChanged)
+ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)
+ ...
+signals:
+ void colorChanged();
+ void spacingChanged();
+ void textChanged(const QString &newText);
+
+private:
+ QColor m_color;
+ qreal m_spacing;
+ QString m_text;
+//! [8]
+
diff --git a/src/corelib/doc/snippets/code/src_corelib_kernel_qcoreapplication.cpp b/src/corelib/doc/snippets/code/src_corelib_kernel_qcoreapplication.cpp
index cbb5a9db5d..c349a6dbba 100644
--- a/src/corelib/doc/snippets/code/src_corelib_kernel_qcoreapplication.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_kernel_qcoreapplication.cpp
@@ -57,7 +57,14 @@ foreach (const QString &path, app.libraryPaths())
//! [3]
+// Called once QCoreApplication exists
+static void preRoutineMyDebugTool()
+{
+ MyDebugTool* tool = new MyDebugTool(QCoreApplication::instance());
+ QCoreApplication::instance()->installEventFilter(tool);
+}
+Q_COREAPP_STARTUP_FUNCTION(preRoutineMyDebugTool)
//! [3]
diff --git a/src/corelib/doc/snippets/code/src_corelib_tools_qpoint.cpp b/src/corelib/doc/snippets/code/src_corelib_tools_qpoint.cpp
index a83fd9a71f..8c6751cbaa 100644
--- a/src/corelib/doc/snippets/code/src_corelib_tools_qpoint.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_tools_qpoint.cpp
@@ -79,6 +79,13 @@ p *= 2.5; // p becomes (-3, 10)
//! [5]
+//! [16]
+QPoint p( 3, 7);
+QPoint q(-1, 4);
+int lengthSquared = QPoint::dotProduct(p, q); // lengthSquared becomes 25
+//! [16]
+
+
//! [6]
QPoint p(-3, 10);
p /= 2.5; // p becomes (-1, 4)
@@ -147,3 +154,10 @@ p *= 2.5; // p becomes (-2.75, 10.25)
QPointF p(-2.75, 10.25);
p /= 2.5; // p becomes (-1.1, 4.1)
//! [15]
+
+
+//! [17]
+QPointF p( 3.1, 7.1);
+QPointF q(-1.0, 4.1);
+int lengthSquared = QPointF::dotProduct(p, q); // lengthSquared becomes 26.01
+//! [17]
diff --git a/src/corelib/doc/snippets/qmessageauthenticationcode/main.cpp b/src/corelib/doc/snippets/qmessageauthenticationcode/main.cpp
new file mode 100644
index 0000000000..4441fbd9a1
--- /dev/null
+++ b/src/corelib/doc/snippets/qmessageauthenticationcode/main.cpp
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Ruslan Nigmatullin <euroelessar@yandex.ru>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation 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 <QtCore>
+
+int main(int argc, char *argv[])
+{
+ QCoreApplication app(argc, argv);
+
+//! [0]
+ QByteArray key = "key";
+ QByteArray message = "The quick brown fox jumps over the lazy dog";
+//! [0]
+
+//! [1]
+ QMessageAuthenticationCode code(QCryptographicHash::Sha1);
+ code.setKey(key);
+ code.addData(message);
+ code.result().toHex(); // returns "de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9"
+//! [1]
+
+//! [2]
+ QMessageAuthenticationCode::hash(message, key, QCryptographicHash::Sha1).toHex();
+//! [2]
+}
diff --git a/src/corelib/doc/src/objectmodel/properties.qdoc b/src/corelib/doc/src/objectmodel/properties.qdoc
index 66325ca6c0..37f54621a1 100644
--- a/src/corelib/doc/src/objectmodel/properties.qdoc
+++ b/src/corelib/doc/src/objectmodel/properties.qdoc
@@ -53,16 +53,22 @@
\snippet code/doc_src_properties.cpp 1
+ Here is an example showing how to export member variables as Qt
+ properties using the \c MEMBER keyword.
+ Note that a \c NOTIFY signal must be specified to allow QML property bindings.
+
+ \snippet code/doc_src_properties.cpp 8
+
A property behaves like a class data member, but it has additional
features accessible through the \l {Meta-Object System}.
\list
- \li A \c READ accessor function is required. It is for reading the
- property value. Ideally, a const function is used for this purpose,
- and it must return either the property's type or a pointer or
- reference to that type. e.g., QWidget::focus is a read-only property
- with \c READ function, QWidget::hasFocus().
+ \li A \c READ accessor function is required if no \c MEMBER variable was
+ specified. It is for reading the property value. Ideally, a const function
+ is used for this purpose, and it must return either the property's type or a
+ pointer or reference to that type. e.g., QWidget::focus is a read-only
+ property with \c READ function, QWidget::hasFocus().
\li A \c WRITE accessor function is optional. It is for setting the
property value. It must return void and must take exactly one
@@ -71,6 +77,13 @@
QWidget::setEnabled(). Read-only properties do not need \c WRITE
functions. e.g., QWidget::focus has no \c WRITE function.
+ \li A \c MEMBER variable association is required if no \c READ accessor
+ function is specified. This makes the given member variable
+ readable and writable without the need of creating \c READ and \c WRITE accessor
+ functions. It's still possible to use \c READ or \c WRITE accessor functions in
+ addition to \c MEMBER variable association (but not both), if you need to
+ control the variable access.
+
\li A \c RESET function is optional. It is for setting the property
back to its context specific default value. e.g., QWidget::cursor
has the typical \c READ and \c WRITE functions, QWidget::cursor()
@@ -82,6 +95,9 @@
\li A \c NOTIFY signal is optional. If defined, it should specify one
existing signal in that class that is emitted whenever the value
of the property changes.
+ \c NOTIFY signals for \c MEMBER variables must take zero or one parameter,
+ which must be of the same type as the property. The parameter will take the
+ new value of the property.
\li A \c REVISION number is optional. If included, it defines
the property and its notifier signal to be used in a particular
diff --git a/src/corelib/global/global.pri b/src/corelib/global/global.pri
index 01756c8419..6ac32cd35d 100644
--- a/src/corelib/global/global.pri
+++ b/src/corelib/global/global.pri
@@ -9,6 +9,7 @@ HEADERS += \
global/qendian.h \
global/qnumeric_p.h \
global/qnumeric.h \
+ global/qglobalstatic.h \
global/qlibraryinfo.h \
global/qlogging.h \
global/qtypeinfo.h \
@@ -19,6 +20,7 @@ HEADERS += \
SOURCES += \
global/qglobal.cpp \
+ global/qglobalstatic.cpp \
global/qlibraryinfo.cpp \
global/qmalloc.cpp \
global/qnumeric.cpp \
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index 7ae4863da3..a751f9af56 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -154,6 +154,9 @@
// Properties
//#define QT_NO_PROPERTIES
+// QRegularExpression
+//#define QT_NO_REGULAREXPRESSION
+
// Resize Handler
//#define QT_NO_RESIZEHANDLER
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index a97309b876..c27463897f 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -28,6 +28,13 @@ Requires:
Name: CssParser
SeeAlso: ???
+Feature: REGULAREXPRESSION
+Description: Perl-compatible regular expression APIs
+Section: Kernel
+Requires:
+Name: QRegularExpression
+SeeAlso: ???
+
Feature: CONCURRENT
Description: Provides a high-level multi-threaded APIs
Section: Kernel
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index a0c12b7b06..454e5d828d 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -68,7 +68,7 @@
# endif
#endif
-#if defined(Q_OS_VXWORKS)
+#if defined(Q_OS_VXWORKS) && defined(_WRS_KERNEL)
# include <envLib.h>
#endif
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 6da275712f..f3be05a8ec 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -45,11 +45,11 @@
#include <stddef.h>
-#define QT_VERSION_STR "5.0.1"
+#define QT_VERSION_STR "5.1.0"
/*
QT_VERSION is (major << 16) + (minor << 8) + patch.
*/
-#define QT_VERSION 0x050001
+#define QT_VERSION 0x050100
/*
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
*/
@@ -664,125 +664,6 @@ typedef void (*QFunctionPointer)();
# define Q_UNIMPLEMENTED() qWarning("%s:%d: %s: Unimplemented code.", __FILE__, __LINE__, Q_FUNC_INFO)
#endif
-#if defined(QT_NO_THREAD)
-
-template <typename T>
-class QGlobalStatic
-{
-public:
- T *pointer;
- inline QGlobalStatic(T *p) : pointer(p) { }
- inline ~QGlobalStatic() { pointer = 0; }
-};
-
-#define Q_GLOBAL_STATIC(TYPE, NAME) \
- static TYPE *NAME() \
- { \
- static TYPE thisVariable; \
- static QGlobalStatic<TYPE > thisGlobalStatic(&thisVariable); \
- return thisGlobalStatic.pointer; \
- }
-
-#define Q_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS) \
- static TYPE *NAME() \
- { \
- static TYPE thisVariable ARGS; \
- static QGlobalStatic<TYPE > thisGlobalStatic(&thisVariable); \
- return thisGlobalStatic.pointer; \
- }
-
-#define Q_GLOBAL_STATIC_WITH_INITIALIZER(TYPE, NAME, INITIALIZER) \
- static TYPE *NAME() \
- { \
- static TYPE thisVariable; \
- static QGlobalStatic<TYPE > thisGlobalStatic(0); \
- if (!thisGlobalStatic.pointer) { \
- TYPE *x = thisGlobalStatic.pointer = &thisVariable; \
- INITIALIZER; \
- } \
- return thisGlobalStatic.pointer; \
- }
-
-#else
-
-// forward declaration, since qatomic.h needs qglobal.h
-template <typename T> class QBasicAtomicPointer;
-
-// POD for Q_GLOBAL_STATIC
-template <typename T>
-class QGlobalStatic
-{
-public:
- QBasicAtomicPointer<T> pointer;
- bool destroyed;
-};
-
-// Created as a function-local static to delete a QGlobalStatic<T>
-template <typename T>
-class QGlobalStaticDeleter
-{
-public:
- QGlobalStatic<T> &globalStatic;
- QGlobalStaticDeleter(QGlobalStatic<T> &_globalStatic)
- : globalStatic(_globalStatic)
- { }
-
- inline ~QGlobalStaticDeleter()
- {
- delete globalStatic.pointer.load();
- globalStatic.pointer.store(0);
- globalStatic.destroyed = true;
- }
-};
-
-#define Q_GLOBAL_STATIC(TYPE, NAME) \
- static TYPE *NAME() \
- { \
- static QGlobalStatic<TYPE > thisGlobalStatic \
- = { Q_BASIC_ATOMIC_INITIALIZER(0), false }; \
- if (!thisGlobalStatic.pointer.load() && !thisGlobalStatic.destroyed) { \
- TYPE *x = new TYPE; \
- if (!thisGlobalStatic.pointer.testAndSetOrdered(0, x)) \
- delete x; \
- else \
- static QGlobalStaticDeleter<TYPE > cleanup(thisGlobalStatic); \
- } \
- return thisGlobalStatic.pointer.load(); \
- }
-
-#define Q_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS) \
- static TYPE *NAME() \
- { \
- static QGlobalStatic<TYPE > thisGlobalStatic \
- = { Q_BASIC_ATOMIC_INITIALIZER(0), false }; \
- if (!thisGlobalStatic.pointer.load() && !thisGlobalStatic.destroyed) { \
- TYPE *x = new TYPE ARGS; \
- if (!thisGlobalStatic.pointer.testAndSetOrdered(0, x)) \
- delete x; \
- else \
- static QGlobalStaticDeleter<TYPE > cleanup(thisGlobalStatic); \
- } \
- return thisGlobalStatic.pointer.load(); \
- }
-
-#define Q_GLOBAL_STATIC_WITH_INITIALIZER(TYPE, NAME, INITIALIZER) \
- static TYPE *NAME() \
- { \
- static QGlobalStatic<TYPE > thisGlobalStatic \
- = { Q_BASIC_ATOMIC_INITIALIZER(0), false }; \
- if (!thisGlobalStatic.pointer.load() && !thisGlobalStatic.destroyed) { \
- QScopedPointer<TYPE > x(new TYPE); \
- INITIALIZER; \
- if (thisGlobalStatic.pointer.testAndSetOrdered(0, x.data())) { \
- static QGlobalStaticDeleter<TYPE > cleanup(thisGlobalStatic); \
- x.take(); \
- } \
- } \
- return thisGlobalStatic.pointer.load(); \
- }
-
-#endif
-
Q_DECL_CONSTEXPR static inline bool qFuzzyCompare(double p1, double p2)
{
return (qAbs(p1 - p2) <= 0.000000000001 * qMin(qAbs(p1), qAbs(p2)));
@@ -1089,6 +970,9 @@ template <typename T> struct QEnableIf<true, T> { typedef T Type; };
QT_END_NAMESPACE
QT_END_HEADER
+// Q_GLOBAL_STATIC
+#include <QtCore/qglobalstatic.h>
+
// qDebug and friends
#include <QtCore/qlogging.h>
#include <QtCore/qflags.h>
diff --git a/src/corelib/global/qglobalstatic.cpp b/src/corelib/global/qglobalstatic.cpp
new file mode 100644
index 0000000000..7caa2e9848
--- /dev/null
+++ b/src/corelib/global/qglobalstatic.cpp
@@ -0,0 +1,522 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Intel Corporation.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 "qglobalstatic.h"
+
+/*!
+ \macro Q_GLOBAL_STATIC(Type, VariableName)
+ \since 5.1
+ \relates QGlobalStatic
+
+ Creates a global and static object of type \l QGlobalStatic, of name \a
+ VariableName and that behaves as a pointer to \a Type. The object created
+ by Q_GLOBAL_STATIC initializes itself on the first use, which means that it
+ will not increase the application or the library's load time. Additionally,
+ the object is initialized in a thread-safe manner on all platforms.
+
+ The typical use of this macro is as follows, in a global context (that is,
+ outside of any function bodies):
+
+ \code
+ Q_GLOBAL_STATIC(MyType, staticType)
+ \endcode
+
+ This macro is intended to replace global static objects that are not POD
+ (Plain Old Data, or in C++11 terms, not made of a trivial type), hence the
+ name. For example, the following C++ code creates a global static:
+
+ \code
+ static MyType staticType;
+ \endcode
+
+ Compared to Q_GLOBAL_STATIC, and assuming that \c MyType is a class or
+ struct that has a constructor, a destructor, or is otherwise non-POD, the
+ above has the following drawbacks:
+
+ \list
+ \li it requires load-time initialization of \c MyType (that is, the
+ default constructor for \c MyType is called when the library or
+ application is loaded);
+
+ \li the type will be initialized even if it is never used;
+
+ \li the order of initialization and destruction among different
+ translation units is not determined, leading to possible uses before
+ initialization or after destruction;
+
+ \li if it is found inside a function (that is, not global), it will be
+ initialized on first use, but many current compilers (as of 2013) do
+ not guarantee that the initialization will be thread-safe;
+ \endlist
+
+ The Q_GLOBAL_STATIC macro solves all of the above problems by guaranteeing
+ thread-safe initialization on first use and allowing the user to query for
+ whether the type has already been destroyed, to avoid the
+ use-after-destruction problem (see QGlobalStatic::isDestroyed()).
+
+ \section1 Constructor and destructor
+
+ For Q_GLOBAL_STATIC, the type \c Type must be publicly
+ default-constructible and publicly destructible. For
+ Q_GLOBAL_STATIC_WITH_ARGS(), there must be a public constructor that
+ matches the arguments passed.
+
+ It is not possible to use Q_GLOBAL_STATIC with types that have protected or
+ private default constructors or destructors (for Q_GLOBAL_STATIC_WITH_ARGS(),
+ a protected or private constructor matching the arguments). If the type in
+ question has those members as protected, it is possible to overcome the
+ issue by deriving from the type and creating public a constructor and
+ destructor. If the type has them as private, a friend declaration is
+ necessary before deriving.
+
+ For example, the following is enough to create \c MyType based on a
+ previously-defined \c MyOtherType which has a protected default constructor
+ and/or a protected destructor (or has them as private, but that defines \c
+ MyType as a friend).
+
+ \code
+ class MyType : public MyOtherType { };
+ Q_GLOBAL_STATIC(MyType, staticType)
+ \endcode
+
+ No body for \c MyType is required since the destructor is an implicit
+ member and so is the default constructor if no other constructors are
+ defined. For use with Q_GLOBAL_STATIC_WITH_ARGS(), however, a suitable
+ constructor body is necessary:
+
+ \code
+ class MyType : public MyOtherType
+ {
+ public:
+ MyType(int i) : MyOtherType(i) {}
+ };
+ Q_GLOBAL_STATIC_WITH_ARGS(MyType, staticType, (42))
+ \endcode
+
+ Alternatively, if the compiler supports C++11 inheriting constructors, one could write:
+
+ \code
+ class MyType : public MyOtherType
+ {
+ public:
+ using MyOtherType::MyOtherType;
+ };
+ Q_GLOBAL_STATIC_WITH_ARGS(MyType, staticType, (42))
+ \endcode
+
+ \section1 Placement
+
+ The Q_GLOBAL_STATIC macro creates a type that is necessarily static, at the
+ global scope. It is not possible to place the Q_GLOBAL_STATIC macro inside
+ a function (doing so will result in compilation errors).
+
+ More importantly, this macro should be placed in source files, never in
+ headers. Since the resulting object is has static linkage, if the macro is
+ placed in a header and included by multiple source files, the object will
+ be defined multiple times and will not cause linking errors. Instead, each
+ translation unit will refer to a different object, which could lead to
+ subtle and hard-to-track errors.
+
+ \section1 Non-recommended uses
+
+ Note that the macro is not recommended for use with types that are POD or
+ that have C++11 constexpr constructors (trivially constructible and
+ destructible). For those types, it is still recommended to use regular
+ static, whether global or function-local.
+
+ This macro will work, but it will add unnecessary overhead.
+
+ \section1 Reentrancy, thread-safety, deadlocks, and exception-safety on construction
+
+ The Q_GLOBAL_STATIC macro creates an object that initializes itself on
+ first use in a thread-safe manner: if multiple threads attempt to
+ initialize the object at the same time, only one thread will proceed to
+ initialize, while all other threads wait for completion.
+
+ If the initialization process throws an exception, the initialization is
+ deemed not complete and will be attempted again when control reaches any
+ use of the object. If there are any threads waiting for initialization, one
+ of them will be woken up to attempt to initialize.
+
+ The macro makes no guarantee about reentrancy from the same thread. If the
+ global static object is accessed directly or indirectly from inside the
+ constructor, a deadlock will surely happen.
+
+ In addition, if two Q_GLOBAL_STATIC objects are being initialized on two
+ different threads and each one's initialization sequence accesses the
+ other, a deadlock might happen. For that reason, it is recommended to keep
+ global static constructors simple or, failing that, to ensure that there's
+ no cross-dependency of uses of global static during construction.
+
+ \section1 Destruction
+
+ If the object is never used during the lifetime of the program, aside from
+ the QGlobalStatic::exists() and QGlobalStatic::isDestroyed() functions, the
+ contents of type \a Type will not be created and there will not be any
+ exit-time operation.
+
+ If the object is created, it will be destroyed at exit-time, similar to the
+ C \c atexit function. On most systems, in fact, the destructor will also be
+ called if the library or plugin is unloaded from memory before exit.
+
+ Since the destruction is meant to happen at program exit, no thread-safety
+ is provided. This includes the case of plugin or library unload. In
+ addition, since destructors are not supposed to throw exceptions, no
+ exception safety is provided either.
+
+ However, reentrancy is permitted: during destruction, it is possible to
+ access the global static object and the pointer returned will be the same
+ as it was before destruction began. After the destruction has completed,
+ accessing the global static object is not permitted, except as noted in the
+ \l QGlobalStatic API.
+
+ \omit
+ \section1 Compatibility with Qt 4 and Qt 5.0
+
+ This macro, in its current form and behavior, was introduced in Qt 5.1.
+ Prior to that version, Qt had another macro with the same name that was
+ private API. This section is not meant to document how to use
+ Q_GLOBAL_STATIC in those versions, but instead to serve as a porting guide
+ for Qt code that used those macros.
+
+ The Qt 4 Q_GLOBAL_STATIC macro differed in behavior in the following ways:
+
+ \list
+ \li the object created was not of type \l QGlobalStatic, but instead
+ it was a function that returned a pointer to \a Type; that means the
+ \l QGlobalStatic API was not present;
+
+ \li the initialization was thread-safe, but not guaranteed to be
+ unique: instead, if N threads tried to initialize the object at the
+ same time, N objects would be created on the heap and N-1 would be
+ destroyed;
+
+ \li the object was always created on the heap.
+ \endlist
+
+ \section1 Implementation details
+
+ Q_GLOBAL_STATIC is implemented by creating a QBasicAtomicInt called the \c
+ guard and a free, inline function called \c innerFunction. The guard
+ variable is initialized to value 0 (chosen so that the guard can be placed
+ in the .bss section of the binary file), which denotes that construction
+ has not yet taken place (uninitialized). The inner function is implemented
+ by the helper macro Q_GLOBAL_STATIC_INTERNAL.
+
+ Both the guard variable and the inner function are passed as template
+ parameters to QGlobalStatic, along with the type \a Type. Both should also
+ have static linkage or be placed inside an anonymous namespace, so that the
+ visibility of Q_GLOBAL_STATIC is that of a global static. To permit
+ multiple Q_GLOBAL_STATIC per translation unit, the guard variable and the
+ inner function must have unique names, which can be accomplished by
+ concatenating with \a VariableName or by placing them in a namespace that
+ has \a VariableName as part of the name. To simplify and improve
+ readability on Q_GLOBAL_STATIC_INTERNAL, we chose the namespace solution.
+ It's also required for C++98 builds, since static symbols cannot be used as
+ template parameters.
+
+ The guard variable can assume the following values:
+
+ \list
+ \li -2: object was once initialized but has been destroyed already;
+ \li -1: object was initialized and is still valid;
+ \li 0: object was not initialized yet;
+ \li +1: object is being initialized and any threads encountering this
+ value must wait for completion (not used in the current implementation).
+ \endlist
+
+ Collectively, all positive values indicate that the initialization is
+ progressing and must be waited on, whereas all negative values indicate
+ that the initialization has terminated and must not be attempted again.
+ Positive values are not used in the current implementation, but were in
+ earlier versions. They could be used again in the future.
+
+ The QGlobalStatic::exists() and QGlobalStatic::isDestroyed() functions
+ operate solely on the guard variable: the former returns true if the guard
+ is negative, whereas the latter returns true only if it is -2.
+
+ The Q_GLOBAL_STATIC_INTERNAL macro implements the actual construction and
+ destruction. There are two implementations of it: one for compilers that
+ support thread-safe initialization of function-local statics and one for
+ compilers that don't. Thread-safe initialization is required by C++11 in
+ [stmt.decl], but as of the time of this writing, only compilers based on
+ the IA-64 C++ ABI implemented it properly. The implementation requiring
+ thread-safe initialization is also used on the Qt bootstrapped tools, which
+ define QT_NO_THREAD.
+
+ The implementation requiring thread-safe initialization from the compiler
+ is the simplest: it creates the \a Type object as a function-local static
+ and returns its address. The actual object is actually inside a holder
+ structure so holder's destructor can set the guard variable to the value -2
+ (destroyed) when the type has finished destruction. Since we need to set
+ the guard \b after the destruction has finished, this code needs to be in a
+ base struct's destructor. A holder structure is used to avoid creating two
+ statics, which the ABI might require duplicating the thread-safe control
+ structures for.
+
+ The other implementation is similar to Qt 4's Q_GLOBAL_STATIC, but unlike
+ that one, it uses a \l QBasicMutex to provide locking. It is also more
+ efficient memory-wise. It use a simple double-checked locking of the mutex
+ and then creates the contents on the heap. After that, it creates a
+ function-local structure called "Cleanup", whose destructor will be run at
+ program exit and will actually destroy the contents.
+
+ \endomit
+
+ \sa Q_GLOBAL_STATIC_WITH_ARGS(), QGlobalStatic
+*/
+
+/*!
+ \macro Q_GLOBAL_STATIC_WITH_ARGS(Type, VariableName, Arguments)
+ \since 5.1
+ \relates QGlobalStatic
+
+ Creates a global and static object of type \l QGlobalStatic, of name \a
+ VariableName, initialized by the arguments \a Arguments and that behaves as
+ a pointer to \a Type. The object created by Q_GLOBAL_STATIC_WITH_ARGS
+ initializes itself on the first use, which means that it will not increase
+ the application or the library's load time. Additionally, the object is
+ initialized in a thread-safe manner on all platforms.
+
+ The typical use of this macro is as follows, in a global context (that is,
+ outside of any function bodies):
+
+ \code
+ Q_GLOBAL_STATIC_WITH_ARGS(MyType, staticType, (42, "Hello", "World"))
+ \endcode
+
+ The \a Arguments macro parameter must always include the parentheses or, if
+ C++11 uniform initialization is allowed, the braces.
+
+ Aside from the actual initialization of the contents with the supplied
+ arguments, this macro behaves identically to Q_GLOBAL_STATIC(). Please
+ see that macro's documentation for more information.
+
+ \sa Q_GLOBAL_STATIC(), QGlobalStatic
+*/
+
+/*!
+ \class QGlobalStatic
+ \threadsafe
+ \inmodule QtCore
+ \since 5.1
+ \brief The QGlobalStatic class is used to implement a global static object
+
+ The QGlobalStatic class is the front-end API exported when
+ Q_GLOBAL_STATIC() is used. See the documentation for the macro for a
+ discussion on when to use it and its requirements.
+
+ Normally, you will never use this class directly, but instead you will use
+ the Q_GLOBAL_STATIC() or Q_GLOBAL_STATIC_WITH_ARGS() macros, as
+ follows:
+
+ \code
+ Q_GLOBAL_STATIC(MyType, staticType)
+ \endcode
+
+ The above example creates an object of type QGlobalStatic called \c
+ staticType. After the above declaration, the \c staticType object may be
+ used as if it were a pointer, guaranteed to be initialized exactly once. In
+ addition to the use as a pointer, the object offers two methods to
+ determine the current status of the global: exists() and isDestroyed().
+
+ \sa Q_GLOBAL_STATIC(), Q_GLOBAL_STATIC_WITH_ARGS()
+*/
+
+/*!
+ \typedef QGlobalStatic::Type
+
+ This type is equivalent to the \c Type parameter passed to the
+ Q_GLOBAL_STATIC() or Q_GLOBAL_STATIC_WITH_ARGS() macros. It is used in the
+ return types of some functions.
+*/
+
+/*!
+ \fn bool QGlobalStatic::isDestroyed() const
+
+ This function returns true if the global static object has already
+ completed destruction (that is, if the destructor for the type has already
+ returned). In specific, note that this function returns false if
+ the destruction is still in progress.
+
+ Once this function has returned true once, it will never return
+ false again until either the program is restarted or the plugin or library
+ containing the global static is unloaded and reloaded.
+
+ This function is safe to call at any point in the program execution: it
+ cannot fail and cannot cause a deadlock. Additionally, it will not cause
+ the contents to be created if they have not yet been created.
+
+ This function is useful in code that may be executed at program shutdown,
+ to determine whether the contents may still be accessed or not.
+
+ \omit
+ Due to the non-atomic nature of destruction, it's possible that
+ QGlobalStatic::isDestroyed might return false for a short time after the
+ destructor has finished. However, since the destructor is only run in an
+ environment where concurrent multithreaded access is impossible, no one can
+ see that state. (omitted because it's useless information)
+ \endomit
+
+ \sa exists()
+*/
+
+/*!
+ \fn bool QGlobalStatic::exists() const
+
+ This function returns true if the global static object has already
+ completed initialization (that is, if the constructor for the type has
+ already returned). In specific, note that this function returns false if
+ the initialization is still in progress.
+
+ Once this function has returned true once, it will never return false again
+ until either the program is restarted or the plugin or library containing
+ the global static is unloaded and reloaded.
+
+ This function is safe to call at any point in the program execution: it
+ cannot fail and cannot cause a deadlock. Additionally, it will not cause
+ the contents to be created if they have not yet been created.
+
+ This function is useful if one can determine the initial conditions of the
+ global static object and would prefer to avoid a possibly expensive
+ construction operation.
+
+ For example, in the following code sample, this function is used to
+ short-circuit the creation of the global static called \c globalState and
+ returns a default value:
+
+ \code
+ Q_GLOBAL_STATIC(MyType, globalState)
+ QString someState()
+ {
+ if (globalState.exists())
+ return globalState->someState;
+ return QString();
+ }
+ \endcode
+
+ \b{Thread-safety notice:} this function is thread-safe in the sense that it
+ may be called from any thread at any time and will always return a valid
+ reply. But due to the non-atomic nature of construction, this function may
+ return false for a short time after the construction has completed.
+
+ \b{Memory ordering notice:} this function does not impose any memory
+ ordering guarantees. That is instead provided by the accessor functions
+ that return the pointer or reference to the contents. If you bypass the
+ accessor functions and attempt to access some global state set by the
+ constructor, be sure to use the correct memory ordering semantics provided
+ by \l QAtomicInt or \l QAtomicPointer.
+
+ \sa isDestroyed()
+*/
+
+/*!
+ \fn QGlobalStatic::operator Type*()
+
+ This function returns the address of the contents of this global static. If
+ the contents have not yet been created, they will be created thread-safely
+ by this function. If the contents have already been destroyed, this
+ function will return a null pointer.
+
+ This function can be used, for example, to store the pointer to the
+ contents of the global static in a local variable, thus avoiding multiple
+ calls to the function. The implementation of Q_GLOBAL_STATIC() is quite
+ efficient already, but in performance-critical sections it might be useful
+ to help the compiler a little. For example:
+
+ \code
+ Q_GLOBAL_STATIC(MyType, globalState)
+ QString someState()
+ {
+ MyType *state = globalState;
+ if (!state) {
+ // we're in a post-destruction state
+ return QString();
+ }
+ if (state->condition)
+ return state->value1;
+ else
+ return state->value2;
+ }
+ \endcode
+
+ \sa operator->(), operator*()
+*/
+
+/*!
+ \fn Type *QGlobalStatic::operator()()
+ \deprecated
+
+ This function returns the address of the contents of this global static. If
+ the contents have not yet been created, they will be created thread-safely
+ by this function. If the contents have already been destroyed, this
+ function will return a null pointer.
+
+ This function is equivalent to \l {operator Type *()}. It is provided for
+ compatibility with the private Q_GLOBAL_STATIC implementation that existed
+ in Qt 4.x and 5.0. New code should avoid using it and should instead treat
+ the object as a smart pointer.
+*/
+
+/*!
+ \fn Type *QGlobalStatic::operator->()
+
+ This function returns the address of the contents of this global static. If
+ the contents have not yet been created, they will be created thread-safely
+ by this function.
+
+ This function does not check if the contents have already been destroyed and
+ will never return null. If this function is called after the object has
+ been destroyed, it will return a dangling pointer that should not be
+ dereferenced.
+*/
+
+/*!
+ \fn Type &QGlobalStatic::operator*()
+
+ This function returns a reference to the contents of this global static. If
+ the contents have not yet been created, they will be created thread-safely
+ by this function.
+
+ This function does not check if the contents have already been destroyed.
+ If this function is called after the object has been destroyed, it will
+ return an invalid reference that must not be used.
+*/
diff --git a/src/corelib/global/qglobalstatic.h b/src/corelib/global/qglobalstatic.h
new file mode 100644
index 0000000000..487b0dfdb4
--- /dev/null
+++ b/src/corelib/global/qglobalstatic.h
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Intel Corporation
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 <QtCore/qglobal.h>
+
+#ifndef QGLOBALSTATIC_H
+#define QGLOBALSTATIC_H
+
+#include <QtCore/qatomic.h>
+
+QT_BEGIN_HEADER
+QT_BEGIN_NAMESPACE
+
+namespace QtGlobalStatic {
+enum GuardValues {
+ Destroyed = -2,
+ Initialized = -1,
+ Uninitialized = 0,
+ Initializing = 1
+};
+}
+
+#if defined(QT_NO_THREAD) || defined(Q_CC_GNU)
+// some compilers support thread-safe statics
+// The IA-64 C++ ABI requires this, so we know that all GCC versions since 3.4
+// support it. C++11 also requires this behavior.
+// Clang and Intel CC masquerade as GCC when compiling on Linux and Mac OS X.
+
+#define Q_GLOBAL_STATIC_INTERNAL(ARGS) \
+ Q_DECL_HIDDEN inline Type *innerFunction() \
+ { \
+ struct HolderBase { \
+ ~HolderBase() Q_DECL_NOTHROW \
+ { guard.store(QtGlobalStatic::Destroyed); } \
+ }; \
+ static struct Holder : public HolderBase { \
+ Type value; \
+ Holder() \
+ Q_DECL_NOEXCEPT_EXPR(noexcept(Type ARGS)) \
+ : value ARGS \
+ { guard.store(QtGlobalStatic::Initialized); } \
+ } holder; \
+ return &holder.value; \
+ }
+#else
+// We don't know if this compiler supports thread-safe global statics
+// so use our own locked implementation
+
+QT_END_NAMESPACE
+#include <QtCore/qmutex.h>
+QT_BEGIN_NAMESPACE
+
+#define Q_GLOBAL_STATIC_INTERNAL(ARGS) \
+ Q_DECL_HIDDEN inline Type *innerFunction() \
+ { \
+ static Type *d; \
+ static QBasicMutex mutex; \
+ int x = guard.loadAcquire(); \
+ if (Q_UNLIKELY(x >= QtGlobalStatic::Uninitialized)) { \
+ QMutexLocker locker(&mutex); \
+ if (guard.load() == QtGlobalStatic::Uninitialized) { \
+ d = new Type ARGS; \
+ static struct Cleanup { \
+ ~Cleanup() { \
+ delete d; \
+ guard.store(QtGlobalStatic::Destroyed); \
+ } \
+ } cleanup; \
+ guard.store(QtGlobalStatic::Initialized); \
+ } \
+ } \
+ return d; \
+ }
+#endif
+
+// this class must be POD, unless the compiler supports thread-safe statics
+template <typename T, T *(&innerFunction)(), QBasicAtomicInt &guard>
+struct QGlobalStatic
+{
+ typedef T Type;
+
+ bool isDestroyed() const { return guard.load() <= QtGlobalStatic::Destroyed; }
+ bool exists() const { return guard.load() == QtGlobalStatic::Initialized; }
+ operator Type *() { if (isDestroyed()) return 0; return innerFunction(); }
+ Type *operator()() { if (isDestroyed()) return 0; return innerFunction(); }
+ Type *operator->() { return innerFunction(); }
+ Type &operator*() { return *innerFunction(); }
+};
+
+#define Q_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS) \
+ namespace { namespace Q_QGS_ ## NAME { \
+ typedef TYPE Type; \
+ QBasicAtomicInt guard = Q_BASIC_ATOMIC_INITIALIZER(QtGlobalStatic::Uninitialized); \
+ Q_GLOBAL_STATIC_INTERNAL(ARGS) \
+ } } \
+ static QGlobalStatic<TYPE, \
+ Q_QGS_ ## NAME::innerFunction, \
+ Q_QGS_ ## NAME::guard> NAME;
+
+#define Q_GLOBAL_STATIC(TYPE, NAME) \
+ Q_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ())
+
+QT_END_NAMESPACE
+QT_END_HEADER
+
+#endif // QGLOBALSTATIC_H
diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp
index 60ba19e625..20e649bab5 100644
--- a/src/corelib/global/qlogging.cpp
+++ b/src/corelib/global/qlogging.cpp
@@ -73,7 +73,7 @@ static bool isFatal(QtMsgType msgType)
return true;
if (msgType == QtWarningMsg) {
- static bool fatalWarnings = qEnvironmentVariableIsSet("QT_FATAL_WARNINGS");
+ static bool fatalWarnings = !qEnvironmentVariableIsEmpty("QT_FATAL_WARNINGS");
return fatalWarnings;
}
diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri
index f57dcebe33..e0364a1460 100644
--- a/src/corelib/io/io.pri
+++ b/src/corelib/io/io.pri
@@ -22,10 +22,13 @@ HEADERS += \
io/qprocess.h \
io/qprocess_p.h \
io/qtextstream.h \
+ io/qtextstream_p.h \
io/qtemporarydir.h \
io/qtemporaryfile.h \
+ io/qtemporaryfile_p.h \
io/qresource_p.h \
io/qresource_iterator_p.h \
+ io/qsavefile.h \
io/qstandardpaths.h \
io/qurl.h \
io/qurl_p.h \
@@ -65,6 +68,7 @@ SOURCES += \
io/qtemporaryfile.cpp \
io/qresource.cpp \
io/qresource_iterator.cpp \
+ io/qsavefile.cpp \
io/qstandardpaths.cpp \
io/qurl.cpp \
io/qurlidna.cpp \
diff --git a/src/corelib/io/qabstractfileengine.cpp b/src/corelib/io/qabstractfileengine.cpp
index 2d9cb85d9f..9cdbbbbb25 100644
--- a/src/corelib/io/qabstractfileengine.cpp
+++ b/src/corelib/io/qabstractfileengine.cpp
@@ -400,6 +400,19 @@ bool QAbstractFileEngine::close()
}
/*!
+ \since 5.1
+
+ Flushes and syncs the file to disk.
+
+ Returns true if successful; otherwise returns false.
+ The default implementation always returns false.
+*/
+bool QAbstractFileEngine::syncToDisk()
+{
+ return false;
+}
+
+/*!
Flushes the open file, returning true if successful; otherwise returns
false.
@@ -496,6 +509,24 @@ bool QAbstractFileEngine::rename(const QString &newName)
}
/*!
+ \since 5.1
+
+ Requests that the file be renamed to \a newName in the file
+ system. If the new name already exists, it must be overwritten.
+ If the operation succeeds, returns true; otherwise returns
+ false.
+
+ This virtual function must be reimplemented by all subclasses.
+
+ \sa setFileName()
+ */
+bool QAbstractFileEngine::renameOverwrite(const QString &newName)
+{
+ Q_UNUSED(newName);
+ return false;
+}
+
+/*!
Creates a link from the file currently specified by fileName() to
\a newName. What a link is depends on the underlying filesystem
(be it a shortcut on Windows or a symbolic link on Unix). Returns
diff --git a/src/corelib/io/qabstractfileengine_p.h b/src/corelib/io/qabstractfileengine_p.h
index 868b086b57..bdc4b5c123 100644
--- a/src/corelib/io/qabstractfileengine_p.h
+++ b/src/corelib/io/qabstractfileengine_p.h
@@ -124,6 +124,7 @@ public:
virtual bool open(QIODevice::OpenMode openMode);
virtual bool close();
virtual bool flush();
+ virtual bool syncToDisk();
virtual qint64 size() const;
virtual qint64 pos() const;
virtual bool seek(qint64 pos);
@@ -131,6 +132,7 @@ public:
virtual bool remove();
virtual bool copy(const QString &newName);
virtual bool rename(const QString &newName);
+ virtual bool renameOverwrite(const QString &newName);
virtual bool link(const QString &newName);
virtual bool mkdir(const QString &dirName, bool createParentDirectories) const;
virtual bool rmdir(const QString &dirName, bool recurseParentDirectories) const;
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index 544e9e8592..8f788ac355 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -251,7 +251,7 @@ QT_BEGIN_NAMESPACE
return retVal;
enum {
- DefaultStreamVersion = QDataStream::Qt_5_0
+ DefaultStreamVersion = QDataStream::Qt_5_1
};
/*!
@@ -539,6 +539,7 @@ void QDataStream::setByteOrder(ByteOrder bo)
\value Qt_4_8 Same as Qt_4_6.
\value Qt_4_9 Same as Qt_4_6.
\value Qt_5_0 Version 13 (Qt 5.0)
+ \value Qt_5_1 Same as Qt_5_0.
\sa setVersion(), version()
*/
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index 092f3a15b3..f85dd0fb23 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -87,8 +87,9 @@ public:
Qt_4_7 = Qt_4_6,
Qt_4_8 = Qt_4_7,
Qt_4_9 = Qt_4_8,
- Qt_5_0 = 13
-#if QT_VERSION >= 0x050100
+ Qt_5_0 = 13,
+ Qt_5_1 = Qt_5_0
+#if QT_VERSION >= 0x050200
#error Add the datastream version for this Qt version
#endif
};
diff --git a/src/corelib/io/qdebug.cpp b/src/corelib/io/qdebug.cpp
index bd43963139..9cb5609dac 100644
--- a/src/corelib/io/qdebug.cpp
+++ b/src/corelib/io/qdebug.cpp
@@ -47,6 +47,9 @@
#endif
#include "qdebug.h"
+#include <private/qtextstream_p.h>
+
+QT_BEGIN_NAMESPACE
// This file is needed to force compilation of QDebug into the kernel library.
@@ -170,6 +173,8 @@
between writes.
\since 5.0
+
+ \sa QDebugStateSaver
*/
/*!
@@ -179,6 +184,8 @@
automatic insertion of spaces is disabled.
\since 5.0
+
+ \sa QDebugStateSaver
*/
/*!
@@ -321,3 +328,69 @@
\fn QDebug &QDebug::operator<<(QTextStreamManipulator m)
\internal
*/
+
+/*!
+ \class QDebugStateSaver
+
+ \brief Convenience class for custom QDebug operators
+
+ Saves the settings used by QDebug, and restores them upon destruction.
+
+ The automatic insertion of spaces between writes is one of the settings
+ that QDebugStateSaver stores for the duration of the current block.
+
+ The settings of the internal QTextStream are also saved and restored,
+ so that using << hex in a QDebug operator doesn't affect other QDebug
+ operators.
+
+ \since 5.1
+*/
+
+class QDebugStateSaverPrivate
+{
+public:
+ QDebugStateSaverPrivate(QDebug &dbg)
+ : m_dbg(dbg),
+ m_spaces(dbg.autoInsertSpaces()),
+ m_streamParams(dbg.stream->ts.d_ptr->params)
+ {
+ }
+ void restoreState()
+ {
+ m_dbg.setAutoInsertSpaces(m_spaces);
+ m_dbg.stream->ts.d_ptr->params = m_streamParams;
+ }
+
+ QDebug &m_dbg;
+
+ // QDebug state
+ const bool m_spaces;
+
+ // QTextStream state
+ const QTextStreamPrivate::Params m_streamParams;
+};
+
+
+/*!
+ Creates a QDebugStateSaver instance, which saves the settings
+ currently used by \a dbg.
+
+ \sa QDebug::setAutoInsertSpaces(), QDebug::autoInsertSpaces()
+*/
+QDebugStateSaver::QDebugStateSaver(QDebug &dbg)
+ : d(new QDebugStateSaverPrivate(dbg))
+{
+}
+
+/*!
+ Destroyes a QDebugStateSaver instance, which restores the settings
+ used by \a dbg when the QDebugStateSaver instance was created.
+
+ \sa QDebug::setAutoInsertSpaces(), QDebug::autoInsertSpaces()
+*/
+QDebugStateSaver::~QDebugStateSaver()
+{
+ d->restoreState();
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/io/qdebug.h b/src/corelib/io/qdebug.h
index be8252fbb2..b39397858e 100644
--- a/src/corelib/io/qdebug.h
+++ b/src/corelib/io/qdebug.h
@@ -61,6 +61,7 @@ QT_BEGIN_NAMESPACE
class Q_CORE_EXPORT QDebug
{
friend class QMessageLogger;
+ friend class QDebugStateSaverPrivate;
struct Stream {
Stream(QIODevice *device) : ts(device), ref(1), type(QtDebugMsg), space(true), message_output(false) {}
Stream(QString *string) : ts(string, QIODevice::WriteOnly), ref(1), type(QtDebugMsg), space(true), message_output(false) {}
@@ -132,6 +133,17 @@ public:
Q_DECLARE_SHARED(QDebug)
+class QDebugStateSaverPrivate;
+class Q_CORE_EXPORT QDebugStateSaver
+{
+public:
+ QDebugStateSaver(QDebug &dbg);
+ ~QDebugStateSaver();
+private:
+ Q_DISABLE_COPY(QDebugStateSaver)
+ QScopedPointer<QDebugStateSaverPrivate> d;
+};
+
class QNoDebug
{
public:
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
index 4af01f6730..1fe1107d95 100644
--- a/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/src/corelib/io/qfilesystemengine_unix.cpp
@@ -286,7 +286,7 @@ QString QFileSystemEngine::resolveUserName(uint userId)
struct passwd *pw = 0;
#if !defined(Q_OS_INTEGRITY)
-#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS)
struct passwd entry;
getpwuid_r(userId, &entry, buf.data(), buf.size(), &pw);
#else
@@ -310,7 +310,7 @@ QString QFileSystemEngine::resolveGroupName(uint groupId)
struct group *gr = 0;
#if !defined(Q_OS_INTEGRITY)
-#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS)
size_max = sysconf(_SC_GETGR_R_SIZE_MAX);
if (size_max == -1)
size_max = 1024;
@@ -685,8 +685,16 @@ QFileSystemEntry QFileSystemEngine::currentPath()
}
#else
char currentName[PATH_MAX+1];
- if (::getcwd(currentName, PATH_MAX))
+ if (::getcwd(currentName, PATH_MAX)) {
+#if defined(Q_OS_VXWORKS) && defined(VXWORKS_VXSIM)
+ QByteArray dir(currentName);
+ if (dir.indexOf(':') < dir.indexOf('/'))
+ dir.remove(0, dir.indexOf(':')+1);
+
+ qstrncpy(currentName, dir.constData(), PATH_MAX);
+#endif
result = QFileSystemEntry(QByteArray(currentName), QFileSystemEntry::FromNativePath());
+ }
# if defined(QT_DEBUG)
if (result.isEmpty())
qWarning("QFileSystemEngine::currentPath: getcwd() failed");
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp
index b1d7ca9dd1..1206b992e6 100644
--- a/src/corelib/io/qfsfileengine.cpp
+++ b/src/corelib/io/qfsfileengine.cpp
@@ -419,6 +419,17 @@ bool QFSFileEngine::flush()
}
/*!
+ \reimp
+*/
+bool QFSFileEngine::syncToDisk()
+{
+ Q_D(QFSFileEngine);
+ if ((d->openMode & QIODevice::WriteOnly) == 0)
+ return true;
+ return d->nativeSyncToDisk();
+}
+
+/*!
\internal
*/
bool QFSFileEnginePrivate::flushFh()
@@ -908,6 +919,11 @@ bool QFSFileEngine::supportsExtension(Extension extension) const
\reimp
*/
+
+/*! \fn bool QFSFileEngine::renameOverwrite(const QString &newName)
+ \reimp
+*/
+
/*! \fn bool QFSFileEngine::rmdir(const QString &name, bool recurseParentDirectories) const
\reimp
*/
diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h
index d19310b6b6..21f38fea1d 100644
--- a/src/corelib/io/qfsfileengine_p.h
+++ b/src/corelib/io/qfsfileengine_p.h
@@ -81,6 +81,7 @@ public:
bool open(QIODevice::OpenMode flags, FILE *fh);
bool close();
bool flush();
+ bool syncToDisk();
qint64 size() const;
qint64 pos() const;
bool seek(qint64);
@@ -88,6 +89,7 @@ public:
bool remove();
bool copy(const QString &newName);
bool rename(const QString &newName);
+ bool renameOverwrite(const QString &newName);
bool link(const QString &newName);
bool mkdir(const QString &dirName, bool createParentDirectories) const;
bool rmdir(const QString &dirName, bool recurseParentDirectories) const;
@@ -149,6 +151,7 @@ public:
bool nativeClose();
bool closeFdFh();
bool nativeFlush();
+ bool nativeSyncToDisk();
bool flushFh();
qint64 nativeSize() const;
#ifndef Q_OS_WIN
diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp
index 482f65e7f6..a5f077bd0b 100644
--- a/src/corelib/io/qfsfileengine_unix.cpp
+++ b/src/corelib/io/qfsfileengine_unix.cpp
@@ -258,6 +258,23 @@ bool QFSFileEnginePrivate::nativeFlush()
/*!
\internal
+ \since 5.1
+*/
+bool QFSFileEnginePrivate::nativeSyncToDisk()
+{
+ Q_Q(QFSFileEngine);
+#if defined(_POSIX_SYNCHRONIZED_IO) && _POSIX_SYNCHRONIZED_IO > 0
+ const int ret = fdatasync(nativeHandle());
+#else
+ const int ret = fsync(nativeHandle());
+#endif
+ if (ret != 0)
+ q->setError(QFile::WriteError, qt_error_string(errno));
+ return ret == 0;
+}
+
+/*!
+ \internal
*/
qint64 QFSFileEnginePrivate::nativeRead(char *data, qint64 len)
{
@@ -388,6 +405,12 @@ bool QFSFileEngine::copy(const QString &newName)
return ret;
}
+bool QFSFileEngine::renameOverwrite(const QString &newName)
+{
+ // On Unix, rename() overwrites.
+ return rename(newName);
+}
+
bool QFSFileEngine::rename(const QString &newName)
{
Q_D(QFSFileEngine);
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 1cb3c03c30..fecfa7de2b 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -198,15 +198,25 @@ bool QFSFileEnginePrivate::nativeFlush()
return true;
}
- // Windows native mode; flushing is
- // unnecessary. FlushFileBuffers(), the equivalent of sync() or
- // fsync() on Unix, does a low-level flush to the disk, and we
- // don't expose an API for this.
+ // Windows native mode; flushing is unnecessary.
return true;
}
/*
\internal
+ \since 5.1
+*/
+bool QFSFileEnginePrivate::nativeSyncToDisk()
+{
+ if (fh || fd != -1) {
+ // stdlib / stdio mode. No API available.
+ return false;
+ }
+ return FlushFileBuffers(fileHandle);
+}
+
+/*
+ \internal
*/
qint64 QFSFileEnginePrivate::nativeSize() const
{
@@ -507,6 +517,17 @@ bool QFSFileEngine::rename(const QString &newName)
return ret;
}
+bool QFSFileEngine::renameOverwrite(const QString &newName)
+{
+ Q_D(QFSFileEngine);
+ bool ret = ::MoveFileEx((wchar_t*)d->fileEntry.nativeFilePath().utf16(),
+ (wchar_t*)QFileSystemEntry(newName).nativeFilePath().utf16(),
+ MOVEFILE_REPLACE_EXISTING | MOVEFILE_COPY_ALLOWED) != 0;
+ if (!ret)
+ setError(QFile::RenameError, QSystemError(::GetLastError(), QSystemError::NativeError).toString());
+ return ret;
+}
+
bool QFSFileEngine::mkdir(const QString &name, bool createParentDirectories) const
{
return QFileSystemEngine::createDirectory(QFileSystemEntry(name), createParentDirectories);
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
index e159bf8f30..3daae8b2f6 100644
--- a/src/corelib/io/qprocess_unix.cpp
+++ b/src/corelib/io/qprocess_unix.cpp
@@ -1001,9 +1001,9 @@ static int select_msecs(int nfds, fd_set *fdread, fd_set *fdwrite, int timeout)
if (timeout < 0)
return qt_safe_select(nfds, fdread, fdwrite, 0, 0);
- struct timeval tv;
+ struct timespec tv;
tv.tv_sec = timeout / 1000;
- tv.tv_usec = (timeout % 1000) * 1000;
+ tv.tv_nsec = (timeout % 1000) * 1000 * 1000;
return qt_safe_select(nfds, fdread, fdwrite, 0, &tv);
}
diff --git a/src/corelib/io/qsavefile.cpp b/src/corelib/io/qsavefile.cpp
new file mode 100644
index 0000000000..fee6a4c4d8
--- /dev/null
+++ b/src/corelib/io/qsavefile.cpp
@@ -0,0 +1,316 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 David Faure <faure@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 "qplatformdefs.h"
+#include "qsavefile.h"
+#include "private/qsavefile_p.h"
+#include "qfileinfo.h"
+#include "qabstractfileengine_p.h"
+#include "qdebug.h"
+#include "qtemporaryfile.h"
+#include "private/qiodevice_p.h"
+#include "private/qtemporaryfile_p.h"
+
+QT_BEGIN_NAMESPACE
+
+QSaveFilePrivate::QSaveFilePrivate()
+ : writeError(QFileDevice::NoError)
+{
+}
+
+QSaveFilePrivate::~QSaveFilePrivate()
+{
+}
+
+/*!
+ \class QSaveFile
+ \inmodule QtCore
+ \brief The QSaveFile class provides an interface for safely writing to files.
+
+ \ingroup io
+
+ \reentrant
+
+ \since 5.1
+
+ QSaveFile is an I/O device for writing text and binary files, without losing
+ existing data if the writing operation fails.
+
+ While writing, the contents will be written to a temporary file, and if
+ no error happened, commit() will move it to the final file. This ensures that
+ no data at the final file is lost in case an error happens while writing,
+ and no partially-written file is ever present at the final location. Always
+ use QSaveFile when saving entire documents to disk.
+
+ QSaveFile automatically detects errors while writing, such as the full partition
+ situation, where write() cannot write all the bytes. It will remember that
+ an error happened, and will discard the temporary file in commit().
+
+ Much like with QFile, the file is opened with open(). Data is usually read
+ and written using QDataStream or QTextStream, but you can also call the
+ QIODevice-inherited functions read(), readLine(), readAll(), write().
+
+ Unlike QFile, calling close() is not allowed. commit() replaces it. If commit()
+ was not called and the QSaveFile instance is destroyed, the temporary file is
+ discarded.
+
+ To abort saving due to an application error, call cancelWriting(), so that
+ even a call to commit() later on will not save.
+
+ \sa QTextStream, QDataStream, QFileInfo, QDir, QFile, QTemporaryFile
+*/
+
+/*!
+ Constructs a new file object with the given \a parent.
+*/
+QSaveFile::QSaveFile(QObject *parent)
+ : QFileDevice(*new QSaveFilePrivate, parent)
+{
+}
+/*!
+ Constructs a new file object to represent the file with the given \a name.
+*/
+QSaveFile::QSaveFile(const QString &name)
+ : QFileDevice(*new QSaveFilePrivate, 0)
+{
+ Q_D(QSaveFile);
+ d->fileName = name;
+}
+/*!
+ Constructs a new file object with the given \a parent to represent the
+ file with the specified \a name.
+*/
+QSaveFile::QSaveFile(const QString &name, QObject *parent)
+ : QFileDevice(*new QSaveFilePrivate, parent)
+{
+ Q_D(QSaveFile);
+ d->fileName = name;
+}
+
+/*!
+ Destroys the file object, discarding the saved contents unless commit() was called.
+*/
+QSaveFile::~QSaveFile()
+{
+ Q_D(QSaveFile);
+ QFileDevice::close();
+ if (d->fileEngine) {
+ d->fileEngine->remove();
+ delete d->fileEngine;
+ d->fileEngine = 0;
+ }
+}
+
+/*!
+ Returns the name set by setFileName() or to the QSaveFile
+ constructor.
+
+ \sa setFileName()
+*/
+QString QSaveFile::fileName() const
+{
+ return d_func()->fileName;
+}
+
+/*!
+ Sets the \a name of the file. The name can have no path, a
+ relative path, or an absolute path.
+
+ \sa QFile::setFileName(), fileName()
+*/
+void QSaveFile::setFileName(const QString &name)
+{
+ d_func()->fileName = name;
+}
+
+/*!
+ Opens the file using OpenMode \a mode, returning true if successful;
+ otherwise false.
+
+ Important: the \a mode must include QIODevice::WriteOnly.
+ It may also have additional flags, such as QIODevice::Text and QIODevice::Unbuffered.
+
+ QIODevice::ReadWrite and QIODevice::Append are not supported at the moment.
+
+ \sa QIODevice::OpenMode, setFileName()
+*/
+bool QSaveFile::open(OpenMode mode)
+{
+ Q_D(QSaveFile);
+ if (isOpen()) {
+ qWarning("QSaveFile::open: File (%s) already open", qPrintable(fileName()));
+ return false;
+ }
+ unsetError();
+ if ((mode & (ReadOnly | WriteOnly)) == 0) {
+ qWarning("QSaveFile::open: Open mode not specified");
+ return false;
+ }
+ // In the future we could implement ReadWrite by copying from the existing file to the temp file...
+ if ((mode & ReadOnly) || (mode & Append)) {
+ qWarning("QSaveFile::open: Unsupported open mode 0x%x", int(mode));
+ return false;
+ }
+
+ // check if existing file is writable
+ QFileInfo existingFile(d->fileName);
+ if (existingFile.exists() && !existingFile.isWritable()) {
+ d->setError(QFileDevice::WriteError, QSaveFile::tr("Existing file %1 is not writable").arg(d->fileName));
+ d->writeError = QFileDevice::WriteError;
+ return false;
+ }
+ d->fileEngine = new QTemporaryFileEngine(d->fileName);
+ // Same as in QFile: QIODevice provides the buffering, so there's no need to request it from the file engine.
+ if (!d->fileEngine->open(mode | QIODevice::Unbuffered)) {
+ QFileDevice::FileError err = d->fileEngine->error();
+ if (err == QFileDevice::UnspecifiedError)
+ err = QFileDevice::OpenError;
+ d->setError(err, d->fileEngine->errorString());
+ delete d->fileEngine;
+ d->fileEngine = 0;
+ return false;
+ }
+
+ QFileDevice::open(mode);
+ if (existingFile.exists())
+ setPermissions(existingFile.permissions());
+ return true;
+}
+
+/*!
+ \reimp
+ This method has been made private so that it cannot be called, in order to prevent mistakes.
+ In order to finish writing the file, call commit().
+ If instead you want to abort writing, call cancelWriting().
+*/
+void QSaveFile::close()
+{
+ qFatal("QSaveFile::close called");
+}
+
+/*!
+ Commits the changes to disk, if all previous writes were successful.
+
+ It is mandatory to call this at the end of the saving operation, otherwise the file will be
+ discarded.
+
+ If an error happened during writing, deletes the temporary file and returns false.
+ Otherwise, renames it to the final fileName and returns true on success.
+ Finally, closes the device.
+
+ \sa cancelWriting()
+*/
+bool QSaveFile::commit()
+{
+ Q_D(QSaveFile);
+ if (!d->fileEngine)
+ return false;
+
+ if (!isOpen()) {
+ qWarning("QSaveFile::commit: File (%s) is not open", qPrintable(fileName()));
+ return false;
+ }
+ QFileDevice::close(); // calls flush()
+
+ // Sync to disk if possible. Ignore errors (e.g. not supported).
+ d->fileEngine->syncToDisk();
+
+ if (d->writeError != QFileDevice::NoError) {
+ d->fileEngine->remove();
+ d->writeError = QFileDevice::NoError;
+ delete d->fileEngine;
+ d->fileEngine = 0;
+ return false;
+ }
+ // atomically replace old file with new file
+ // Can't use QFile::rename for that, must use the file engine directly
+ Q_ASSERT(d->fileEngine);
+ if (!d->fileEngine->renameOverwrite(d->fileName)) {
+ d->setError(d->fileEngine->error(), d->fileEngine->errorString());
+ d->fileEngine->remove();
+ delete d->fileEngine;
+ d->fileEngine = 0;
+ return false;
+ }
+ delete d->fileEngine;
+ d->fileEngine = 0;
+ return true;
+}
+
+/*!
+ Cancels writing the new file.
+
+ If the application changes its mind while saving, it can call cancelWriting(),
+ which sets an error code so that commit() will discard the temporary file.
+
+ Alternatively, it can simply make sure not to call commit().
+
+ Further write operations are possible after calling this method, but none
+ of it will have any effect, the written file will be discarded.
+
+ \sa commit()
+*/
+void QSaveFile::cancelWriting()
+{
+ Q_D(QSaveFile);
+ if (!isOpen())
+ return;
+ d->setError(QFileDevice::WriteError, QSaveFile::tr("Writing canceled by application"));
+ d->writeError = QFileDevice::WriteError;
+}
+
+/*!
+ \reimp
+*/
+qint64 QSaveFile::writeData(const char *data, qint64 len)
+{
+ Q_D(QSaveFile);
+ if (d->writeError != QFileDevice::NoError)
+ return -1;
+
+ const qint64 ret = QFileDevice::writeData(data, len);
+
+ if (d->error != QFileDevice::NoError)
+ d->writeError = d->error;
+ return ret;
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/io/qsavefile.h b/src/corelib/io/qsavefile.h
new file mode 100644
index 0000000000..47a02a0b83
--- /dev/null
+++ b/src/corelib/io/qsavefile.h
@@ -0,0 +1,94 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 David Faure <faure@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 QSAVEFILE_H
+#define QSAVEFILE_H
+
+#include <QtCore/qfiledevice.h>
+#include <QtCore/qstring.h>
+
+#ifdef open
+#error qsavefile.h must be included before any header file that defines open
+#endif
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+
+class QAbstractFileEngine;
+class QSaveFilePrivate;
+
+class Q_CORE_EXPORT QSaveFile : public QFileDevice
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QSaveFile)
+
+public:
+
+ explicit QSaveFile(const QString &name);
+ explicit QSaveFile(QObject *parent = 0);
+ explicit QSaveFile(const QString &name, QObject *parent);
+ ~QSaveFile();
+
+ QString fileName() const Q_DECL_OVERRIDE;
+ void setFileName(const QString &name);
+
+ bool open(OpenMode flags) Q_DECL_OVERRIDE;
+ bool commit();
+
+ void cancelWriting();
+
+protected:
+ qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE;
+
+private:
+ void close() Q_DECL_OVERRIDE;
+
+private:
+ Q_DISABLE_COPY(QSaveFile)
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QSAVEFILE_H
diff --git a/src/corelib/io/qsavefile_p.h b/src/corelib/io/qsavefile_p.h
new file mode 100644
index 0000000000..27e687835b
--- /dev/null
+++ b/src/corelib/io/qsavefile_p.h
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 David Faure <faure@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 QSAVEFILE_P_H
+#define QSAVEFILE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "private/qfiledevice_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QSaveFilePrivate : public QFileDevicePrivate
+{
+ Q_DECLARE_PUBLIC(QSaveFile)
+
+protected:
+ QSaveFilePrivate();
+ ~QSaveFilePrivate();
+
+ QString fileName;
+
+ QFileDevice::FileError writeError;
+};
+
+QT_END_NAMESPACE
+
+#endif // QSAVEFILE_P_H
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp
index 9408727d25..d3a6e3c238 100644
--- a/src/corelib/io/qtemporaryfile.cpp
+++ b/src/corelib/io/qtemporaryfile.cpp
@@ -44,10 +44,9 @@
#ifndef QT_NO_TEMPORARYFILE
#include "qplatformdefs.h"
+#include "private/qtemporaryfile_p.h"
#include "private/qfile_p.h"
-#include "private/qfsfileengine_p.h"
#include "private/qsystemerror_p.h"
-#include "private/qfilesystemengine_p.h"
#if !defined(Q_OS_WIN)
#include "private/qcore_unix_p.h" // overrides QT_OPEN
@@ -218,36 +217,6 @@ static bool createFileFromTemplate(NativeFileHandle &file,
}
//************* QTemporaryFileEngine
-class QTemporaryFileEngine : public QFSFileEngine
-{
- Q_DECLARE_PRIVATE(QFSFileEngine)
-public:
- QTemporaryFileEngine(const QString &file, bool fileIsTemplate = true)
- : QFSFileEngine(), filePathIsTemplate(fileIsTemplate),
- filePathWasTemplate(fileIsTemplate)
- {
- Q_D(QFSFileEngine);
- d->fileEntry = QFileSystemEntry(file);
-
- if (!filePathIsTemplate)
- QFSFileEngine::setFileName(file);
- }
-
- ~QTemporaryFileEngine();
-
- bool isReallyOpen();
- void setFileName(const QString &file);
- void setFileTemplate(const QString &fileTemplate);
-
- bool open(QIODevice::OpenMode flags);
- bool remove();
- bool rename(const QString &newName);
- bool close();
-
- bool filePathIsTemplate;
- bool filePathWasTemplate;
-};
-
QTemporaryFileEngine::~QTemporaryFileEngine()
{
QFSFileEngine::close();
@@ -398,6 +367,12 @@ bool QTemporaryFileEngine::rename(const QString &newName)
return QFSFileEngine::rename(newName);
}
+bool QTemporaryFileEngine::renameOverwrite(const QString &newName)
+{
+ QFSFileEngine::close();
+ return QFSFileEngine::renameOverwrite(newName);
+}
+
bool QTemporaryFileEngine::close()
{
// Don't close the file, just seek to the front.
@@ -407,19 +382,6 @@ bool QTemporaryFileEngine::close()
}
//************* QTemporaryFilePrivate
-class QTemporaryFilePrivate : public QFilePrivate
-{
- Q_DECLARE_PUBLIC(QTemporaryFile)
-
-protected:
- QTemporaryFilePrivate();
- ~QTemporaryFilePrivate();
-
- QAbstractFileEngine *engine() const;
-
- bool autoRemove;
- QString templateName;
-};
QTemporaryFilePrivate::QTemporaryFilePrivate() : autoRemove(true)
{
@@ -440,7 +402,7 @@ QAbstractFileEngine *QTemporaryFilePrivate::engine() const
return fileEngine;
}
-static QString defaultTemplateName()
+QString QTemporaryFilePrivate::defaultTemplateName()
{
QString baseName;
#if defined(QT_BUILD_CORE_LIB)
@@ -506,7 +468,7 @@ QTemporaryFile::QTemporaryFile()
: QFile(*new QTemporaryFilePrivate)
{
Q_D(QTemporaryFile);
- d->templateName = defaultTemplateName();
+ d->templateName = QTemporaryFilePrivate::defaultTemplateName();
}
QTemporaryFile::QTemporaryFile(const QString &templateName)
@@ -529,7 +491,7 @@ QTemporaryFile::QTemporaryFile()
: QFile(*new QTemporaryFilePrivate, 0)
{
Q_D(QTemporaryFile);
- d->templateName = defaultTemplateName();
+ d->templateName = QTemporaryFilePrivate::defaultTemplateName();
}
/*!
@@ -565,7 +527,7 @@ QTemporaryFile::QTemporaryFile(QObject *parent)
: QFile(*new QTemporaryFilePrivate, parent)
{
Q_D(QTemporaryFile);
- d->templateName = defaultTemplateName();
+ d->templateName = QTemporaryFilePrivate::defaultTemplateName();
}
/*!
diff --git a/src/corelib/io/qtemporaryfile_p.h b/src/corelib/io/qtemporaryfile_p.h
new file mode 100644
index 0000000000..dd011f56c1
--- /dev/null
+++ b/src/corelib/io/qtemporaryfile_p.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 QTEMPORARYFILE_P_H
+#define QTEMPORARYFILE_P_H
+
+#include "private/qfsfileengine_p.h"
+#include "private/qfilesystemengine_p.h"
+#include "private/qfile_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QTemporaryFilePrivate : public QFilePrivate
+{
+ Q_DECLARE_PUBLIC(QTemporaryFile)
+
+protected:
+ QTemporaryFilePrivate();
+ ~QTemporaryFilePrivate();
+
+ QAbstractFileEngine *engine() const;
+
+ bool autoRemove;
+ QString templateName;
+
+ static QString defaultTemplateName();
+};
+
+class QTemporaryFileEngine : public QFSFileEngine
+{
+ Q_DECLARE_PRIVATE(QFSFileEngine)
+public:
+ QTemporaryFileEngine(const QString &file, bool fileIsTemplate = true)
+ : QFSFileEngine(), filePathIsTemplate(fileIsTemplate),
+ filePathWasTemplate(fileIsTemplate)
+ {
+ Q_D(QFSFileEngine);
+ d->fileEntry = QFileSystemEntry(file);
+
+ if (!filePathIsTemplate)
+ QFSFileEngine::setFileName(file);
+ }
+
+ ~QTemporaryFileEngine();
+
+ bool isReallyOpen();
+ void setFileName(const QString &file);
+ void setFileTemplate(const QString &fileTemplate);
+
+ bool open(QIODevice::OpenMode flags);
+ bool remove();
+ bool rename(const QString &newName);
+ bool renameOverwrite(const QString &newName);
+ bool close();
+
+ bool filePathIsTemplate;
+ bool filePathWasTemplate;
+};
+
+QT_END_NAMESPACE
+
+#endif /* QTEMPORARYFILE_P_H */
+
diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp
index 70c6eed9da..8459cdd158 100644
--- a/src/corelib/io/qtextstream.cpp
+++ b/src/corelib/io/qtextstream.cpp
@@ -226,12 +226,10 @@ static const int QTEXTSTREAM_BUFFERSIZE = 16384;
*/
#include "qtextstream.h"
+#include "private/qtextstream_p.h"
#include "qbuffer.h"
#include "qfile.h"
#include "qnumeric.h"
-#ifndef QT_NO_TEXTCODEC
-#include "qtextcodec.h"
-#endif
#ifndef Q_OS_WINCE
#include <locale.h>
#endif
@@ -315,119 +313,7 @@ QT_END_NAMESPACE
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_QOBJECT
-class QDeviceClosedNotifier : public QObject
-{
- Q_OBJECT
-public:
- inline QDeviceClosedNotifier()
- { }
-
- inline void setupDevice(QTextStream *stream, QIODevice *device)
- {
- disconnect();
- if (device)
- connect(device, SIGNAL(aboutToClose()), this, SLOT(flushStream()));
- this->stream = stream;
- }
-
-public Q_SLOTS:
- inline void flushStream() { stream->flush(); }
-
-private:
- QTextStream *stream;
-};
-#endif
-
//-------------------------------------------------------------------
-class QTextStreamPrivate
-{
- Q_DECLARE_PUBLIC(QTextStream)
-public:
- QTextStreamPrivate(QTextStream *q_ptr);
- ~QTextStreamPrivate();
- void reset();
-
- // device
- QIODevice *device;
-#ifndef QT_NO_QOBJECT
- QDeviceClosedNotifier deviceClosedNotifier;
-#endif
- bool deleteDevice;
-
- // string
- QString *string;
- int stringOffset;
- QIODevice::OpenMode stringOpenMode;
-
-#ifndef QT_NO_TEXTCODEC
- // codec
- QTextCodec *codec;
- QTextCodec::ConverterState readConverterState;
- QTextCodec::ConverterState writeConverterState;
- QTextCodec::ConverterState *readConverterSavedState;
- bool autoDetectUnicode;
-#endif
-
- // i/o
- enum TokenDelimiter {
- Space,
- NotSpace,
- EndOfLine
- };
-
- QString read(int maxlen);
- bool scan(const QChar **ptr, int *tokenLength,
- int maxlen, TokenDelimiter delimiter);
- inline const QChar *readPtr() const;
- inline void consumeLastToken();
- inline void consume(int nchars);
- void saveConverterState(qint64 newPos);
- void restoreToSavedConverterState();
- int lastTokenSize;
-
- // Return value type for getNumber()
- enum NumberParsingStatus {
- npsOk,
- npsMissingDigit,
- npsInvalidPrefix
- };
-
- inline bool getChar(QChar *ch);
- inline void ungetChar(QChar ch);
- NumberParsingStatus getNumber(qulonglong *l);
- bool getReal(double *f);
-
- inline void write(const QString &data);
- inline void putString(const QString &ch, bool number = false);
- void putNumber(qulonglong number, bool negative);
-
- // buffers
- bool fillReadBuffer(qint64 maxBytes = -1);
- void resetReadBuffer();
- void flushWriteBuffer();
- QString writeBuffer;
- QString readBuffer;
- int readBufferOffset;
- int readConverterSavedStateOffset; //the offset between readBufferStartDevicePos and that start of the buffer
- qint64 readBufferStartDevicePos;
-
- // streaming parameters
- int realNumberPrecision;
- int integerBase;
- int fieldWidth;
- QChar padChar;
- QTextStream::FieldAlignment fieldAlignment;
- QTextStream::RealNumberNotation realNumberNotation;
- QTextStream::NumberFlags numberFlags;
-
- // status
- QTextStream::Status status;
-
- QLocale locale;
-
- QTextStream *q_ptr;
-};
/*!
\internal
@@ -481,10 +367,7 @@ static void copyConverterStateHelper(QTextCodec::ConverterState *dest,
}
#endif
-/*!
- \internal
-*/
-void QTextStreamPrivate::reset()
+void QTextStreamPrivate::Params::reset()
{
realNumberPrecision = 6;
integerBase = 0;
@@ -493,6 +376,14 @@ void QTextStreamPrivate::reset()
fieldAlignment = QTextStream::AlignRight;
realNumberNotation = QTextStream::SmartNotation;
numberFlags = 0;
+}
+
+/*!
+ \internal
+*/
+void QTextStreamPrivate::reset()
+{
+ params.reset();
device = 0;
deleteDevice = false;
@@ -985,15 +876,17 @@ inline void QTextStreamPrivate::putString(const QString &s, bool number)
QString tmp = s;
// handle padding
- int padSize = fieldWidth - s.size();
+ int padSize = params.fieldWidth - s.size();
if (padSize > 0) {
- QString pad(padSize, padChar);
- if (fieldAlignment == QTextStream::AlignLeft) {
- tmp.append(QString(padSize, padChar));
- } else if (fieldAlignment == QTextStream::AlignRight
- || fieldAlignment == QTextStream::AlignAccountingStyle) {
- tmp.prepend(QString(padSize, padChar));
- if (fieldAlignment == QTextStream::AlignAccountingStyle && number) {
+ QString pad(padSize, params.padChar);
+ switch (params.fieldAlignment) {
+ case QTextStream::AlignLeft:
+ tmp.append(pad);
+ break;
+ case QTextStream::AlignRight:
+ case QTextStream::AlignAccountingStyle:
+ tmp.prepend(pad);
+ if (params.fieldAlignment == QTextStream::AlignAccountingStyle && number) {
const QChar sign = s.size() > 0 ? s.at(0) : QChar();
if (sign == locale.negativeSign() || sign == locale.positiveSign()) {
QChar *data = tmp.data();
@@ -1001,9 +894,11 @@ inline void QTextStreamPrivate::putString(const QString &s, bool number)
data[0] = sign;
}
}
- } else if (fieldAlignment == QTextStream::AlignCenter) {
- tmp.prepend(QString(padSize/2, padChar));
- tmp.append(QString(padSize - padSize/2, padChar));
+ break;
+ case QTextStream::AlignCenter:
+ tmp.prepend(QString(padSize/2, params.padChar));
+ tmp.append(QString(padSize - padSize/2, params.padChar));
+ break;
}
}
@@ -1175,13 +1070,7 @@ void QTextStream::reset()
{
Q_D(QTextStream);
- d->realNumberPrecision = 6;
- d->integerBase = 0;
- d->fieldWidth = 0;
- d->padChar = QLatin1Char(' ');
- d->fieldAlignment = QTextStream::AlignRight;
- d->realNumberNotation = QTextStream::SmartNotation;
- d->numberFlags = 0;
+ d->params.reset();
}
/*!
@@ -1400,7 +1289,7 @@ QString *QTextStream::string() const
void QTextStream::setFieldAlignment(FieldAlignment mode)
{
Q_D(QTextStream);
- d->fieldAlignment = mode;
+ d->params.fieldAlignment = mode;
}
/*!
@@ -1411,7 +1300,7 @@ void QTextStream::setFieldAlignment(FieldAlignment mode)
QTextStream::FieldAlignment QTextStream::fieldAlignment() const
{
Q_D(const QTextStream);
- return d->fieldAlignment;
+ return d->params.fieldAlignment;
}
/*!
@@ -1432,7 +1321,7 @@ QTextStream::FieldAlignment QTextStream::fieldAlignment() const
void QTextStream::setPadChar(QChar ch)
{
Q_D(QTextStream);
- d->padChar = ch;
+ d->params.padChar = ch;
}
/*!
@@ -1443,7 +1332,7 @@ void QTextStream::setPadChar(QChar ch)
QChar QTextStream::padChar() const
{
Q_D(const QTextStream);
- return d->padChar;
+ return d->params.padChar;
}
/*!
@@ -1461,7 +1350,7 @@ QChar QTextStream::padChar() const
void QTextStream::setFieldWidth(int width)
{
Q_D(QTextStream);
- d->fieldWidth = width;
+ d->params.fieldWidth = width;
}
/*!
@@ -1472,7 +1361,7 @@ void QTextStream::setFieldWidth(int width)
int QTextStream::fieldWidth() const
{
Q_D(const QTextStream);
- return d->fieldWidth;
+ return d->params.fieldWidth;
}
/*!
@@ -1486,7 +1375,7 @@ int QTextStream::fieldWidth() const
void QTextStream::setNumberFlags(NumberFlags flags)
{
Q_D(QTextStream);
- d->numberFlags = flags;
+ d->params.numberFlags = flags;
}
/*!
@@ -1497,7 +1386,7 @@ void QTextStream::setNumberFlags(NumberFlags flags)
QTextStream::NumberFlags QTextStream::numberFlags() const
{
Q_D(const QTextStream);
- return d->numberFlags;
+ return d->params.numberFlags;
}
/*!
@@ -1513,7 +1402,7 @@ QTextStream::NumberFlags QTextStream::numberFlags() const
void QTextStream::setIntegerBase(int base)
{
Q_D(QTextStream);
- d->integerBase = base;
+ d->params.integerBase = base;
}
/*!
@@ -1525,7 +1414,7 @@ void QTextStream::setIntegerBase(int base)
int QTextStream::integerBase() const
{
Q_D(const QTextStream);
- return d->integerBase;
+ return d->params.integerBase;
}
/*!
@@ -1539,7 +1428,7 @@ int QTextStream::integerBase() const
void QTextStream::setRealNumberNotation(RealNumberNotation notation)
{
Q_D(QTextStream);
- d->realNumberNotation = notation;
+ d->params.realNumberNotation = notation;
}
/*!
@@ -1550,7 +1439,7 @@ void QTextStream::setRealNumberNotation(RealNumberNotation notation)
QTextStream::RealNumberNotation QTextStream::realNumberNotation() const
{
Q_D(const QTextStream);
- return d->realNumberNotation;
+ return d->params.realNumberNotation;
}
/*!
@@ -1567,10 +1456,10 @@ void QTextStream::setRealNumberPrecision(int precision)
Q_D(QTextStream);
if (precision < 0) {
qWarning("QTextStream::setRealNumberPrecision: Invalid precision (%d)", precision);
- d->realNumberPrecision = 6;
+ d->params.realNumberPrecision = 6;
return;
}
- d->realNumberPrecision = precision;
+ d->params.realNumberPrecision = precision;
}
/*!
@@ -1582,7 +1471,7 @@ void QTextStream::setRealNumberPrecision(int precision)
int QTextStream::realNumberPrecision() const
{
Q_D(const QTextStream);
- return d->realNumberPrecision;
+ return d->params.realNumberPrecision;
}
/*!
@@ -1722,7 +1611,7 @@ QTextStreamPrivate::NumberParsingStatus QTextStreamPrivate::getNumber(qulonglong
consumeLastToken();
// detect int encoding
- int base = integerBase;
+ int base = params.integerBase;
if (base == 0) {
QChar ch;
if (!getChar(&ch))
@@ -2300,6 +2189,7 @@ void QTextStreamPrivate::putNumber(qulonglong number, bool negative)
QString result;
unsigned flags = 0;
+ const QTextStream::NumberFlags numberFlags = params.numberFlags;
if (numberFlags & QTextStream::ShowBase)
flags |= QLocalePrivate::ShowBase;
if (numberFlags & QTextStream::ForceSign)
@@ -2315,7 +2205,7 @@ void QTextStreamPrivate::putNumber(qulonglong number, bool negative)
flags |= QLocalePrivate::ThousandsGroup;
const QLocalePrivate *dd = locale.d;
- int base = integerBase ? integerBase : 10;
+ int base = params.integerBase ? params.integerBase : 10;
if (negative && base == 10) {
result = dd->longLongToString(-static_cast<qlonglong>(number), -1,
base, -1, flags);
@@ -2330,7 +2220,7 @@ void QTextStreamPrivate::putNumber(qulonglong number, bool negative)
result = dd->unsLongLongToString(number, -1, base, -1, flags);
// workaround for backward compatibility - in octal form with
// ShowBase flag set zero should be written as '00'
- if (number == 0 && base == 8 && numberFlags & QTextStream::ShowBase
+ if (number == 0 && base == 8 && params.numberFlags & QTextStream::ShowBase
&& result == QLatin1String("0")) {
result.prepend(QLatin1Char('0'));
}
@@ -2524,7 +2414,7 @@ QTextStream &QTextStream::operator<<(double f)
flags |= QLocalePrivate::Alternate;
const QLocalePrivate *dd = d->locale.d;
- QString num = dd->doubleToString(f, d->realNumberPrecision, form, -1, flags);
+ QString num = dd->doubleToString(f, d->params.realNumberPrecision, form, -1, flags);
d->putString(num, true);
return *this;
}
@@ -2605,13 +2495,13 @@ QTextStream &QTextStream::operator<<(const void *ptr)
{
Q_D(QTextStream);
CHECK_VALID_STREAM(*this);
- int oldBase = d->integerBase;
- NumberFlags oldFlags = d->numberFlags;
- d->integerBase = 16;
- d->numberFlags |= ShowBase;
+ const int oldBase = d->params.integerBase;
+ const NumberFlags oldFlags = d->params.numberFlags;
+ d->params.integerBase = 16;
+ d->params.numberFlags |= ShowBase;
d->putNumber(reinterpret_cast<quintptr>(ptr), false);
- d->integerBase = oldBase;
- d->numberFlags = oldFlags;
+ d->params.integerBase = oldBase;
+ d->params.numberFlags = oldFlags;
return *this;
}
@@ -3130,7 +3020,3 @@ QLocale QTextStream::locale() const
QT_END_NAMESPACE
-#ifndef QT_NO_QOBJECT
-#include "qtextstream.moc"
-#endif
-
diff --git a/src/corelib/io/qtextstream.h b/src/corelib/io/qtextstream.h
index 3c25e0587a..0606b5f9ab 100644
--- a/src/corelib/io/qtextstream.h
+++ b/src/corelib/io/qtextstream.h
@@ -194,6 +194,7 @@ public:
private:
Q_DISABLE_COPY(QTextStream)
+ friend class QDebugStateSaverPrivate;
QScopedPointer<QTextStreamPrivate> d_ptr;
};
diff --git a/src/corelib/io/qtextstream_p.h b/src/corelib/io/qtextstream_p.h
new file mode 100644
index 0000000000..d5d5288426
--- /dev/null
+++ b/src/corelib/io/qtextstream_p.h
@@ -0,0 +1,185 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 QTEXTSTREAM_P_H
+#define QTEXTSTREAM_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qtextstream.h"
+#ifndef QT_NO_TEXTCODEC
+#include "qtextcodec.h"
+#endif
+
+QT_BEGIN_NAMESPACE
+
+#ifndef QT_NO_QOBJECT
+class QDeviceClosedNotifier : public QObject
+{
+ Q_OBJECT
+public:
+ inline QDeviceClosedNotifier()
+ { }
+
+ inline void setupDevice(QTextStream *stream, QIODevice *device)
+ {
+ disconnect();
+ if (device)
+ connect(device, SIGNAL(aboutToClose()), this, SLOT(flushStream()));
+ this->stream = stream;
+ }
+
+public Q_SLOTS:
+ inline void flushStream() { stream->flush(); }
+
+private:
+ QTextStream *stream;
+};
+#endif
+
+class QTextStreamPrivate
+{
+ Q_DECLARE_PUBLIC(QTextStream)
+public:
+ QTextStreamPrivate(QTextStream *q_ptr);
+ ~QTextStreamPrivate();
+ void reset();
+
+ // device
+ QIODevice *device;
+#ifndef QT_NO_QOBJECT
+ QDeviceClosedNotifier deviceClosedNotifier;
+#endif
+ bool deleteDevice;
+
+ // string
+ QString *string;
+ int stringOffset;
+ QIODevice::OpenMode stringOpenMode;
+
+#ifndef QT_NO_TEXTCODEC
+ // codec
+ QTextCodec *codec;
+ QTextCodec::ConverterState readConverterState;
+ QTextCodec::ConverterState writeConverterState;
+ QTextCodec::ConverterState *readConverterSavedState;
+ bool autoDetectUnicode;
+#endif
+
+ // i/o
+ enum TokenDelimiter {
+ Space,
+ NotSpace,
+ EndOfLine
+ };
+
+ QString read(int maxlen);
+ bool scan(const QChar **ptr, int *tokenLength,
+ int maxlen, TokenDelimiter delimiter);
+ inline const QChar *readPtr() const;
+ inline void consumeLastToken();
+ inline void consume(int nchars);
+ void saveConverterState(qint64 newPos);
+ void restoreToSavedConverterState();
+ int lastTokenSize;
+
+ // Return value type for getNumber()
+ enum NumberParsingStatus {
+ npsOk,
+ npsMissingDigit,
+ npsInvalidPrefix
+ };
+
+ inline bool getChar(QChar *ch);
+ inline void ungetChar(QChar ch);
+ NumberParsingStatus getNumber(qulonglong *l);
+ bool getReal(double *f);
+
+ inline void write(const QString &data);
+ inline void putString(const QString &ch, bool number = false);
+ void putNumber(qulonglong number, bool negative);
+
+ // buffers
+ bool fillReadBuffer(qint64 maxBytes = -1);
+ void resetReadBuffer();
+ void flushWriteBuffer();
+ QString writeBuffer;
+ QString readBuffer;
+ int readBufferOffset;
+ int readConverterSavedStateOffset; //the offset between readBufferStartDevicePos and that start of the buffer
+ qint64 readBufferStartDevicePos;
+
+ // streaming parameters
+ class Params
+ {
+ public:
+ void reset();
+
+ int realNumberPrecision;
+ int integerBase;
+ int fieldWidth;
+ QChar padChar;
+ QTextStream::FieldAlignment fieldAlignment;
+ QTextStream::RealNumberNotation realNumberNotation;
+ QTextStream::NumberFlags numberFlags;
+ };
+ Params params;
+
+ // status
+ QTextStream::Status status;
+
+ QLocale locale;
+
+ QTextStream *q_ptr;
+};
+
+QT_END_NAMESPACE
+
+#endif // QTEXTSTREAM_P_H
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 79981738f2..4882e3575f 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -3765,6 +3765,37 @@ QString QUrl::errorString() const
}
/*!
+ \since 5.1
+
+ Converts a list of \a urls into a list of QStrings, using toString(\a options).
+*/
+QStringList QUrl::toStringList(const QList<QUrl> &urls, FormattingOptions options)
+{
+ QStringList lst;
+ lst.reserve(urls.size());
+ foreach (const QUrl &url, urls)
+ lst.append(url.toString(options));
+ return lst;
+
+}
+
+/*!
+ \since 5.1
+
+ Converts a list of strings representing \a urls into a list of urls, using QUrl(str, \a mode).
+ Note that this means all strings must be urls, not for instance local paths.
+*/
+QList<QUrl> QUrl::fromStringList(const QStringList &urls, ParsingMode mode)
+{
+ QList<QUrl> lst;
+ lst.reserve(urls.size());
+ foreach (const QString &str, urls) {
+ lst.append(QUrl(str, mode));
+ }
+ return lst;
+}
+
+/*!
\typedef QUrl::DataPtr
\internal
*/
diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h
index bd35b44f17..17012d1b3f 100644
--- a/src/corelib/io/qurl.h
+++ b/src/corelib/io/qurl.h
@@ -322,6 +322,9 @@ public:
static QString fromAce(const QByteArray &);
static QByteArray toAce(const QString &);
static QStringList idnWhitelist();
+ static QStringList toStringList(const QList<QUrl> &uris, FormattingOptions options = FormattingOptions(PrettyDecoded));
+ static QList<QUrl> fromStringList(const QStringList &uris, ParsingMode mode = TolerantMode);
+
static void setIdnWhitelist(const QStringList &);
friend Q_CORE_EXPORT uint qHash(const QUrl &url, uint seed = 0) Q_DECL_NOTHROW;
diff --git a/src/corelib/itemmodels/qstringlistmodel.cpp b/src/corelib/itemmodels/qstringlistmodel.cpp
index 73fdd9eb97..3824c02be1 100644
--- a/src/corelib/itemmodels/qstringlistmodel.cpp
+++ b/src/corelib/itemmodels/qstringlistmodel.cpp
@@ -170,9 +170,9 @@ QVariant QStringListModel::data(const QModelIndex &index, int role) const
Qt::ItemFlags QStringListModel::flags(const QModelIndex &index) const
{
if (!index.isValid())
- return QAbstractItemModel::flags(index) | Qt::ItemIsDropEnabled;
+ return QAbstractListModel::flags(index) | Qt::ItemIsDropEnabled;
- return QAbstractItemModel::flags(index) | Qt::ItemIsEditable | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled;
+ return QAbstractListModel::flags(index) | Qt::ItemIsEditable | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled;
}
/*!
diff --git a/src/corelib/json/qjsondocument.cpp b/src/corelib/json/qjsondocument.cpp
index 550cc76b0d..bdb46528d3 100644
--- a/src/corelib/json/qjsondocument.cpp
+++ b/src/corelib/json/qjsondocument.cpp
@@ -303,15 +303,50 @@ QVariant QJsonDocument::toVariant() const
*/
QByteArray QJsonDocument::toJson() const
{
+ return toJson(Indented);
+}
+
+/*!
+ \enum QJsonDocument::JsonFormat
+
+ This value defines the format of the JSON byte array produced
+ when converting to a QJsonDocument using toJson().
+
+ \value Indented Defines human readable output as follows:
+ \code
+ {
+ "Array": [
+ true,
+ 999,
+ "string"
+ ],
+ "Key": "Value",
+ "null": null
+ }
+ \endcode
+
+ \value Compact Defines a compact output as follows:
+ \code
+ {"Array": [true,999,"string"],"Key": "Value","null": null}
+ \endcode
+ */
+
+/*!
+ Converts the QJsonDocument to a UTF-8 encoded JSON document in the provided \a format.
+
+ \sa fromJson(), JsonFormat
+ */
+QByteArray QJsonDocument::toJson(JsonFormat format) const
+{
if (!d)
return QByteArray();
QByteArray json;
if (d->header->root()->isArray())
- QJsonPrivate::Writer::arrayToJson(static_cast<QJsonPrivate::Array *>(d->header->root()), json, 0);
+ QJsonPrivate::Writer::arrayToJson(static_cast<QJsonPrivate::Array *>(d->header->root()), json, 0, (format == Compact));
else
- QJsonPrivate::Writer::objectToJson(static_cast<QJsonPrivate::Object *>(d->header->root()), json, 0);
+ QJsonPrivate::Writer::objectToJson(static_cast<QJsonPrivate::Object *>(d->header->root()), json, 0, (format == Compact));
return json;
}
diff --git a/src/corelib/json/qjsondocument.h b/src/corelib/json/qjsondocument.h
index 675ee75dbf..0bb21d89cf 100644
--- a/src/corelib/json/qjsondocument.h
+++ b/src/corelib/json/qjsondocument.h
@@ -109,8 +109,19 @@ public:
static QJsonDocument fromVariant(const QVariant &variant);
QVariant toVariant() const;
+ enum JsonFormat {
+ Indented,
+ Compact
+ };
+
static QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error = 0);
- QByteArray toJson() const;
+
+#ifdef Q_QDOC
+ QByteArray toJson(JsonFormat format = Indented) const;
+#else
+ QByteArray toJson() const; //### Merge in Qt6
+ QByteArray toJson(JsonFormat format) const;
+#endif
bool isEmpty() const;
bool isArray() const;
diff --git a/src/corelib/kernel/qcore_unix.cpp b/src/corelib/kernel/qcore_unix.cpp
index cc5479876d..5ab1d510ef 100644
--- a/src/corelib/kernel/qcore_unix.cpp
+++ b/src/corelib/kernel/qcore_unix.cpp
@@ -60,8 +60,8 @@
QT_BEGIN_NAMESPACE
-static inline bool time_update(struct timeval *tv, const struct timeval &start,
- const struct timeval &timeout)
+static inline bool time_update(struct timespec *tv, const struct timespec &start,
+ const struct timespec &timeout)
{
if (!QElapsedTimer::isMonotonic()) {
// we cannot recalculate the timeout without a monotonic clock as the time may have changed
@@ -69,13 +69,13 @@ static inline bool time_update(struct timeval *tv, const struct timeval &start,
}
// clock source is monotonic, so we can recalculate how much timeout is left
- struct timeval now = qt_gettime();
+ struct timespec now = qt_gettime();
*tv = timeout + start - now;
return tv->tv_sec >= 0;
}
int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
- const struct timeval *orig_timeout)
+ const struct timespec *orig_timeout)
{
if (!orig_timeout) {
// no timeout -> block forever
@@ -84,13 +84,13 @@ int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
return ret;
}
- timeval start = qt_gettime();
- timeval timeout = *orig_timeout;
+ timespec start = qt_gettime();
+ timespec timeout = *orig_timeout;
// loop and recalculate the timeout as needed
int ret;
forever {
- ret = ::select(nfds, fdread, fdwrite, fdexcept, &timeout);
+ ret = ::pselect(nfds, fdread, fdwrite, fdexcept, &timeout, 0);
if (ret != -1 || errno != EINTR)
return ret;
diff --git a/src/corelib/kernel/qcore_unix_p.h b/src/corelib/kernel/qcore_unix_p.h
index 6342b0362a..b68146cd6c 100644
--- a/src/corelib/kernel/qcore_unix_p.h
+++ b/src/corelib/kernel/qcore_unix_p.h
@@ -100,49 +100,49 @@ using namespace QT_PREPEND_NAMESPACE(QtLibcSupplement);
QT_BEGIN_NAMESPACE
-// Internal operator functions for timevals
-inline timeval &normalizedTimeval(timeval &t)
+// Internal operator functions for timespecs
+inline timespec &normalizedTimespec(timespec &t)
{
- while (t.tv_usec >= 1000000) {
+ while (t.tv_nsec >= 1000000000) {
++t.tv_sec;
- t.tv_usec -= 1000000;
+ t.tv_nsec -= 1000000000;
}
- while (t.tv_usec < 0) {
+ while (t.tv_nsec < 0) {
--t.tv_sec;
- t.tv_usec += 1000000;
+ t.tv_nsec += 1000000000;
}
return t;
}
-inline bool operator<(const timeval &t1, const timeval &t2)
-{ return t1.tv_sec < t2.tv_sec || (t1.tv_sec == t2.tv_sec && t1.tv_usec < t2.tv_usec); }
-inline bool operator==(const timeval &t1, const timeval &t2)
-{ return t1.tv_sec == t2.tv_sec && t1.tv_usec == t2.tv_usec; }
-inline timeval &operator+=(timeval &t1, const timeval &t2)
+inline bool operator<(const timespec &t1, const timespec &t2)
+{ return t1.tv_sec < t2.tv_sec || (t1.tv_sec == t2.tv_sec && t1.tv_nsec < t2.tv_nsec); }
+inline bool operator==(const timespec &t1, const timespec &t2)
+{ return t1.tv_sec == t2.tv_sec && t1.tv_nsec == t2.tv_nsec; }
+inline timespec &operator+=(timespec &t1, const timespec &t2)
{
t1.tv_sec += t2.tv_sec;
- t1.tv_usec += t2.tv_usec;
- return normalizedTimeval(t1);
+ t1.tv_nsec += t2.tv_nsec;
+ return normalizedTimespec(t1);
}
-inline timeval operator+(const timeval &t1, const timeval &t2)
+inline timespec operator+(const timespec &t1, const timespec &t2)
{
- timeval tmp;
+ timespec tmp;
tmp.tv_sec = t1.tv_sec + t2.tv_sec;
- tmp.tv_usec = t1.tv_usec + t2.tv_usec;
- return normalizedTimeval(tmp);
+ tmp.tv_nsec = t1.tv_nsec + t2.tv_nsec;
+ return normalizedTimespec(tmp);
}
-inline timeval operator-(const timeval &t1, const timeval &t2)
+inline timespec operator-(const timespec &t1, const timespec &t2)
{
- timeval tmp;
+ timespec tmp;
tmp.tv_sec = t1.tv_sec - (t2.tv_sec - 1);
- tmp.tv_usec = t1.tv_usec - (t2.tv_usec + 1000000);
- return normalizedTimeval(tmp);
+ tmp.tv_nsec = t1.tv_nsec - (t2.tv_nsec + 1000000000);
+ return normalizedTimespec(tmp);
}
-inline timeval operator*(const timeval &t1, int mul)
+inline timespec operator*(const timespec &t1, int mul)
{
- timeval tmp;
+ timespec tmp;
tmp.tv_sec = t1.tv_sec * mul;
- tmp.tv_usec = t1.tv_usec * mul;
- return normalizedTimeval(tmp);
+ tmp.tv_nsec = t1.tv_nsec * mul;
+ return normalizedTimespec(tmp);
}
inline void qt_ignore_sigpipe()
@@ -335,11 +335,11 @@ static inline pid_t qt_safe_waitpid(pid_t pid, int *status, int options)
#endif
// in qelapsedtimer_mac.cpp or qtimestamp_unix.cpp
-timeval qt_gettime() Q_DECL_NOTHROW;
+timespec qt_gettime() Q_DECL_NOTHROW;
void qt_nanosleep(timespec amount);
Q_CORE_EXPORT int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept,
- const struct timeval *tv);
+ const struct timespec *tv);
// according to X/OPEN we have to define semun ourselves
// we use prefix as on some systems sem.h will have it
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index ec808424f9..05688d3ba6 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -194,8 +194,32 @@ extern "C" void Q_CORE_EXPORT qt_startup_hook()
{
}
+typedef QList<QtStartUpFunction> QStartUpFuncList;
+Q_GLOBAL_STATIC(QStartUpFuncList, preRList)
typedef QList<QtCleanUpFunction> QVFuncList;
Q_GLOBAL_STATIC(QVFuncList, postRList)
+static QBasicMutex globalPreRoutinesMutex;
+
+/*!
+ \internal
+
+ Adds a global routine that will be called from the QCoreApplication
+ constructor. The public API is Q_COREAPP_STARTUP_FUNCTION.
+*/
+void qAddPreRoutine(QtStartUpFunction p)
+{
+ QStartUpFuncList *list = preRList();
+ if (!list)
+ return;
+ // Due to C++11 parallel dynamic initialization, this can be called
+ // from multiple threads.
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(&globalPreRoutinesMutex);
+#endif
+ if (QCoreApplication::instance())
+ p();
+ list->prepend(p); // in case QCoreApplication is re-created, see qt_call_pre_routines
+}
void qAddPostRoutine(QtCleanUpFunction p)
{
@@ -213,6 +237,21 @@ void qRemovePostRoutine(QtCleanUpFunction p)
list->removeAll(p);
}
+static void qt_call_pre_routines()
+{
+ QStartUpFuncList *list = preRList();
+ if (!list)
+ return;
+#ifndef QT_NO_THREAD
+ QMutexLocker locker(&globalPreRoutinesMutex);
+#endif
+ // Unlike qt_call_post_routines, we don't empty the list, because
+ // Q_COREAPP_STARTUP_FUNCTION is a macro, so the user expects
+ // the function to be executed every time QCoreApplication is created.
+ for (int i = 0; i < list->count(); ++i)
+ list->at(i)();
+}
+
void Q_CORE_EXPORT qt_call_post_routines()
{
QVFuncList *list = 0;
@@ -637,6 +676,7 @@ void QCoreApplication::init()
d->processCommandLineArguments();
+ qt_call_pre_routines();
qt_startup_hook();
}
@@ -2325,6 +2365,31 @@ void QCoreApplication::setEventDispatcher(QAbstractEventDispatcher *eventDispatc
}
/*!
+ \macro Q_COREAPP_STARTUP_FUNCTION(QtStartUpFunction ptr)
+ \since 5.1
+ \relates QCoreApplication
+ \reentrant
+
+ Adds a global function that will be called from the QCoreApplication
+ constructor. This macro is normally used to initialize libraries
+ for program-wide functionality, without requiring the application to
+ call into the library for initialization.
+
+ The function specified by \a ptr should take no arguments and should
+ return nothing. For example:
+
+ \snippet code/src_corelib_kernel_qcoreapplication.cpp 3
+
+ Note that the startup function will run at the end of the QCoreApplication constructor,
+ before any GUI initialization. If GUI code is required in the function,
+ use a timer (or a queued invocation) to perform the initialization later on,
+ from the event loop.
+
+ If QCoreApplication is deleted and another QCoreApplication is created,
+ the startup function will be invoked again.
+*/
+
+/*!
\fn void qAddPostRoutine(QtCleanUpFunction ptr)
\relates QCoreApplication
diff --git a/src/corelib/kernel/qcoreapplication.h b/src/corelib/kernel/qcoreapplication.h
index 0a87689ff3..5333ea22f4 100644
--- a/src/corelib/kernel/qcoreapplication.h
+++ b/src/corelib/kernel/qcoreapplication.h
@@ -220,12 +220,20 @@ public: \
{ return QCoreApplication::translate(#context, sourceText, disambiguation, n); } \
private:
+typedef void (*QtStartUpFunction)();
typedef void (*QtCleanUpFunction)();
+Q_CORE_EXPORT void qAddPreRoutine(QtStartUpFunction);
Q_CORE_EXPORT void qAddPostRoutine(QtCleanUpFunction);
Q_CORE_EXPORT void qRemovePostRoutine(QtCleanUpFunction);
Q_CORE_EXPORT QString qAppName(); // get application name
+#define Q_COREAPP_STARTUP_FUNCTION(AFUNC) \
+ static void AFUNC ## _ctor_function() { \
+ qAddPreRoutine(AFUNC); \
+ } \
+ Q_CONSTRUCTOR_FUNCTION(AFUNC ## _ctor_function)
+
#if defined(Q_OS_WIN) && !defined(QT_NO_DEBUG_STREAM)
Q_CORE_EXPORT QString decodeMSG(const MSG &);
Q_CORE_EXPORT QDebug operator<<(QDebug, const MSG &);
diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp
index c6680d6a80..75cd88c456 100644
--- a/src/corelib/kernel/qeventdispatcher_glib.cpp
+++ b/src/corelib/kernel/qeventdispatcher_glib.cpp
@@ -131,9 +131,9 @@ struct GTimerSource
static gboolean timerSourcePrepareHelper(GTimerSource *src, gint *timeout)
{
- timeval tv = { 0l, 0l };
+ timespec tv = { 0l, 0l };
if (!(src->processEventsFlags & QEventLoop::X11ExcludeTimers) && src->timerList.timerWait(tv))
- *timeout = (tv.tv_sec * 1000) + ((tv.tv_usec + 999) / 1000);
+ *timeout = (tv.tv_sec * 1000) + ((tv.tv_nsec + 999999) / 1000 / 1000);
else
*timeout = -1;
diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp
index acdc7635e8..c79fe89105 100644
--- a/src/corelib/kernel/qeventdispatcher_unix.cpp
+++ b/src/corelib/kernel/qeventdispatcher_unix.cpp
@@ -56,6 +56,10 @@
#include <stdio.h>
#include <stdlib.h>
+#ifndef QT_NO_EVENTFD
+# include <sys/eventfd.h>
+#endif
+
// VxWorks doesn't correctly set the _POSIX_... options
#if defined(Q_OS_VXWORKS)
# if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK <= 0)
@@ -109,7 +113,7 @@ QEventDispatcherUNIXPrivate::QEventDispatcherUNIXPrivate()
}
#elif defined(Q_OS_VXWORKS)
char name[20];
- qsnprintf(name, sizeof(name), "/pipe/qt_%08x", int(taskIdCurrent));
+ qsnprintf(name, sizeof(name), "/pipe/qt_%08x", int(taskIdSelf()));
// make sure there is no pipe with this name
pipeDevDelete(name, true);
@@ -127,6 +131,12 @@ QEventDispatcherUNIXPrivate::QEventDispatcherUNIXPrivate()
}
}
#else
+# ifndef QT_NO_EVENTFD
+ thread_pipe[0] = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
+ if (thread_pipe[0] != -1)
+ thread_pipe[1] = -1;
+ else // fall through the next "if"
+# endif
if (qt_safe_pipe(thread_pipe, O_NONBLOCK) == -1) {
perror("QEventDispatcherUNIXPrivate(): Unable to create thread pipe");
pipefail = true;
@@ -149,20 +159,21 @@ QEventDispatcherUNIXPrivate::~QEventDispatcherUNIXPrivate()
close(thread_pipe[0]);
char name[20];
- qsnprintf(name, sizeof(name), "/pipe/qt_%08x", int(taskIdCurrent));
+ qsnprintf(name, sizeof(name), "/pipe/qt_%08x", int(taskIdSelf()));
pipeDevDelete(name, true);
#else
// cleanup the common parts of the event loop
close(thread_pipe[0]);
- close(thread_pipe[1]);
+ if (thread_pipe[1] != -1)
+ close(thread_pipe[1]);
#endif
// cleanup timers
qDeleteAll(timerList);
}
-int QEventDispatcherUNIXPrivate::doSelect(QEventLoop::ProcessEventsFlags flags, timeval *timeout)
+int QEventDispatcherUNIXPrivate::doSelect(QEventLoop::ProcessEventsFlags flags, timespec *timeout)
{
Q_Q(QEventDispatcherUNIX);
@@ -279,9 +290,18 @@ int QEventDispatcherUNIXPrivate::processThreadWakeUp(int nsel)
::read(thread_pipe[0], c, sizeof(c));
::ioctl(thread_pipe[0], FIOFLUSH, 0);
#else
- char c[16];
- while (::read(thread_pipe[0], c, sizeof(c)) > 0)
- ;
+# ifndef QT_NO_EVENTFD
+ if (thread_pipe[1] == -1) {
+ // eventfd
+ eventfd_t value;
+ eventfd_read(thread_pipe[0], &value);
+ } else
+# endif
+ {
+ char c[16];
+ while (::read(thread_pipe[0], c, sizeof(c)) > 0) {
+ }
+ }
#endif
if (!wakeUps.testAndSetRelease(1, 0)) {
// hopefully, this is dead code
@@ -307,7 +327,7 @@ QEventDispatcherUNIX::~QEventDispatcherUNIX()
}
int QEventDispatcherUNIX::select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- timeval *timeout)
+ timespec *timeout)
{
return qt_safe_select(nfds, readfds, writefds, exceptfds, timeout);
}
@@ -580,8 +600,8 @@ bool QEventDispatcherUNIX::processEvents(QEventLoop::ProcessEventsFlags flags)
if (!d->interrupt) {
// return the maximum time we can wait for an event.
- timeval *tm = 0;
- timeval wait_tm = { 0l, 0l };
+ timespec *tm = 0;
+ timespec wait_tm = { 0l, 0l };
if (!(flags & QEventLoop::X11ExcludeTimers)) {
if (d->timerList.timerWait(wait_tm))
tm = &wait_tm;
@@ -593,7 +613,7 @@ bool QEventDispatcherUNIX::processEvents(QEventLoop::ProcessEventsFlags flags)
// no time to wait
tm->tv_sec = 0l;
- tm->tv_usec = 0l;
+ tm->tv_nsec = 0l;
}
nevents = d->doSelect(flags, tm);
@@ -630,6 +650,15 @@ void QEventDispatcherUNIX::wakeUp()
{
Q_D(QEventDispatcherUNIX);
if (d->wakeUps.testAndSetAcquire(0, 1)) {
+#ifndef QT_NO_EVENTFD
+ if (d->thread_pipe[1] == -1) {
+ // eventfd
+ eventfd_t value = 1;
+ int ret;
+ EINTR_LOOP(ret, eventfd_write(d->thread_pipe[0], value));
+ return;
+ }
+#endif
char c = 0;
qt_safe_write( d->thread_pipe[1], &c, 1 );
}
diff --git a/src/corelib/kernel/qeventdispatcher_unix_p.h b/src/corelib/kernel/qeventdispatcher_unix_p.h
index afebe2fb7e..db89b7c444 100644
--- a/src/corelib/kernel/qeventdispatcher_unix_p.h
+++ b/src/corelib/kernel/qeventdispatcher_unix_p.h
@@ -61,9 +61,7 @@
#include "QtCore/qvarlengtharray.h"
#include "private/qtimerinfo_unix_p.h"
-#if defined(Q_OS_VXWORKS)
-# include <sys/times.h>
-#else
+#if !defined(Q_OS_VXWORKS)
# include <sys/time.h>
# if (!defined(Q_OS_HPUX) || defined(__ia64)) && !defined(Q_OS_NACL)
# include <sys/select.h>
@@ -132,7 +130,7 @@ protected:
virtual int select(int nfds,
fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- timeval *timeout);
+ timespec *timeout);
};
class Q_CORE_EXPORT QEventDispatcherUNIXPrivate : public QAbstractEventDispatcherPrivate
@@ -143,11 +141,14 @@ public:
QEventDispatcherUNIXPrivate();
~QEventDispatcherUNIXPrivate();
- int doSelect(QEventLoop::ProcessEventsFlags flags, timeval *timeout);
+ int doSelect(QEventLoop::ProcessEventsFlags flags, timespec *timeout);
virtual int initThreadWakeUp();
virtual int processThreadWakeUp(int nsel);
bool mainThread;
+
+ // note for eventfd(7) support:
+ // if thread_pipe[1] is -1, then eventfd(7) is in use and is stored in thread_pipe[0]
int thread_pipe[2];
// highest fd for all socket notifiers
diff --git a/src/corelib/kernel/qfunctions_vxworks.cpp b/src/corelib/kernel/qfunctions_vxworks.cpp
index 2174588757..8d25ad6a8d 100644
--- a/src/corelib/kernel/qfunctions_vxworks.cpp
+++ b/src/corelib/kernel/qfunctions_vxworks.cpp
@@ -46,7 +46,9 @@
#include "qplatformdefs.h"
#include "qfunctions_vxworks.h"
+#if defined(_WRS_KERNEL)
#include <vmLib.h>
+#endif
#include <selectLib.h>
#include <ioLib.h>
@@ -92,7 +94,7 @@ int usleep(unsigned int usec)
// gettimeofday() is declared, but is missing from the library
// It IS however defined in the Curtis-Wright X11 libraries, so
// we have to make the symbol 'weak'
-#if defined(Q_CC_DIAB)
+#if defined(Q_CC_DIAB) && !defined(VXWORKS_DKM) && !defined(VXWORKS_RTP)
# pragma weak gettimeofday
#endif
int gettimeofday(struct timeval *tv, void /*struct timezone*/ *)
@@ -118,7 +120,11 @@ int gettimeofday(struct timeval *tv, void /*struct timezone*/ *)
// neither getpagesize() or sysconf(_SC_PAGESIZE) are available
int getpagesize()
{
+#if defined(_WRS_KERNEL)
return vmPageSizeGet();
+#else
+ return sysconf(_SC_PAGESIZE);
+#endif
}
// symlinks are not supported (lstat is now just a call to stat - see qplatformdefs.h)
diff --git a/src/corelib/kernel/qfunctions_vxworks.h b/src/corelib/kernel/qfunctions_vxworks.h
index 6339903cff..6776a6a721 100644
--- a/src/corelib/kernel/qfunctions_vxworks.h
+++ b/src/corelib/kernel/qfunctions_vxworks.h
@@ -52,7 +52,11 @@
#include <errno.h>
#include <sys/types.h>
#include <sys/ioctl.h>
+#if defined(_WRS_KERNEL)
#include <sys/times.h>
+#else
+#include <sys/time.h>
+#endif
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/wait.h>
@@ -61,6 +65,44 @@
#include <net/if.h>
#endif
+// VxWorks has public header mbuf.h which defines following variables for DKM.
+// Let's undef those to because they overlap with Qt variable names-
+// File mbuf.h is included in headers <netinet/in.h> <net/if.h>, so make sure
+// that those are included before undef's.
+#if defined(mbuf)
+# undef mbuf
+#endif
+#if defined(m_data)
+# undef m_data
+#endif
+#if defined(m_type)
+# undef m_type
+#endif
+#if defined(m_next)
+# undef m_next
+#endif
+#if defined(m_len)
+# undef m_len
+#endif
+#if defined(m_flags)
+# undef m_flags
+#endif
+#if defined(m_hdr)
+# undef m_hdr
+#endif
+#if defined(m_ext)
+# undef m_ext
+#endif
+#if defined(m_act)
+# undef m_act
+#endif
+#if defined(m_nextpkt)
+# undef m_nextpkt
+#endif
+#if defined(m_pkthdr)
+# undef m_pkthdr
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -100,12 +142,16 @@ int rand_r(unsigned int * /*seedp*/);
// no usleep() support
int usleep(unsigned int);
+#if defined(VXWORKS_DKM) || defined(VXWORKS_RTP)
+int gettimeofday(struct timeval *, void *);
+#else
// gettimeofday() is declared, but is missing from the library.
// It IS however defined in the Curtis-Wright X11 libraries, so
// we have to make the symbol 'weak'
int gettimeofday(struct timeval *tv, void /*struct timezone*/ *) __attribute__((weak));
+#endif
-// neither getpagesize() or sysconf(_SC_PAGESIZE) are available
+// getpagesize() not available
int getpagesize();
// symlinks are not supported (lstat is now just a call to stat - see qplatformdefs.h)
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index abf220ebd4..b9f7462b12 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -959,11 +959,11 @@ bool QMetaType::save(QDataStream &stream, int type, const void *data)
break;
#endif
#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
case QMetaType::QRegularExpression:
stream << *static_cast<const NS(QRegularExpression)*>(data);
break;
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
case QMetaType::QEasingCurve:
stream << *static_cast<const NS(QEasingCurve)*>(data);
break;
@@ -1182,11 +1182,11 @@ bool QMetaType::load(QDataStream &stream, int type, void *data)
break;
#endif
#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
case QMetaType::QRegularExpression:
stream >> *static_cast< NS(QRegularExpression)*>(data);
break;
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
case QMetaType::QEasingCurve:
stream >> *static_cast< NS(QEasingCurve)*>(data);
break;
diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h
index 39bdd5e3bb..95b9e2e394 100644
--- a/src/corelib/kernel/qmetatype_p.h
+++ b/src/corelib/kernel/qmetatype_p.h
@@ -221,7 +221,7 @@ template<> struct TypeDefinition<QPointF> { static const bool IsAvailable = fals
#ifdef QT_NO_REGEXP
template<> struct TypeDefinition<QRegExp> { static const bool IsAvailable = false; };
#endif
-#if defined(QT_BOOTSTRAPPED) || defined(QT_NO_REGEXP)
+#if defined(QT_BOOTSTRAPPED) || defined(QT_NO_REGULAREXPRESSION)
template<> struct TypeDefinition<QRegularExpression> { static const bool IsAvailable = false; };
#endif
#ifdef QT_NO_SHORTCUT
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index d125946781..69e2c6e1a2 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -1690,7 +1690,7 @@ void qt_qFindChildren_helper(const QObject *parent, const QRegExp &re,
}
#endif // QT_NO_REGEXP
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
/*!
\internal
*/
@@ -1712,7 +1712,7 @@ void qt_qFindChildren_helper(const QObject *parent, const QRegularExpression &re
qt_qFindChildren_helper(obj, re, mo, list, options);
}
}
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
/*!
\internal
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h
index a2d7dcd7ef..a7543e80ee 100644
--- a/src/corelib/kernel/qobject.h
+++ b/src/corelib/kernel/qobject.h
@@ -73,7 +73,7 @@ class QWidget;
#ifndef QT_NO_REGEXP
class QRegExp;
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
class QRegularExpression;
#endif
#ifndef QT_NO_USERDATA
@@ -179,7 +179,7 @@ public:
}
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
template<typename T>
inline QList<T> findChildren(const QRegularExpression &re, Qt::FindChildOptions options = Qt::FindChildrenRecursively) const
{
diff --git a/src/corelib/kernel/qsharedmemory_unix.cpp b/src/corelib/kernel/qsharedmemory_unix.cpp
index 7f13e3b1a2..fdd73657a9 100644
--- a/src/corelib/kernel/qsharedmemory_unix.cpp
+++ b/src/corelib/kernel/qsharedmemory_unix.cpp
@@ -151,9 +151,6 @@ key_t QSharedMemoryPrivate::handle()
*/
int QSharedMemoryPrivate::createUnixKeyFile(const QString &fileName)
{
- if (QFile::exists(fileName))
- return 0;
-
int fd = qt_safe_open(QFile::encodeName(fileName).constData(),
O_EXCL | O_CREAT | O_RDWR, 0640);
if (-1 == fd) {
diff --git a/src/corelib/kernel/qtimerinfo_unix.cpp b/src/corelib/kernel/qtimerinfo_unix.cpp
index 0eee425cf9..a81fa83f29 100644
--- a/src/corelib/kernel/qtimerinfo_unix.cpp
+++ b/src/corelib/kernel/qtimerinfo_unix.cpp
@@ -77,7 +77,7 @@ QTimerInfoList::QTimerInfoList()
msPerTick = 1000/ticksPerSecond;
} else {
// detected monotonic timers
- previousTime.tv_sec = previousTime.tv_usec = 0;
+ previousTime.tv_sec = previousTime.tv_nsec = 0;
previousTicks = 0;
ticksPerSecond = 0;
msPerTick = 0;
@@ -87,7 +87,7 @@ QTimerInfoList::QTimerInfoList()
firstTimerInfo = 0;
}
-timeval QTimerInfoList::updateCurrentTime()
+timespec QTimerInfoList::updateCurrentTime()
{
return (currentTime = qt_gettime());
}
@@ -95,17 +95,17 @@ timeval QTimerInfoList::updateCurrentTime()
#if ((_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC) && !defined(Q_OS_INTEGRITY)) || defined(QT_BOOTSTRAPPED)
template <>
-timeval qAbs(const timeval &t)
+timespec qAbs(const timespec &t)
{
- timeval tmp = t;
+ timespec tmp = t;
if (tmp.tv_sec < 0) {
tmp.tv_sec = -tmp.tv_sec - 1;
- tmp.tv_usec -= 1000000;
+ tmp.tv_nsec -= 1000000000;
}
- if (tmp.tv_sec == 0 && tmp.tv_usec < 0) {
- tmp.tv_usec = -tmp.tv_usec;
+ if (tmp.tv_sec == 0 && tmp.tv_nsec < 0) {
+ tmp.tv_nsec = -tmp.tv_nsec;
}
- return normalizedTimeval(tmp);
+ return normalizedTimespec(tmp);
}
/*
@@ -115,7 +115,7 @@ timeval qAbs(const timeval &t)
If /a delta is nonzero, delta is set to our best guess at how much the system clock was changed.
*/
-bool QTimerInfoList::timeChanged(timeval *delta)
+bool QTimerInfoList::timeChanged(timespec *delta)
{
#ifdef Q_OS_NACL
Q_UNUSED(delta)
@@ -125,13 +125,13 @@ bool QTimerInfoList::timeChanged(timeval *delta)
clock_t currentTicks = times(&unused);
clock_t elapsedTicks = currentTicks - previousTicks;
- timeval elapsedTime = currentTime - previousTime;
+ timespec elapsedTime = currentTime - previousTime;
- timeval elapsedTimeTicks;
+ timespec elapsedTimeTicks;
elapsedTimeTicks.tv_sec = elapsedTicks / ticksPerSecond;
- elapsedTimeTicks.tv_usec = (((elapsedTicks * 1000) / ticksPerSecond) % 1000) * 1000;
+ elapsedTimeTicks.tv_nsec = (((elapsedTicks * 1000) / ticksPerSecond) % 1000) * 1000 * 1000;
- timeval dummy;
+ timespec dummy;
if (!delta)
delta = &dummy;
*delta = elapsedTime - elapsedTimeTicks;
@@ -141,16 +141,16 @@ bool QTimerInfoList::timeChanged(timeval *delta)
// If tick drift is more than 10% off compared to realtime, we assume that the clock has
// been set. Of course, we have to allow for the tick granularity as well.
- timeval tickGranularity;
+ timespec tickGranularity;
tickGranularity.tv_sec = 0;
- tickGranularity.tv_usec = msPerTick * 1000;
+ tickGranularity.tv_nsec = msPerTick * 1000 * 1000;
return elapsedTimeTicks < ((qAbs(*delta) - tickGranularity) * 10);
}
/*
repair broken timer
*/
-void QTimerInfoList::timerRepair(const timeval &diff)
+void QTimerInfoList::timerRepair(const timespec &diff)
{
// repair all timers
for (int i = 0; i < size(); ++i) {
@@ -163,7 +163,7 @@ void QTimerInfoList::repairTimersIfNeeded()
{
if (QElapsedTimer::isMonotonic())
return;
- timeval delta;
+ timespec delta;
if (timeChanged(&delta))
timerRepair(delta);
}
@@ -190,27 +190,27 @@ void QTimerInfoList::timerInsert(QTimerInfo *ti)
insert(index+1, ti);
}
-inline timeval &operator+=(timeval &t1, int ms)
+inline timespec &operator+=(timespec &t1, int ms)
{
t1.tv_sec += ms / 1000;
- t1.tv_usec += ms % 1000 * 1000;
- return normalizedTimeval(t1);
+ t1.tv_nsec += ms % 1000 * 1000 * 1000;
+ return normalizedTimespec(t1);
}
-inline timeval operator+(const timeval &t1, int ms)
+inline timespec operator+(const timespec &t1, int ms)
{
- timeval t2 = t1;
+ timespec t2 = t1;
return t2 += ms;
}
-static timeval roundToMillisecond(timeval val)
+static timespec roundToMillisecond(timespec val)
{
// always round up
// worst case scenario is that the first trigger of a 1-ms timer is 0.999 ms late
- int us = val.tv_usec % 1000;
- val.tv_usec += 1000 - us;
- return normalizedTimeval(val);
+ int ns = val.tv_nsec % (1000 * 1000);
+ val.tv_nsec += 1000 * 1000 - ns;
+ return normalizedTimespec(val);
}
#ifdef QTIMERINFO_DEBUG
@@ -227,7 +227,7 @@ QDebug operator<<(QDebug s, Qt::TimerType t)
}
#endif
-static void calculateCoarseTimerTimeout(QTimerInfo *t, timeval currentTime)
+static void calculateCoarseTimerTimeout(QTimerInfo *t, timespec currentTime)
{
// The coarse timer works like this:
// - interval under 40 ms: round to even
@@ -246,7 +246,7 @@ static void calculateCoarseTimerTimeout(QTimerInfo *t, timeval currentTime)
// The objective is to make most timers wake up at the same time, thereby reducing CPU wakeups.
register uint interval = uint(t->interval);
- register uint msec = uint(t->timeout.tv_usec) / 1000;
+ register uint msec = uint(t->timeout.tv_nsec) / 1000 / 1000;
Q_ASSERT(interval >= 20);
// Calculate how much we can round and still keep within 5% error
@@ -328,16 +328,16 @@ static void calculateCoarseTimerTimeout(QTimerInfo *t, timeval currentTime)
recalculate:
if (msec == 1000u) {
++t->timeout.tv_sec;
- t->timeout.tv_usec = 0;
+ t->timeout.tv_nsec = 0;
} else {
- t->timeout.tv_usec = msec * 1000;
+ t->timeout.tv_nsec = msec * 1000 * 1000;
}
if (t->timeout < currentTime)
t->timeout += interval;
}
-static void calculateNextTimeout(QTimerInfo *t, timeval currentTime)
+static void calculateNextTimeout(QTimerInfo *t, timespec currentTime)
{
switch (t->timerType) {
case Qt::PreciseTimer:
@@ -383,9 +383,9 @@ static void calculateNextTimeout(QTimerInfo *t, timeval currentTime)
Returns the time to wait for the next timer, or null if no timers
are waiting.
*/
-bool QTimerInfoList::timerWait(timeval &tm)
+bool QTimerInfoList::timerWait(timespec &tm)
{
- timeval currentTime = updateCurrentTime();
+ timespec currentTime = updateCurrentTime();
repairTimersIfNeeded();
// Find first waiting timer not already active
@@ -406,7 +406,7 @@ bool QTimerInfoList::timerWait(timeval &tm)
} else {
// no time to wait
tm.tv_sec = 0;
- tm.tv_usec = 0;
+ tm.tv_nsec = 0;
}
return true;
@@ -419,9 +419,9 @@ bool QTimerInfoList::timerWait(timeval &tm)
*/
int QTimerInfoList::timerRemainingTime(int timerId)
{
- timeval currentTime = updateCurrentTime();
+ timespec currentTime = updateCurrentTime();
repairTimersIfNeeded();
- timeval tm = {0, 0};
+ timespec tm = {0, 0};
for (int i = 0; i < count(); ++i) {
register QTimerInfo *t = at(i);
@@ -429,7 +429,7 @@ int QTimerInfoList::timerRemainingTime(int timerId)
if (currentTime < t->timeout) {
// time to wait
tm = roundToMillisecond(t->timeout - currentTime);
- return tm.tv_sec*1000 + tm.tv_usec/1000;
+ return tm.tv_sec*1000 + tm.tv_nsec/1000/1000;
} else {
return 0;
}
@@ -452,7 +452,7 @@ void QTimerInfoList::registerTimer(int timerId, int interval, Qt::TimerType time
t->obj = object;
t->activateRef = 0;
- timeval expected = updateCurrentTime() + interval;
+ timespec expected = updateCurrentTime() + interval;
switch (timerType) {
case Qt::PreciseTimer:
@@ -487,10 +487,10 @@ void QTimerInfoList::registerTimer(int timerId, int interval, Qt::TimerType time
t->interval += 1;
t->interval >>= 1;
t->timeout.tv_sec = currentTime.tv_sec + t->interval;
- t->timeout.tv_usec = 0;
+ t->timeout.tv_nsec = 0;
// if we're past the half-second mark, increase the timeout again
- if (currentTime.tv_usec > 500*1000)
+ if (currentTime.tv_nsec > 500*1000*1000)
++t->timeout.tv_sec;
}
@@ -574,7 +574,7 @@ int QTimerInfoList::activateTimers()
int n_act = 0, maxCount = 0;
firstTimerInfo = 0;
- timeval currentTime = updateCurrentTime();
+ timespec currentTime = updateCurrentTime();
// qDebug() << "Thread" << QThread::currentThreadId() << "woken up at" << currentTime;
repairTimersIfNeeded();
diff --git a/src/corelib/kernel/qtimerinfo_unix_p.h b/src/corelib/kernel/qtimerinfo_unix_p.h
index 549062bd1f..ec7560429b 100644
--- a/src/corelib/kernel/qtimerinfo_unix_p.h
+++ b/src/corelib/kernel/qtimerinfo_unix_p.h
@@ -66,7 +66,7 @@ struct QTimerInfo {
int id; // - timer identifier
int interval; // - timer interval in milliseconds
Qt::TimerType timerType; // - timer type
- timeval timeout; // - when to actually fire
+ timespec timeout; // - when to actually fire
QObject *obj; // - object to receive event
QTimerInfo **activateRef; // - ref from activateTimers
@@ -80,13 +80,13 @@ struct QTimerInfo {
class Q_CORE_EXPORT QTimerInfoList : public QList<QTimerInfo*>
{
#if ((_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC)) || defined(QT_BOOTSTRAPPED)
- timeval previousTime;
+ timespec previousTime;
clock_t previousTicks;
int ticksPerSecond;
int msPerTick;
- bool timeChanged(timeval *delta);
- void timerRepair(const timeval &);
+ bool timeChanged(timespec *delta);
+ void timerRepair(const timespec &);
#endif
// state variables used by activateTimers()
@@ -95,13 +95,13 @@ class Q_CORE_EXPORT QTimerInfoList : public QList<QTimerInfo*>
public:
QTimerInfoList();
- timeval currentTime;
- timeval updateCurrentTime();
+ timespec currentTime;
+ timespec updateCurrentTime();
// must call updateCurrentTime() first!
void repairTimersIfNeeded();
- bool timerWait(timeval &);
+ bool timerWait(timespec &);
void timerInsert(QTimerInfo *);
int timerRemainingTime(int timerId);
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index 60ab5506a4..8cc26c5ff6 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -1529,10 +1529,13 @@ QVariant::QVariant(const QLocale &l)
QVariant::QVariant(const QRegExp &regExp)
: d(RegExp)
{ v_construct<QRegExp>(&d, regExp); }
+#endif // QT_NO_REGEXP
#ifndef QT_BOOTSTRAPPED
+#ifndef QT_NO_REGULAREXPRESSION
QVariant::QVariant(const QRegularExpression &re)
: d(RegularExpression)
{ v_construct<QRegularExpression>(&d, re); }
+#endif
QVariant::QVariant(const QUuid &uuid)
: d(Uuid)
{ v_construct<QUuid>(&d, uuid); }
@@ -1552,7 +1555,6 @@ QVariant::QVariant(const QJsonDocument &jsonDocument)
: d(QMetaType::QJsonDocument)
{ v_construct<QJsonDocument>(&d, jsonDocument); }
#endif // QT_BOOTSTRAPPED
-#endif // QT_NO_REGEXP
/*!
Returns the storage type of the value stored in the variant.
@@ -2214,6 +2216,7 @@ QRegExp QVariant::toRegExp() const
}
#endif
+#ifndef QT_BOOTSTRAPPED
/*!
\fn QRegularExpression QVariant::toRegularExpression() const
\since 5.0
@@ -2223,13 +2226,12 @@ QRegExp QVariant::toRegExp() const
\sa canConvert(), convert()
*/
-#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
QRegularExpression QVariant::toRegularExpression() const
{
return qVariantToHelper<QRegularExpression>(d, handlerManager);
}
-#endif
+#endif // QT_NO_REGULAREXPRESSION
/*!
\since 5.0
diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h
index d21f48f98c..166a5cad6f 100644
--- a/src/corelib/kernel/qvariant.h
+++ b/src/corelib/kernel/qvariant.h
@@ -76,8 +76,10 @@ class QRect;
class QRectF;
#ifndef QT_NO_REGEXP
class QRegExp;
-class QRegularExpression;
#endif // QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
+class QRegularExpression;
+#endif // QT_NO_REGULAREXPRESSION
class QTextFormat;
class QTextLength;
class QUrl;
@@ -240,11 +242,11 @@ class Q_CORE_EXPORT QVariant
QVariant(const QLocale &locale);
#ifndef QT_NO_REGEXP
QVariant(const QRegExp &regExp);
-#ifndef QT_BOOTSRAPPED
- QVariant(const QRegularExpression &re);
-#endif // QT_BOOTSTRAPPED
#endif // QT_NO_REGEXP
#ifndef QT_BOOTSTRAPPED
+#ifndef QT_NO_REGULAREXPRESSION
+ QVariant(const QRegularExpression &re);
+#endif // QT_NO_REGULAREXPRESSION
QVariant(const QUrl &url);
QVariant(const QEasingCurve &easing);
QVariant(const QUuid &uuid);
@@ -253,7 +255,7 @@ class Q_CORE_EXPORT QVariant
QVariant(const QJsonObject &jsonObject);
QVariant(const QJsonArray &jsonArray);
QVariant(const QJsonDocument &jsonDocument);
-#endif
+#endif // QT_BOOTSTRAPPED
QVariant& operator=(const QVariant &other);
#ifdef Q_COMPILER_RVALUE_REFS
@@ -313,11 +315,11 @@ class Q_CORE_EXPORT QVariant
QLocale toLocale() const;
#ifndef QT_NO_REGEXP
QRegExp toRegExp() const;
-#ifndef QT_BOOTSTRAPPED
- QRegularExpression toRegularExpression() const;
-#endif // QT_BOOTSTRAPPED
#endif // QT_NO_REGEXP
#ifndef QT_BOOTSTRAPPED
+#ifndef QT_NO_REGULAREXPRESSION
+ QRegularExpression toRegularExpression() const;
+#endif // QT_NO_REGULAREXPRESSION
QUrl toUrl() const;
QEasingCurve toEasingCurve() const;
QUuid toUuid() const;
@@ -326,7 +328,7 @@ class Q_CORE_EXPORT QVariant
QJsonObject toJsonObject() const;
QJsonArray toJsonArray() const;
QJsonDocument toJsonDocument() const;
-#endif
+#endif // QT_BOOTSTRAPPED
#ifndef QT_NO_DATASTREAM
void load(QDataStream &ds);
diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
index 5044d09e9b..2aed877e6b 100644
--- a/src/corelib/plugin/qlibrary_unix.cpp
+++ b/src/corelib/plugin/qlibrary_unix.cpp
@@ -56,7 +56,7 @@
#include <string.h>
#endif
-#if defined(Q_OS_VXWORKS) || defined (Q_OS_NACL)
+#if (defined(Q_OS_VXWORKS) && !defined(VXWORKS_RTP)) || defined (Q_OS_NACL)
#define QT_NO_DYNAMIC_LIBRARY
#endif
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
index 8abf1d06ef..253f3c79e7 100644
--- a/src/corelib/thread/qthread_unix.cpp
+++ b/src/corelib/thread/qthread_unix.cpp
@@ -488,8 +488,20 @@ static bool calculateUnixPriority(int priority, int *sched_policy, int *sched_pr
#endif
const int highestPriority = QThread::TimeCriticalPriority;
- int prio_min = sched_get_priority_min(*sched_policy);
- int prio_max = sched_get_priority_max(*sched_policy);
+ int prio_min;
+ int prio_max;
+#if defined(Q_OS_VXWORKS) && defined(VXWORKS_DKM)
+ // for other scheduling policies than SCHED_RR or SCHED_FIFO
+ prio_min = SCHED_FIFO_LOW_PRI;
+ prio_max = SCHED_FIFO_HIGH_PRI;
+
+ if ((*sched_policy == SCHED_RR) || (*sched_policy == SCHED_FIFO))
+#endif
+ {
+ prio_min = sched_get_priority_min(*sched_policy);
+ prio_max = sched_get_priority_max(*sched_policy);
+ }
+
if (prio_min == -1 || prio_max == -1)
return false;
diff --git a/src/corelib/tools/qchar.cpp b/src/corelib/tools/qchar.cpp
index 6fdb3215b0..8545276dac 100644
--- a/src/corelib/tools/qchar.cpp
+++ b/src/corelib/tools/qchar.cpp
@@ -263,6 +263,132 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \enum QChar::Script
+ \since 5.1
+
+ This enum type defines the Unicode script property values.
+
+ For details about the Unicode script property values see
+ \l{http://www.unicode.org/reports/tr24/}{Unicode Standard Annex #24}.
+
+ In order to conform to C/C++ naming conventions "Script_" is prepended
+ to the codes used in the Unicode Standard.
+
+ \value Script_Unknown For unassigned, private-use, noncharacter, and surrogate code points.
+ \value Script_Inherited For characters that may be used with multiple scripts
+ and that inherit their script from the preceding characters.
+ These include nonspacing marks, enclosing marks,
+ and zero width joiner/non-joiner characters.
+ \value Script_Common For characters that may be used with multiple scripts
+ and that do not inherit their script from the preceding characters.
+
+ \value Script_Latin
+ \value Script_Greek
+ \value Script_Cyrillic
+ \value Script_Armenian
+ \value Script_Hebrew
+ \value Script_Arabic
+ \value Script_Syriac
+ \value Script_Thaana
+ \value Script_Devanagari
+ \value Script_Bengali
+ \value Script_Gurmukhi
+ \value Script_Gujarati
+ \value Script_Oriya
+ \value Script_Tamil
+ \value Script_Telugu
+ \value Script_Kannada
+ \value Script_Malayalam
+ \value Script_Sinhala
+ \value Script_Thai
+ \value Script_Lao
+ \value Script_Tibetan
+ \value Script_Myanmar
+ \value Script_Georgian
+ \value Script_Hangul
+ \value Script_Ethiopic
+ \value Script_Cherokee
+ \value Script_CanadianAboriginal
+ \value Script_Ogham
+ \value Script_Runic
+ \value Script_Khmer
+ \value Script_Mongolian
+ \value Script_Hiragana
+ \value Script_Katakana
+ \value Script_Bopomofo
+ \value Script_Han
+ \value Script_Yi
+ \value Script_OldItalic
+ \value Script_Gothic
+ \value Script_Deseret
+ \value Script_Tagalog
+ \value Script_Hanunoo
+ \value Script_Buhid
+ \value Script_Tagbanwa
+ \value Script_Coptic
+ \value Script_Limbu
+ \value Script_TaiLe
+ \value Script_LinearB
+ \value Script_Ugaritic
+ \value Script_Shavian
+ \value Script_Osmanya
+ \value Script_Cypriot
+ \value Script_Braille
+ \value Script_Buginese
+ \value Script_NewTaiLue
+ \value Script_Glagolitic
+ \value Script_Tifinagh
+ \value Script_SylotiNagri
+ \value Script_OldPersian
+ \value Script_Kharoshthi
+ \value Script_Balinese
+ \value Script_Cuneiform
+ \value Script_Phoenician
+ \value Script_PhagsPa
+ \value Script_Nko
+ \value Script_Sundanese
+ \value Script_Lepcha
+ \value Script_OlChiki
+ \value Script_Vai
+ \value Script_Saurashtra
+ \value Script_KayahLi
+ \value Script_Rejang
+ \value Script_Lycian
+ \value Script_Carian
+ \value Script_Lydian
+ \value Script_Cham
+ \value Script_TaiTham
+ \value Script_TaiViet
+ \value Script_Avestan
+ \value Script_EgyptianHieroglyphs
+ \value Script_Samaritan
+ \value Script_Lisu
+ \value Script_Bamum
+ \value Script_Javanese
+ \value Script_MeeteiMayek
+ \value Script_ImperialAramaic
+ \value Script_OldSouthArabian
+ \value Script_InscriptionalParthian
+ \value Script_InscriptionalPahlavi
+ \value Script_OldTurkic
+ \value Script_Kaithi
+ \value Script_Batak
+ \value Script_Brahmi
+ \value Script_Mandaic
+ \value Script_Chakma
+ \value Script_MeroiticCursive
+ \value Script_MeroiticHieroglyphs
+ \value Script_Miao
+ \value Script_Sharada
+ \value Script_SoraSompeng
+ \value Script_Takri
+
+ \omitvalue ScriptCount
+
+ \sa script()
+*/
+
+/*!
\enum QChar::Direction
This enum type defines the Unicode direction attributes. See the
@@ -1159,6 +1285,27 @@ unsigned char QChar::combiningClass(uint ucs4)
}
/*!
+ \fn QChar::Script QChar::script() const
+ \since 5.1
+
+ Returns the Unicode script property value for this character.
+*/
+
+/*!
+ \overload
+ \since 5.1
+
+ Returns the Unicode script property value for the character specified in
+ its UCS-4-encoded form as \a ucs4.
+*/
+QChar::Script QChar::script(uint ucs4)
+{
+ if (ucs4 > LastValidCodePoint)
+ return QChar::Script_Unknown;
+ return (QChar::Script) qGetProp(ucs4)->script;
+}
+
+/*!
\fn QChar::UnicodeVersion QChar::unicodeVersion() const
Returns the Unicode version that introduced this character.
diff --git a/src/corelib/tools/qchar.h b/src/corelib/tools/qchar.h
index 20101db975..3679a597ff 100644
--- a/src/corelib/tools/qchar.h
+++ b/src/corelib/tools/qchar.h
@@ -137,6 +137,130 @@ public:
Symbol_Other // So
};
+ enum Script
+ {
+ Script_Unknown,
+ Script_Inherited,
+ Script_Common,
+
+ Script_Latin,
+ Script_Greek,
+ Script_Cyrillic,
+ Script_Armenian,
+ Script_Hebrew,
+ Script_Arabic,
+ Script_Syriac,
+ Script_Thaana,
+ Script_Devanagari,
+ Script_Bengali,
+ Script_Gurmukhi,
+ Script_Gujarati,
+ Script_Oriya,
+ Script_Tamil,
+ Script_Telugu,
+ Script_Kannada,
+ Script_Malayalam,
+ Script_Sinhala,
+ Script_Thai,
+ Script_Lao,
+ Script_Tibetan,
+ Script_Myanmar,
+ Script_Georgian,
+ Script_Hangul,
+ Script_Ethiopic,
+ Script_Cherokee,
+ Script_CanadianAboriginal,
+ Script_Ogham,
+ Script_Runic,
+ Script_Khmer,
+ Script_Mongolian,
+ Script_Hiragana,
+ Script_Katakana,
+ Script_Bopomofo,
+ Script_Han,
+ Script_Yi,
+ Script_OldItalic,
+ Script_Gothic,
+ Script_Deseret,
+ Script_Tagalog,
+ Script_Hanunoo,
+ Script_Buhid,
+ Script_Tagbanwa,
+ Script_Coptic,
+
+ // Unicode 4.0 additions
+ Script_Limbu,
+ Script_TaiLe,
+ Script_LinearB,
+ Script_Ugaritic,
+ Script_Shavian,
+ Script_Osmanya,
+ Script_Cypriot,
+ Script_Braille,
+
+ // Unicode 4.1 additions
+ Script_Buginese,
+ Script_NewTaiLue,
+ Script_Glagolitic,
+ Script_Tifinagh,
+ Script_SylotiNagri,
+ Script_OldPersian,
+ Script_Kharoshthi,
+
+ // Unicode 5.0 additions
+ Script_Balinese,
+ Script_Cuneiform,
+ Script_Phoenician,
+ Script_PhagsPa,
+ Script_Nko,
+
+ // Unicode 5.1 additions
+ Script_Sundanese,
+ Script_Lepcha,
+ Script_OlChiki,
+ Script_Vai,
+ Script_Saurashtra,
+ Script_KayahLi,
+ Script_Rejang,
+ Script_Lycian,
+ Script_Carian,
+ Script_Lydian,
+ Script_Cham,
+
+ // Unicode 5.2 additions
+ Script_TaiTham,
+ Script_TaiViet,
+ Script_Avestan,
+ Script_EgyptianHieroglyphs,
+ Script_Samaritan,
+ Script_Lisu,
+ Script_Bamum,
+ Script_Javanese,
+ Script_MeeteiMayek,
+ Script_ImperialAramaic,
+ Script_OldSouthArabian,
+ Script_InscriptionalParthian,
+ Script_InscriptionalPahlavi,
+ Script_OldTurkic,
+ Script_Kaithi,
+
+ // Unicode 6.0 additions
+ Script_Batak,
+ Script_Brahmi,
+ Script_Mandaic,
+
+ // Unicode 6.1 additions
+ Script_Chakma,
+ Script_MeroiticCursive,
+ Script_MeroiticHieroglyphs,
+ Script_Miao,
+ Script_Sharada,
+ Script_SoraSompeng,
+ Script_Takri,
+
+ ScriptCount
+ };
+
enum Direction
{
DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON,
@@ -231,6 +355,8 @@ public:
inline QChar toTitleCase() const { return QChar::toTitleCase(ucs); }
inline QChar toCaseFolded() const { return QChar::toCaseFolded(ucs); }
+ inline Script script() const { return QChar::script(ucs); }
+
inline UnicodeVersion unicodeVersion() const { return QChar::unicodeVersion(ucs); }
#if QT_DEPRECATED_SINCE(5, 0)
@@ -316,6 +442,8 @@ public:
static uint QT_FASTCALL toTitleCase(uint ucs4);
static uint QT_FASTCALL toCaseFolded(uint ucs4);
+ static Script QT_FASTCALL script(uint ucs4);
+
static UnicodeVersion QT_FASTCALL unicodeVersion(uint ucs4);
static UnicodeVersion QT_FASTCALL currentUnicodeVersion();
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index 4b6e739759..72e1819e90 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -549,8 +549,8 @@ int QDate::weekNumber(int *yearNumber) const
\li 12 = "Dec"
\endlist
- The month names will be localized according to the system's locale
- settings.
+ The month names will be localized according to the system's default
+ locale settings.
Returns an empty string if the date is invalid.
@@ -596,8 +596,8 @@ QString QDate::shortMonthName(int month, QDate::MonthNameType type)
\li 12 = "December"
\endlist
- The month names will be localized according to the system's locale
- settings.
+ The month names will be localized according to the system's default
+ locale settings.
Returns an empty string if the date is invalid.
@@ -638,8 +638,8 @@ QString QDate::longMonthName(int month, MonthNameType type)
\li 7 = "Sun"
\endlist
- The day names will be localized according to the system's locale
- settings.
+ The day names will be localized according to the system's default
+ locale settings.
Returns an empty string if the date is invalid.
@@ -680,8 +680,8 @@ QString QDate::shortDayName(int weekday, MonthNameType type)
\li 7 = "Sunday"
\endlist
- The day names will be localized according to the system's locale
- settings.
+ The day names will be localized according to the system's default
+ locale settings.
Returns an empty string if the date is invalid.
@@ -718,8 +718,8 @@ QString QDate::longDayName(int weekday, MonthNameType type)
If the \a format is Qt::TextDate, the string is formatted in
the default way. QDate::shortDayName() and QDate::shortMonthName()
are used to generate the string, so the day and month names will
- be localized names. An example of this formatting is
- "Sat May 20 1995".
+ be localized names using the default locale from the system. An
+ example of this formatting is "Sat May 20 1995".
If the \a format is Qt::ISODate, the string format corresponds
to the ISO 8601 extended specification for representations of
diff --git a/src/corelib/tools/qelapsedtimer_mac.cpp b/src/corelib/tools/qelapsedtimer_mac.cpp
index 611098779c..19056d1bd9 100644
--- a/src/corelib/tools/qelapsedtimer_mac.cpp
+++ b/src/corelib/tools/qelapsedtimer_mac.cpp
@@ -76,14 +76,14 @@ static qint64 absoluteToMSecs(qint64 cpuTime)
return absoluteToNSecs(cpuTime) / 1000000;
}
-timeval qt_gettime() Q_DECL_NOTHROW
+timespec qt_gettime() Q_DECL_NOTHROW
{
- timeval tv;
+ timespec tv;
uint64_t cpu_time = mach_absolute_time();
uint64_t nsecs = absoluteToNSecs(cpu_time);
tv.tv_sec = nsecs / 1000000000ull;
- tv.tv_usec = (nsecs / 1000) - (tv.tv_sec * 1000000);
+ tv.tv_nsec = nsecs - (tv.tv_sec * 1000000000ull);
return tv;
}
diff --git a/src/corelib/tools/qelapsedtimer_unix.cpp b/src/corelib/tools/qelapsedtimer_unix.cpp
index e719358ce0..f81a723aa5 100644
--- a/src/corelib/tools/qelapsedtimer_unix.cpp
+++ b/src/corelib/tools/qelapsedtimer_unix.cpp
@@ -43,8 +43,12 @@
#define _POSIX_C_SOURCE 200809L
#include "qelapsedtimer.h"
+#ifdef Q_OS_VXWORKS
+#include "qfunctions_vxworks.h"
+#else
#include <sys/time.h>
#include <time.h>
+#endif
#include <unistd.h>
#include <qatomic.h>
@@ -168,14 +172,14 @@ static inline void do_gettime(qint64 *sec, qint64 *frac)
}
// used in qcore_unix.cpp and qeventdispatcher_unix.cpp
-timeval qt_gettime() Q_DECL_NOTHROW
+struct timespec qt_gettime() Q_DECL_NOTHROW
{
qint64 sec, frac;
do_gettime(&sec, &frac);
- timeval tv;
+ timespec tv;
tv.tv_sec = sec;
- tv.tv_usec = frac / 1000;
+ tv.tv_nsec = frac;
return tv;
}
diff --git a/src/corelib/tools/qharfbuzz_p.h b/src/corelib/tools/qharfbuzz_p.h
index 1cbfb03f63..9a0156f673 100644
--- a/src/corelib/tools/qharfbuzz_p.h
+++ b/src/corelib/tools/qharfbuzz_p.h
@@ -53,11 +53,85 @@
#ifndef QHARFBUZZ_P_H
#define QHARFBUZZ_P_H
-#include <QtCore/qglobal.h>
+#include <QtCore/qchar.h>
#include <private/harfbuzz-shaper.h>
QT_BEGIN_NAMESPACE
+static inline HB_Script script_to_hbscript(uchar script)
+{
+ switch (script) {
+ case QChar::Script_Inherited: return HB_Script_Inherited;
+ case QChar::Script_Common: return HB_Script_Common;
+ case QChar::Script_Arabic: return HB_Script_Arabic;
+ case QChar::Script_Armenian: return HB_Script_Armenian;
+ case QChar::Script_Bengali: return HB_Script_Bengali;
+ case QChar::Script_Cyrillic: return HB_Script_Cyrillic;
+ case QChar::Script_Devanagari: return HB_Script_Devanagari;
+ case QChar::Script_Georgian: return HB_Script_Georgian;
+ case QChar::Script_Greek: return HB_Script_Greek;
+ case QChar::Script_Gujarati: return HB_Script_Gujarati;
+ case QChar::Script_Gurmukhi: return HB_Script_Gurmukhi;
+ case QChar::Script_Hangul: return HB_Script_Hangul;
+ case QChar::Script_Hebrew: return HB_Script_Hebrew;
+ case QChar::Script_Kannada: return HB_Script_Kannada;
+ case QChar::Script_Khmer: return HB_Script_Khmer;
+ case QChar::Script_Lao: return HB_Script_Lao;
+ case QChar::Script_Malayalam: return HB_Script_Malayalam;
+ case QChar::Script_Myanmar: return HB_Script_Myanmar;
+ case QChar::Script_Ogham: return HB_Script_Ogham;
+ case QChar::Script_Oriya: return HB_Script_Oriya;
+ case QChar::Script_Runic: return HB_Script_Runic;
+ case QChar::Script_Sinhala: return HB_Script_Sinhala;
+ case QChar::Script_Syriac: return HB_Script_Syriac;
+ case QChar::Script_Tamil: return HB_Script_Tamil;
+ case QChar::Script_Telugu: return HB_Script_Telugu;
+ case QChar::Script_Thaana: return HB_Script_Thaana;
+ case QChar::Script_Thai: return HB_Script_Thai;
+ case QChar::Script_Tibetan: return HB_Script_Tibetan;
+ case QChar::Script_Nko: return HB_Script_Nko;
+ default: break;
+ };
+ return HB_Script_Common;
+}
+
+static inline uchar hbscript_to_script(uchar script)
+{
+ switch (script) {
+ case HB_Script_Inherited: return QChar::Script_Inherited;
+ case HB_Script_Common: return QChar::Script_Common;
+ case HB_Script_Arabic: return QChar::Script_Arabic;
+ case HB_Script_Armenian: return QChar::Script_Armenian;
+ case HB_Script_Bengali: return QChar::Script_Bengali;
+ case HB_Script_Cyrillic: return QChar::Script_Cyrillic;
+ case HB_Script_Devanagari: return QChar::Script_Devanagari;
+ case HB_Script_Georgian: return QChar::Script_Georgian;
+ case HB_Script_Greek: return QChar::Script_Greek;
+ case HB_Script_Gujarati: return QChar::Script_Gujarati;
+ case HB_Script_Gurmukhi: return QChar::Script_Gurmukhi;
+ case HB_Script_Hangul: return QChar::Script_Hangul;
+ case HB_Script_Hebrew: return QChar::Script_Hebrew;
+ case HB_Script_Kannada: return QChar::Script_Kannada;
+ case HB_Script_Khmer: return QChar::Script_Khmer;
+ case HB_Script_Lao: return QChar::Script_Lao;
+ case HB_Script_Malayalam: return QChar::Script_Malayalam;
+ case HB_Script_Myanmar: return QChar::Script_Myanmar;
+ case HB_Script_Ogham: return QChar::Script_Ogham;
+ case HB_Script_Oriya: return QChar::Script_Oriya;
+ case HB_Script_Runic: return QChar::Script_Runic;
+ case HB_Script_Sinhala: return QChar::Script_Sinhala;
+ case HB_Script_Syriac: return QChar::Script_Syriac;
+ case HB_Script_Tamil: return QChar::Script_Tamil;
+ case HB_Script_Telugu: return QChar::Script_Telugu;
+ case HB_Script_Thaana: return QChar::Script_Thaana;
+ case HB_Script_Thai: return QChar::Script_Thai;
+ case HB_Script_Tibetan: return QChar::Script_Tibetan;
+ case HB_Script_Nko: return QChar::Script_Nko;
+ default: break;
+ };
+ return QChar::Script_Common;
+}
+
Q_CORE_EXPORT HB_Bool qShapeItem(HB_ShaperItem *item);
// ### temporary
diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp
index 0103a208f3..b8cd076cb6 100644
--- a/src/corelib/tools/qhash.cpp
+++ b/src/corelib/tools/qhash.cpp
@@ -924,6 +924,16 @@ void QHashData::checkSanity()
\sa clear()
*/
+/*! \fn QHash::QHash(std::initializer_list<std::pair<Key,T> > list)
+ \since 5.1
+
+ Constructs a hash with a copy of each of the elements in the
+ initializer list \a list.
+
+ This function is only available if the program is being
+ compiled in C++11 mode.
+*/
+
/*! \fn QHash::QHash(const QHash<Key, T> &other)
Constructs a copy of \a other.
@@ -1981,6 +1991,16 @@ void QHashData::checkSanity()
Constructs an empty hash.
*/
+/*! \fn QMultiHash::QMultiHash(std::initializer_list<std::pair<Key,T> > list)
+ \since 5.1
+
+ Constructs a multi hash with a copy of each of the elements in the
+ initializer list \a list.
+
+ This function is only available if the program is being
+ compiled in C++11 mode.
+*/
+
/*! \fn QMultiHash::QMultiHash(const QHash<Key, T> &other)
Constructs a copy of \a other (which can be a QHash or a
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h
index 98965b9121..69a8afe195 100644
--- a/src/corelib/tools/qhash.h
+++ b/src/corelib/tools/qhash.h
@@ -48,6 +48,10 @@
#include <QtCore/qpair.h>
#include <QtCore/qrefcount.h>
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+#include <initializer_list>
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -285,6 +289,15 @@ class QHash
public:
inline QHash() : d(const_cast<QHashData *>(&QHashData::shared_null)) { }
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+ inline QHash(std::initializer_list<std::pair<Key,T> > list)
+ : d(const_cast<QHashData *>(&QHashData::shared_null))
+ {
+ reserve(list.size());
+ for (typename std::initializer_list<std::pair<Key,T> >::const_iterator it = list.begin(); it != list.end(); ++it)
+ insert(it->first, it->second);
+ }
+#endif
inline QHash(const QHash<Key, T> &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); }
inline ~QHash() { if (!d->ref.deref()) freeData(d); }
@@ -921,6 +934,14 @@ class QMultiHash : public QHash<Key, T>
{
public:
QMultiHash() {}
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+ inline QMultiHash(std::initializer_list<std::pair<Key,T> > list)
+ {
+ this->reserve(list.size());
+ for (typename std::initializer_list<std::pair<Key,T> >::const_iterator it = list.begin(); it != list.end(); ++it)
+ insert(it->first, it->second);
+ }
+#endif
QMultiHash(const QHash<Key, T> &other) : QHash<Key, T>(other) {}
inline void swap(QMultiHash<Key, T> &other) { QHash<Key, T>::swap(other); } // prevent QMultiHash<->QHash swaps
diff --git a/src/corelib/tools/qmap.cpp b/src/corelib/tools/qmap.cpp
index 75104e4825..a4c28b5bd4 100644
--- a/src/corelib/tools/qmap.cpp
+++ b/src/corelib/tools/qmap.cpp
@@ -538,6 +538,16 @@ void QMapDataBase::freeData(QMapDataBase *d)
\sa toStdMap()
*/
+/*! \fn QMap::QMap(std::initializer_list<std::pair<Key,T> > list)
+ \since 5.1
+
+ Constructs a map with a copy of each of the elements in the
+ initializer list \a list.
+
+ This function is only available if the program is being
+ compiled in C++11 mode.
+*/
+
/*! \fn std::map<Key, T> QMap::toStdMap() const
Returns an STL map equivalent to this QMap.
@@ -1576,6 +1586,16 @@ void QMapDataBase::freeData(QMapDataBase *d)
Constructs an empty map.
*/
+/*! \fn QMultiMap::QMultiMap(std::initializer_list<std::pair<Key,T> > list)
+ \since 5.1
+
+ Constructs a multi map with a copy of each of the elements in the
+ initializer list \a list.
+
+ This function is only available if the program is being
+ compiled in C++11 mode.
+*/
+
/*! \fn QMultiMap::QMultiMap(const QMap<Key, T> &other)
Constructs a copy of \a other (which can be a QMap or a
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h
index b0ec6fb3c6..93134a43dd 100644
--- a/src/corelib/tools/qmap.h
+++ b/src/corelib/tools/qmap.h
@@ -54,6 +54,10 @@
#include <map>
#include <new>
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+#include <initializer_list>
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -327,6 +331,14 @@ class QMap
public:
inline QMap() : d(static_cast<QMapData<Key, T> *>(const_cast<QMapDataBase *>(&QMapDataBase::shared_null))) { }
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+ inline QMap(std::initializer_list<std::pair<Key,T> > list)
+ : d(static_cast<QMapData<Key, T> *>(const_cast<QMapDataBase *>(&QMapDataBase::shared_null)))
+ {
+ for (typename std::initializer_list<std::pair<Key,T> >::const_iterator it = list.begin(); it != list.end(); ++it)
+ insert(it->first, it->second);
+ }
+#endif
QMap(const QMap<Key, T> &other);
inline ~QMap() { if (!d->ref.deref()) d->destroy(); }
@@ -960,6 +972,13 @@ class QMultiMap : public QMap<Key, T>
{
public:
QMultiMap() {}
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+ inline QMultiMap(std::initializer_list<std::pair<Key,T> > list)
+ {
+ for (typename std::initializer_list<std::pair<Key,T> >::const_iterator it = list.begin(); it != list.end(); ++it)
+ insert(it->first, it->second);
+ }
+#endif
QMultiMap(const QMap<Key, T> &other) : QMap<Key, T>(other) {}
inline void swap(QMultiMap<Key, T> &other) { QMap<Key, T>::swap(other); }
diff --git a/src/corelib/tools/qmargins.cpp b/src/corelib/tools/qmargins.cpp
index 7b9d68707e..6e7b541110 100644
--- a/src/corelib/tools/qmargins.cpp
+++ b/src/corelib/tools/qmargins.cpp
@@ -157,6 +157,240 @@ QT_BEGIN_NAMESPACE
Returns true if \a m1 and \a m2 are different; otherwise returns false.
*/
+/*!
+ \fn QRect operator+(const QRect &rectangle, const QMargins &margins)
+ \relates QRect
+
+ Returns the \a rectangle grown by the \a margins.
+
+ \since 5.1
+*/
+
+/*!
+ \fn QRect operator+(const QMargins &margins, const QRect &rectangle)
+ \relates QRect
+ \overload
+
+ Returns the \a rectangle grown by the \a margins.
+
+ \since 5.1
+*/
+
+/*!
+ \fn QRect QRect::marginsAdded(const QMargins &margins) const
+
+ Returns a rectangle grown by the \a margins.
+
+ \sa operator+=(), marginsRemoved(), operator-=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QRect QRect::operator+=(const QMargins &margins) const
+
+ Adds the \a margins to the rectangle, growing it.
+
+ \sa marginsAdded(), marginsRemoved(), operator-=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QRect QRect::marginsRemoved(const QMargins &margins) const
+
+ Removes the \a margins from the rectangle, shrinking it.
+
+ \sa marginsAdded(), operator+=(), operator-=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QRect QRect::operator -=(const QMargins &margins) const
+
+ Returns a rectangle shrunk by the \a margins.
+
+ \sa marginsRemoved(), operator+=(), marginsAdded()
+
+ \since 5.1
+*/
+
+/*!
+ \fn const QMargins operator+(const QMargins &m1, const QMargins &m2)
+ \relates QMargins
+
+ Returns a QMargins object that is the sum of the given margins, \a m1
+ and \a m2; each component is added separately.
+
+ \sa QMargins::operator+=(), QMargins::operator-=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn const QMargins operator-(const QMargins &m1, const QMargins &m2)
+ \relates QMargins
+
+ Returns a QMargins object that is formed by subtracting \a m2 from
+ \a m1; each component is subtracted separately.
+
+ \sa QMargins::operator+=(), QMargins::operator-=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn const QMargins operator*(const QMargins &margins, int factor)
+ \relates QMargins
+
+ Returns a QMargins object that is formed by multiplying each component
+ of the given \a margins by \a factor.
+
+ \sa QMargins::operator*=(), QMargins::operator/=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn const QMargins operator*(int factor, const QMargins &margins)
+ \relates QMargins
+ \overload
+
+ Returns a QMargins object that is formed by multiplying each component
+ of the given \a margins by \a factor.
+
+ \sa QMargins::operator*=(), QMargins::operator/=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn const QMargins operator*(const QMargins &margins, qreal factor)
+ \relates QMargins
+ \overload
+
+ Returns a QMargins object that is formed by multiplying each component
+ of the given \a margins by \a factor.
+
+ \sa QMargins::operator*=(), QMargins::operator/=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn const QMargins operator*(qreal factor, const QMargins &margins)
+ \relates QMargins
+ \overload
+
+ Returns a QMargins object that is formed by multiplying each component
+ of the given \a margins by \a factor.
+
+ \sa QMargins::operator*=(), QMargins::operator/=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn const QMargins operator/(const QMargins &margins, int divisor)
+ \relates QMargins
+
+ Returns a QMargins object that is formed by dividing the components of
+ the given \a margins by the given \a divisor.
+
+ \sa QMargins::operator*=(), QMargins::operator/=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn const QMargins operator/(const QMargins &, qreal)
+ \relates QMargins
+ \overload
+
+ Returns a QMargins object that is formed by dividing the components of
+ the given \a margins by the given \a divisor.
+
+ \sa QMargins::operator*=(), QMargins::operator/=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QMargins operator-(const QMargins &margins)
+ \relates QMargins
+
+ Returns a QMargin object that is formed by negating all components of \a margins.
+
+ \since 5.1
+*/
+
+/*!
+ \fn QMargins &operator+=(const QMargins &margins)
+
+ Add each component of \a margins to the respective component of this object
+ and returns a reference to it.
+
+ \sa operator-=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QMargins &operator-=(const QMargins &margins)
+
+ Subtract each component of \a margins from the respective component of this object
+ and returns a reference to it.
+
+ \sa operator+=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QMargins &operator*=(int factor)
+
+ Multiplies each component of this object by \a factor
+ and returns a reference to it.
+
+ \sa operator/=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QMargins &operator*=(qreal factor)
+ \overload
+
+ Multiplies each component of this object by \a factor
+ and returns a reference to it.
+
+ \sa operator/=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QMargins &operator/=(int divisor)
+
+ Divides each component of this object by \a divisor
+ and returns a reference to it.
+
+ \sa operator*=()
+
+ \since 5.1
+*/
+
+/*!
+ \fn QMargins &operator/=(qreal divisor)
+
+ \overload
+
+ \sa operator*=()
+
+ \since 5.1
+*/
+
/*****************************************************************************
QMargins stream functions
*****************************************************************************/
diff --git a/src/corelib/tools/qmargins.h b/src/corelib/tools/qmargins.h
index d927cb5aa1..41437c7244 100644
--- a/src/corelib/tools/qmargins.h
+++ b/src/corelib/tools/qmargins.h
@@ -42,7 +42,7 @@
#ifndef QMARGINS_H
#define QMARGINS_H
-#include <QtCore/qnamespace.h>
+#include <QtCore/qrect.h>
QT_BEGIN_HEADER
@@ -67,6 +67,15 @@ public:
void setRight(int right);
void setBottom(int bottom);
+ QMargins &operator+=(const QMargins &margins);
+ QMargins &operator-=(const QMargins &margins);
+ QMargins &operator+=(int);
+ QMargins &operator-=(int);
+ QMargins &operator*=(int);
+ QMargins &operator/=(int);
+ QMargins &operator*=(qreal);
+ QMargins &operator/=(qreal);
+
private:
int m_left;
int m_top;
@@ -142,6 +151,124 @@ Q_DECL_CONSTEXPR inline bool operator!=(const QMargins &m1, const QMargins &m2)
m1.m_bottom != m2.m_bottom;
}
+Q_DECL_CONSTEXPR inline QRect operator+(const QRect &rectangle, const QMargins &margins)
+{
+ return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()),
+ QPoint(rectangle.right() + margins.right(), rectangle.bottom() + margins.bottom()));
+}
+
+Q_DECL_CONSTEXPR inline QRect operator+(const QMargins &margins, const QRect &rectangle)
+{
+ return QRect(QPoint(rectangle.left() - margins.left(), rectangle.top() - margins.top()),
+ QPoint(rectangle.right() + margins.right(), rectangle.bottom() + margins.bottom()));
+}
+
+inline QRect QRect::marginsAdded(const QMargins &margins) const
+{
+ return *this + margins;
+}
+
+inline QRect QRect::marginsRemoved(const QMargins &margins) const
+{
+ return QRect(QPoint(x1 + margins.left(), y1 + margins.top()),
+ QPoint(x2 - margins.right(), y2 - margins.bottom()));
+}
+
+inline QRect &QRect::operator+=(const QMargins &margins)
+{
+ *this = marginsAdded(margins);
+ return *this;
+}
+
+inline QRect &QRect::operator-=(const QMargins &margins)
+{
+ *this = marginsRemoved(margins);
+ return *this;
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator+(const QMargins &m1, const QMargins &m2)
+{
+ return QMargins(m1.left() + m2.left(), m1.top() + m2.top(),
+ m1.right() + m2.right(), m1.bottom() + m2.bottom());
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator-(const QMargins &m1, const QMargins &m2)
+{
+ return QMargins(m1.left() - m2.left(), m1.top() - m2.top(),
+ m1.right() - m2.right(), m1.bottom() - m2.bottom());
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator*(const QMargins &margins, int factor)
+{
+ return QMargins(margins.left() * factor, margins.top() * factor,
+ margins.right() * factor, margins.bottom() * factor);
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator*(int factor, const QMargins &margins)
+{
+ return QMargins(margins.left() * factor, margins.top() * factor,
+ margins.right() * factor, margins.bottom() * factor);
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator*(const QMargins &margins, qreal factor)
+{
+ return QMargins(qRound(margins.left() * factor), qRound(margins.top() * factor),
+ qRound(margins.right() * factor), qRound(margins.bottom() * factor));
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator*(qreal factor, const QMargins &margins)
+{
+ return QMargins(qRound(margins.left() * factor), qRound(margins.top() * factor),
+ qRound(margins.right() * factor), qRound(margins.bottom() * factor));
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator/(const QMargins &margins, int divisor)
+{
+ return QMargins(margins.left() / divisor, margins.top() / divisor,
+ margins.right() / divisor, margins.bottom() / divisor);
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator/(const QMargins &margins, qreal divisor)
+{
+ return QMargins(qRound(margins.left() / divisor), qRound(margins.top() / divisor),
+ qRound(margins.right() / divisor), qRound(margins.bottom() / divisor));
+}
+
+inline QMargins &QMargins::operator+=(const QMargins &margins)
+{
+ return *this = *this + margins;
+}
+
+inline QMargins &QMargins::operator-=(const QMargins &margins)
+{
+ return *this = *this - margins;
+}
+
+inline QMargins &QMargins::operator*=(int factor)
+{
+ return *this = *this * factor;
+}
+
+inline QMargins &QMargins::operator/=(int divisor)
+{
+ return *this = *this / divisor;
+}
+
+inline QMargins &QMargins::operator*=(qreal factor)
+{
+ return *this = *this * factor;
+}
+
+inline QMargins &QMargins::operator/=(qreal divisor)
+{
+ return *this = *this / divisor;
+}
+
+Q_DECL_CONSTEXPR inline QMargins operator-(const QMargins &margins)
+{
+ return QMargins(-margins.left(), -margins.top(), -margins.right(), -margins.bottom());
+}
+
#ifndef QT_NO_DEBUG_STREAM
Q_CORE_EXPORT QDebug operator<<(QDebug, const QMargins &);
#endif
diff --git a/src/corelib/tools/qmessageauthenticationcode.cpp b/src/corelib/tools/qmessageauthenticationcode.cpp
new file mode 100644
index 0000000000..3950f15502
--- /dev/null
+++ b/src/corelib/tools/qmessageauthenticationcode.cpp
@@ -0,0 +1,275 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Ruslan Nigmatullin <euroelessar@yandex.ru>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 "qmessageauthenticationcode.h"
+#include "qvarlengtharray.h"
+
+/*
+ These #defines replace the typedefs needed by the RFC6234 code. Normally
+ the typedefs would come from from stdint.h, but since this header is not
+ available on all platforms (MSVC 2008, for example), we #define them to the
+ Qt equivalents.
+*/
+#define uint64_t QT_PREPEND_NAMESPACE(quint64)
+#define uint32_t QT_PREPEND_NAMESPACE(quint32)
+#define uint8_t QT_PREPEND_NAMESPACE(quint8)
+#define int_least16_t QT_PREPEND_NAMESPACE(qint16)
+
+// Header from rfc6234 with 1 modification:
+// sha1.h - commented out '#include <stdint.h>' on line 74
+#include "../../3rdparty/rfc6234/sha.h"
+
+#undef uint64_t
+#undef uint32_t
+#undef uint68_t
+#undef int_least16_t
+
+QT_BEGIN_NAMESPACE
+
+static int qt_hash_block_size(QCryptographicHash::Algorithm method)
+{
+ switch (method) {
+ case QCryptographicHash::Md4:
+ return 64;
+ case QCryptographicHash::Md5:
+ return 64;
+ case QCryptographicHash::Sha1:
+ return SHA1_Message_Block_Size;
+ case QCryptographicHash::Sha224:
+ return SHA224_Message_Block_Size;
+ case QCryptographicHash::Sha256:
+ return SHA256_Message_Block_Size;
+ case QCryptographicHash::Sha384:
+ return SHA384_Message_Block_Size;
+ case QCryptographicHash::Sha512:
+ return SHA512_Message_Block_Size;
+ }
+ return 0;
+}
+
+class QMessageAuthenticationCodePrivate
+{
+public:
+ QMessageAuthenticationCodePrivate(QCryptographicHash::Algorithm m)
+ : messageHash(m), method(m), messageHashInited(false)
+ {
+ }
+
+ QByteArray key;
+ QByteArray result;
+ QCryptographicHash messageHash;
+ QCryptographicHash::Algorithm method;
+ bool messageHashInited;
+
+ void initMessageHash();
+};
+
+void QMessageAuthenticationCodePrivate::initMessageHash()
+{
+ if (messageHashInited)
+ return;
+ messageHashInited = true;
+
+ const int blockSize = qt_hash_block_size(method);
+
+ if (key.size() > blockSize) {
+ QCryptographicHash hash(method);
+ hash.addData(key);
+ key = hash.result();
+ hash.reset();
+ }
+
+ if (key.size() < blockSize) {
+ const int size = key.size();
+ key.resize(blockSize);
+ memset(key.data() + size, 0, blockSize - size);
+ }
+
+ QVarLengthArray<char> iKeyPad(blockSize);
+ const char * const keyData = key.constData();
+
+ for (int i = 0; i < blockSize; ++i)
+ iKeyPad[i] = keyData[i] ^ 0x36;
+
+ messageHash.addData(iKeyPad.data(), iKeyPad.size());
+}
+
+/*!
+ \class QMessageAuthenticationCode
+ \inmodule QtCore
+
+ \brief The QMessageAuthenticationCode class provides a way to generate
+ hash-based message authentication codes.
+
+ \since 5.1
+
+ \ingroup tools
+ \reentrant
+
+ QMessageAuthenticationCode supports all cryptographic hashes which are supported by
+ QCryptographicHash.
+
+ To generate message authentication code, pass hash algorithm QCryptographicHash::Algorithm
+ to constructor, then set key and message by setKey() and addData() functions. Result
+ can be acquired by result() function.
+ \snippet qmessageauthenticationcode/main.cpp 0
+ \dots
+ \snippet qmessageauthenticationcode/main.cpp 1
+
+ Alternatively, this effect can be achieved by providing message,
+ key and method to hash() method.
+ \snippet qmessageauthenticationcode/main.cpp 2
+
+ \sa QCryptographicHash
+*/
+
+/*!
+ Constructs an object that can be used to create a cryptographic hash from data
+ using method \a method and key \a key.
+*/
+QMessageAuthenticationCode::QMessageAuthenticationCode(QCryptographicHash::Algorithm method,
+ const QByteArray &key)
+ : d(new QMessageAuthenticationCodePrivate(method))
+{
+ d->key = key;
+}
+
+/*!
+ Destroys the object.
+*/
+QMessageAuthenticationCode::~QMessageAuthenticationCode()
+{
+ delete d;
+}
+
+/*!
+ Resets message data. Calling this method doesn't affect the key.
+*/
+void QMessageAuthenticationCode::reset()
+{
+ d->result.clear();
+ d->messageHash.reset();
+ d->messageHashInited = false;
+}
+
+/*!
+ Sets secret \a key. Calling this method automatically resets the object state.
+*/
+void QMessageAuthenticationCode::setKey(const QByteArray &key)
+{
+ reset();
+ d->key = key;
+}
+
+/*!
+ Adds the first \a length chars of \a data to the message.
+*/
+void QMessageAuthenticationCode::addData(const char *data, int length)
+{
+ d->initMessageHash();
+ d->messageHash.addData(data, length);
+}
+
+/*!
+ \overload addData()
+*/
+void QMessageAuthenticationCode::addData(const QByteArray &data)
+{
+ d->initMessageHash();
+ d->messageHash.addData(data);
+}
+
+/*!
+ Reads the data from the open QIODevice \a device until it ends
+ and adds it to message. Returns true if reading was successful.
+
+ \note \a device must be already opened.
+ */
+bool QMessageAuthenticationCode::addData(QIODevice *device)
+{
+ d->initMessageHash();
+ return d->messageHash.addData(device);
+}
+
+/*!
+ Returns the final authentication code.
+
+ \sa QByteArray::toHex()
+*/
+QByteArray QMessageAuthenticationCode::result() const
+{
+ if (!d->result.isEmpty())
+ return d->result;
+
+ d->initMessageHash();
+
+ const int blockSize = qt_hash_block_size(d->method);
+
+ QByteArray hashedMessage = d->messageHash.result();
+
+ QVarLengthArray<char> oKeyPad(blockSize);
+ const char * const keyData = d->key.constData();
+
+ for (int i = 0; i < blockSize; ++i)
+ oKeyPad[i] = keyData[i] ^ 0x5c;
+
+ QCryptographicHash hash(d->method);
+ hash.addData(oKeyPad.data(), oKeyPad.size());
+ hash.addData(hashedMessage);
+
+ d->result = hash.result();
+ return d->result;
+}
+
+/*!
+ Returns the authentication code for the message \a message using
+ the key \a key and the method \a method.
+*/
+QByteArray QMessageAuthenticationCode::hash(const QByteArray &message, const QByteArray &key,
+ QCryptographicHash::Algorithm method)
+{
+ QMessageAuthenticationCode mac(method);
+ mac.setKey(key);
+ mac.addData(message);
+ return mac.result();
+}
+
+QT_END_NAMESPACE
diff --git a/src/corelib/tools/qmessageauthenticationcode.h b/src/corelib/tools/qmessageauthenticationcode.h
new file mode 100644
index 0000000000..e84a1c84b4
--- /dev/null
+++ b/src/corelib/tools/qmessageauthenticationcode.h
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Ruslan Nigmatullin <euroelessar@yandex.ru>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtCore 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://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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 QMESSAGEAUTHENTICATIONCODE_H
+#define QMESSAGEAUTHENTICATIONCODE_H
+
+#include <QtCore/qcryptographichash.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+
+class QMessageAuthenticationCodePrivate;
+class QIODevice;
+
+class Q_CORE_EXPORT QMessageAuthenticationCode
+{
+public:
+ explicit QMessageAuthenticationCode(QCryptographicHash::Algorithm method,
+ const QByteArray &key = QByteArray());
+ ~QMessageAuthenticationCode();
+
+ void reset();
+
+ void setKey(const QByteArray &key);
+
+ void addData(const char *data, int length);
+ void addData(const QByteArray &data);
+ bool addData(QIODevice *device);
+
+ QByteArray result() const;
+
+ static QByteArray hash(const QByteArray &message, const QByteArray &key,
+ QCryptographicHash::Algorithm method);
+
+private:
+ Q_DISABLE_COPY(QMessageAuthenticationCode)
+ QMessageAuthenticationCodePrivate *d;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp
index b3dd918a35..784d96bf1c 100644
--- a/src/corelib/tools/qpoint.cpp
+++ b/src/corelib/tools/qpoint.cpp
@@ -223,6 +223,15 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \fn static int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)
+ \since 5.1
+
+ \snippet code/src_corelib_tools_qpoint.cpp 16
+
+ Returns the dot product of \a p1 and \a p2.
+*/
+
+/*!
\fn bool operator==(const QPoint &p1, const QPoint &p2)
\relates QPoint
@@ -712,6 +721,15 @@ QDebug operator<<(QDebug d, const QPointF &p)
*/
/*!
+ \fn static qreal QPointF::dotProduct(const QPointF &p1, const QPointF &p2)
+ \since 5.1
+
+ \snippet code/src_corelib_tools_qpoint.cpp 17
+
+ Returns the dot product of \a p1 and \a p2.
+*/
+
+/*!
\fn bool operator==(const QPointF &p1, const QPointF &p2)
\relates QPointF
diff --git a/src/corelib/tools/qpoint.h b/src/corelib/tools/qpoint.h
index b6446e8c9f..cb7a5ecd23 100644
--- a/src/corelib/tools/qpoint.h
+++ b/src/corelib/tools/qpoint.h
@@ -76,6 +76,8 @@ public:
inline QPoint &operator/=(qreal divisor);
+ Q_DECL_CONSTEXPR static inline int dotProduct(const QPoint &p1, const QPoint &p2);
+
friend Q_DECL_CONSTEXPR inline bool operator==(const QPoint &, const QPoint &);
friend Q_DECL_CONSTEXPR inline bool operator!=(const QPoint &, const QPoint &);
friend Q_DECL_CONSTEXPR inline const QPoint operator+(const QPoint &, const QPoint &);
@@ -153,6 +155,9 @@ inline QPoint &QPoint::operator*=(double factor)
inline QPoint &QPoint::operator*=(int factor)
{ xp = xp*factor; yp = yp*factor; return *this; }
+Q_DECL_CONSTEXPR inline int QPoint::dotProduct(const QPoint &p1, const QPoint &p2)
+{ return p1.xp * p2.xp + p1.yp * p2.yp; }
+
Q_DECL_CONSTEXPR inline bool operator==(const QPoint &p1, const QPoint &p2)
{ return p1.xp == p2.xp && p1.yp == p2.yp; }
@@ -233,6 +238,8 @@ public:
inline QPointF &operator*=(qreal c);
inline QPointF &operator/=(qreal c);
+ Q_DECL_CONSTEXPR static inline qreal dotProduct(const QPointF &p1, const QPointF &p2);
+
friend Q_DECL_CONSTEXPR inline bool operator==(const QPointF &, const QPointF &);
friend Q_DECL_CONSTEXPR inline bool operator!=(const QPointF &, const QPointF &);
friend Q_DECL_CONSTEXPR inline const QPointF operator+(const QPointF &, const QPointF &);
@@ -330,6 +337,11 @@ inline QPointF &QPointF::operator*=(qreal c)
xp*=c; yp*=c; return *this;
}
+Q_DECL_CONSTEXPR inline qreal QPointF::dotProduct(const QPointF &p1, const QPointF &p2)
+{
+ return p1.xp * p2.xp + p1.yp * p2.yp;
+}
+
Q_DECL_CONSTEXPR inline bool operator==(const QPointF &p1, const QPointF &p2)
{
return qFuzzyIsNull(p1.xp - p2.xp) && qFuzzyIsNull(p1.yp - p2.yp);
diff --git a/src/corelib/tools/qrect.h b/src/corelib/tools/qrect.h
index 2ad049652f..16c737852b 100644
--- a/src/corelib/tools/qrect.h
+++ b/src/corelib/tools/qrect.h
@@ -53,6 +53,7 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
+class QMargins;
class Q_CORE_EXPORT QRect
{
@@ -139,6 +140,11 @@ public:
inline QRect intersected(const QRect &other) const;
bool intersects(const QRect &r) const;
+ inline QRect marginsAdded(const QMargins &margins) const;
+ inline QRect marginsRemoved(const QMargins &margins) const;
+ inline QRect &operator+=(const QMargins &margins);
+ inline QRect &operator-=(const QMargins &margins);
+
#if QT_DEPRECATED_SINCE(5, 0)
QT_DEPRECATED QRect unite(const QRect &r) const { return united(r); }
QT_DEPRECATED QRect intersect(const QRect &r) const { return intersected(r); }
diff --git a/src/corelib/tools/qregularexpression.cpp b/src/corelib/tools/qregularexpression.cpp
index a18d8af898..503185dab5 100644
--- a/src/corelib/tools/qregularexpression.cpp
+++ b/src/corelib/tools/qregularexpression.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 Giuseppe D'Angelo <dangelog@gmail.com>.
+** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
@@ -725,6 +726,13 @@ QT_BEGIN_NAMESPACE
that (in this text) there are other characters beyond the end of the
subject string. This can lead to surprising results; see the discussion
in the \l{partial matching} section for more details.
+
+ \value NoMatch
+ No matching is done. This value is returned as the match type by a
+ default constructed QRegularExpressionMatch or
+ QRegularExpressionMatchIterator. Using this match type is not very
+ useful for the user, as no matching ever happens. This enum value
+ has been introduced in Qt 5.1.
*/
/*!
@@ -834,7 +842,7 @@ struct QRegularExpressionMatchPrivate : QSharedData
const QString &subject,
QRegularExpression::MatchType matchType,
QRegularExpression::MatchOptions matchOptions,
- int capturingCount);
+ int capturingCount = 0);
QRegularExpressionMatch nextMatch() const;
@@ -1193,16 +1201,25 @@ QRegularExpressionMatchPrivate *QRegularExpressionPrivate::doMatch(const QString
QRegularExpression re(*const_cast<QRegularExpressionPrivate *>(this));
if (offset < 0 || offset > subject.length())
- return new QRegularExpressionMatchPrivate(re, subject, matchType, matchOptions, 0);
+ return new QRegularExpressionMatchPrivate(re, subject, matchType, matchOptions);
if (!compiledPattern) {
qWarning("QRegularExpressionPrivate::doMatch(): called on an invalid QRegularExpression object");
- return new QRegularExpressionMatchPrivate(re, subject, matchType, matchOptions, 0);
+ return new QRegularExpressionMatchPrivate(re, subject, matchType, matchOptions);
}
+ // skip optimizing and doing the actual matching if NoMatch type was requested
+ if (matchType == QRegularExpression::NoMatch) {
+ QRegularExpressionMatchPrivate *priv = new QRegularExpressionMatchPrivate(re, subject,
+ matchType, matchOptions);
+ priv->isValid = true;
+ return priv;
+ }
+
+ // capturingCount doesn't include the implicit "0" capturing group
QRegularExpressionMatchPrivate *priv = new QRegularExpressionMatchPrivate(re, subject,
matchType, matchOptions,
- capturingCount);
+ capturingCount + 1);
// this is mutex protected
const pcre16_extra *currentStudyData = const_cast<QRegularExpressionPrivate *>(this)->optimizePattern();
@@ -1311,8 +1328,10 @@ QRegularExpressionMatchPrivate::QRegularExpressionMatchPrivate(const QRegularExp
hasMatch(false), hasPartialMatch(false), isValid(false)
{
Q_ASSERT(capturingCount >= 0);
- const int captureOffsetsCount = (capturingCount + 1) * 3;
- capturedOffsets.resize(captureOffsetsCount);
+ if (capturingCount > 0) {
+ const int captureOffsetsCount = capturingCount * 3;
+ capturedOffsets.resize(captureOffsetsCount);
+ }
}
@@ -1639,6 +1658,26 @@ QString QRegularExpression::escape(const QString &str)
}
/*!
+ \since 5.1
+
+ Constructs a valid, empty QRegularExpressionMatch object. The regular
+ expression is set to a default-constructed one; the match type to
+ QRegularExpression::NoMatch and the match options to
+ QRegularExpression::NoMatchOption.
+
+ The object will report no match through the hasMatch() and the
+ hasPartialMatch() member functions.
+*/
+QRegularExpressionMatch::QRegularExpressionMatch()
+ : d(new QRegularExpressionMatchPrivate(QRegularExpression(),
+ QString(),
+ QRegularExpression::NoMatch,
+ QRegularExpression::NoMatchOption))
+{
+ d->isValid = true;
+}
+
+/*!
Destroys the match result.
*/
QRegularExpressionMatch::~QRegularExpressionMatch()
@@ -1982,6 +2021,26 @@ QRegularExpressionMatchIterator::QRegularExpressionMatchIterator(QRegularExpress
}
/*!
+ \since 5.1
+
+ Constructs an empty, valid QRegularExpressionMatchIterator object. The
+ regular expression is set to a default-constructed one; the match type to
+ QRegularExpression::NoMatch and the match options to
+ QRegularExpression::NoMatchOption.
+
+ Invoking the hasNext() member function on the constructed object will
+ return false, as the iterator is not iterating on a valid sequence of
+ matches.
+*/
+QRegularExpressionMatchIterator::QRegularExpressionMatchIterator()
+ : d(new QRegularExpressionMatchIteratorPrivate(QRegularExpression(),
+ QRegularExpression::NoMatch,
+ QRegularExpression::NoMatchOption,
+ QRegularExpressionMatch()))
+{
+}
+
+/*!
Destroys the QRegularExpressionMatchIterator object.
*/
QRegularExpressionMatchIterator::~QRegularExpressionMatchIterator()
diff --git a/src/corelib/tools/qregularexpression.h b/src/corelib/tools/qregularexpression.h
index 4c95a5b3a0..a5c273e4a2 100644
--- a/src/corelib/tools/qregularexpression.h
+++ b/src/corelib/tools/qregularexpression.h
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 Giuseppe D'Angelo <dangelog@gmail.com>.
+** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -42,7 +43,7 @@
#ifndef QREGULAREXPRESSION_H
#define QREGULAREXPRESSION_H
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
#include <QtCore/qstring.h>
#include <QtCore/qshareddata.h>
@@ -99,7 +100,8 @@ public:
enum MatchType {
NormalMatch = 0,
PartialPreferCompleteMatch,
- PartialPreferFirstMatch
+ PartialPreferFirstMatch,
+ NoMatch
};
enum MatchOption {
@@ -152,6 +154,7 @@ struct QRegularExpressionMatchPrivate;
class Q_CORE_EXPORT QRegularExpressionMatch
{
public:
+ QRegularExpressionMatch();
~QRegularExpressionMatch();
QRegularExpressionMatch(const QRegularExpressionMatch &match);
QRegularExpressionMatch &operator=(const QRegularExpressionMatch &match);
@@ -209,6 +212,7 @@ struct QRegularExpressionMatchIteratorPrivate;
class Q_CORE_EXPORT QRegularExpressionMatchIterator
{
public:
+ QRegularExpressionMatchIterator();
~QRegularExpressionMatchIterator();
QRegularExpressionMatchIterator(const QRegularExpressionMatchIterator &iterator);
QRegularExpressionMatchIterator &operator=(const QRegularExpressionMatchIterator &iterator);
@@ -241,6 +245,6 @@ QT_END_NAMESPACE
QT_END_HEADER
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
#endif // QREGULAREXPRESSION_H
diff --git a/src/corelib/tools/qscopedpointer.h b/src/corelib/tools/qscopedpointer.h
index 5d19bcea55..f7ac8da572 100644
--- a/src/corelib/tools/qscopedpointer.h
+++ b/src/corelib/tools/qscopedpointer.h
@@ -97,7 +97,6 @@ public:
{
T *oldD = this->d;
Cleanup::cleanup(oldD);
- this->d = 0;
}
inline T &operator*() const
diff --git a/src/corelib/tools/qset.h b/src/corelib/tools/qset.h
index 6fdc8e6281..ee91336c51 100644
--- a/src/corelib/tools/qset.h
+++ b/src/corelib/tools/qset.h
@@ -43,6 +43,9 @@
#define QSET_H
#include <QtCore/qhash.h>
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+#include <initializer_list>
+#endif
QT_BEGIN_HEADER
@@ -56,6 +59,14 @@ class QSet
public:
inline QSet() {}
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+ inline QSet(std::initializer_list<T> list)
+ {
+ reserve(list.size());
+ for (typename std::initializer_list<T>::const_iterator it = list.begin(); it != list.end(); ++it)
+ insert(*it);
+ }
+#endif
inline QSet(const QSet<T> &other) : q_hash(other.q_hash) {}
inline QSet<T> &operator=(const QSet<T> &other)
diff --git a/src/corelib/tools/qset.qdoc b/src/corelib/tools/qset.qdoc
index ef7a4c4f52..cd90b4949b 100644
--- a/src/corelib/tools/qset.qdoc
+++ b/src/corelib/tools/qset.qdoc
@@ -103,6 +103,16 @@
\sa clear()
*/
+/*! \fn QSet::QSet(std::initializer_list<T> list)
+ \since 5.1
+
+ Constructs a set with a copy of each of the elements in the
+ initializer list \a list.
+
+ This function is only available if the program is being
+ compiled in C++11 mode.
+*/
+
/*!
\fn QSet::QSet(const QSet<T> &other)
diff --git a/src/corelib/tools/qsharedpointer.cpp b/src/corelib/tools/qsharedpointer.cpp
index df7a911f8c..bced1f4ece 100644
--- a/src/corelib/tools/qsharedpointer.cpp
+++ b/src/corelib/tools/qsharedpointer.cpp
@@ -136,23 +136,11 @@
\omit
\secton1 QSharedPointer internals
- QSharedPointer is in reality implemented by two ancestor classes:
- QtSharedPointer::Basic and QtSharedPointer::ExternalRefCount. The reason
- for having that split is now mostly legacy: in the beginning,
- QSharedPointer was meant to support both internal reference counting and
- external reference counting.
-
- QtSharedPointer::Basic implements the basic functionality that is shared
- between internal- and external-reference counting. That is, it's mostly
- the accessor functions into QSharedPointer. Those are all inherited by
- QSharedPointer, which adds another level of shared functionality (the
- constructors and assignment operators). The Basic class has one member
- variable, which is the actual pointer being tracked.
-
- QtSharedPointer::ExternalRefCount implements the actual reference
- counting and introduces the d-pointer for QSharedPointer. That d-pointer
- itself is shared with other QSharedPointer objects as well as
- QWeakPointer.
+ QSharedPointer has two "private" members: the pointer itself being tracked
+ and a d-pointer. Those members are private to the class, but QSharedPointer
+ is friends with QWeakPointer and other QSharedPointer with different
+ template arguments. (On some compilers, template friends are not supported,
+ so the members are technically public)
The reason for keeping the pointer value itself outside the d-pointer is
because of multiple inheritance needs. If you have two QSharedPointer
@@ -178,17 +166,19 @@
QSharedObject instances that are attached to this Data.
When the strong reference count decreases to zero, the object is deleted
- (see below for information on custom deleters). The strong reference
- count can also exceptionally be -1, indicating that there are no
- QSharedPointers attached to an object, which is tracked too. The only
- case where this is possible is that of QWeakPointers tracking a QObject.
+ (see below for information on custom deleters). The strong reference count
+ can also exceptionally be -1, indicating that there are no QSharedPointers
+ attached to an object, which is tracked too. The only case where this is
+ possible is that of QWeakPointers and QPointers tracking a QObject. Note
+ that QWeakPointers tracking a QObject is a deprecated feature as of Qt 5.0,
+ kept only for compatibility with Qt 4.x.
The weak reference count controls the lifetime of the d-pointer itself.
It can be thought of as an internal/intrusive reference count for
ExternalRefCountData itself. This count is equal to the number of
- QSharedPointers and QWeakPointers that are tracking this object. (In case
- the object tracked derives from QObject, this number is increased by 1,
- since QObjectPrivate tracks it too).
+ QSharedPointers and QWeakPointers that are tracking this object. In case
+ the object is a QObject being tracked by QPointer, this number is increased
+ by 1, since QObjectPrivate tracks it too.
The third member is a pointer to the function that is used to delete the
pointer being tracked. That happens when the destroy() function is called.
@@ -199,18 +189,21 @@
\section3 QtSharedPointer::ExternalRefCountWithCustomDeleter
- This class derives from ExternalRefCountData and is a
- template class. As template parameters, it has the type of the pointer
- being tracked (\tt T) and a \tt Deleter, which is anything. It adds two
- fields to its parent class, matching those template parameters: a member
- of type \tt Deleter and a member of type \tt T*.
+ This class derives from ExternalRefCountData and is a template class. As
+ template parameters, it has the type of the pointer being tracked (\tt T)
+ and a \tt Deleter, which is anything. It adds two fields to its parent
+ class, matching those template parameters: a member of type \tt Deleter and
+ a member of type \tt T*. Those members are actually inside a template
+ struct of type CustomDeleter, which is partially-specialized for normal
+ deletion. See below for more details on that.
The purpose of this class is to store the pointer to be deleted and the
deleter code along with the d-pointer. This allows the last strong
reference to call any arbitrary function that disposes of the object. For
example, this allows calling QObject::deleteLater() on a given object.
- The pointer to the object is kept here to avoid the extra cost of keeping
- the deleter in the generic case.
+ The pointer to the object is kept here because it needs to match the actual
+ deleter function's parameters, regardless of what template argument the
+ last QSharedPointer instance had.
This class is never instantiated directly: the constructors and
destructor are private and, in C++11, deleted. Only the create() function
@@ -605,6 +598,37 @@
*/
/*!
+ \fn QSharedPointer<T> QSharedPointer::create()
+ \since 5.1
+
+ Creates a QSharedPointer object and allocates a new item of type \tt T. The
+ QSharedPointer internals and the object are allocated in one single memory
+ allocation, which could help reduce memory fragmentation in a long-running
+ application.
+
+ This function calls the default constructor for type \tt T.
+*/
+
+/*!
+ \fn QSharedPointer<T> QSharedPointer::create(...)
+ \overload
+ \since 5.1
+
+ Creates a QSharedPointer object and allocates a new item of type \tt T. The
+ QSharedPointer internals and the object are allocated in one single memory
+ allocation, which could help reduce memory fragmentation in a long-running
+ application.
+
+ This function will attempt to call a constructor for type \tt T that can
+ accept all the arguments passed. Arguments will be perfectly-forwarded.
+
+ \note This function is only available with a C++11 compiler that supports
+ perfect forwarding of an arbitrary number of arguments. If the compiler
+ does not support the necessary C++11 features, you must use the overload
+ that calls the default constructor.
+*/
+
+/*!
\fn QWeakPointer<T> QSharedPointer::toWeakRef() const
Returns a weak reference object that shares the pointer referenced
diff --git a/src/corelib/tools/qsharedpointer.h b/src/corelib/tools/qsharedpointer.h
index b4e70cebd2..ccfffb5b18 100644
--- a/src/corelib/tools/qsharedpointer.h
+++ b/src/corelib/tools/qsharedpointer.h
@@ -95,6 +95,9 @@ public:
template <class X> QSharedPointer<X> dynamicCast() const;
template <class X> QSharedPointer<X> constCast() const;
template <class X> QSharedPointer<X> objectCast() const;
+
+ static inline QSharedPointer<T> create();
+ static inline QSharedPointer<T> create(...);
};
template <class T>
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h
index 881c60b6fd..0d3d410bf5 100644
--- a/src/corelib/tools/qsharedpointer_impl.h
+++ b/src/corelib/tools/qsharedpointer_impl.h
@@ -62,6 +62,10 @@ QT_END_HEADER
#include <QtCore/qobject.h> // for qobject_cast
#include <QtCore/qhash.h> // for qHash
+#if defined(Q_COMPILER_RVALUE_REFS) && defined(Q_COMPILER_VARIADIC_TEMPLATES)
+# include <utility> // for std::forward
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -389,6 +393,28 @@ public:
QWeakPointer<T> toWeakRef() const;
+#if defined(Q_COMPILER_RVALUE_REFS) && defined(Q_COMPILER_VARIADIC_TEMPLATES)
+ template <typename... Args>
+ static QSharedPointer<T> create(Args && ...arguments)
+ {
+ typedef QtSharedPointer::ExternalRefCountWithContiguousData<T> Private;
+# ifdef QT_SHAREDPOINTER_TRACK_POINTERS
+ typename Private::DestroyerFn destroy = &Private::safetyCheckDeleter;
+# else
+ typename Private::DestroyerFn destroy = &Private::deleter;
+# endif
+ QSharedPointer<T> result(Qt::Uninitialized);
+ result.d = Private::create(&result.value, destroy);
+
+ // now initialize the data
+ new (result.data()) T(std::forward<Args>(arguments)...);
+ result.d->setQObjectShared(result.value, true);
+# ifdef QT_SHAREDPOINTER_TRACK_POINTERS
+ internalSafetyCheckAdd(result.d, result.value);
+# endif
+ return result;
+ }
+#else
static inline QSharedPointer<T> create()
{
typedef QtSharedPointer::ExternalRefCountWithContiguousData<T> Private;
@@ -408,6 +434,7 @@ public:
result.d->setQObjectShared(result.value, true);
return result;
}
+#endif
private:
explicit QSharedPointer(Qt::Initialization) {}
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 21aa3b6ffb..8583bcf70f 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -2762,13 +2762,17 @@ int QString::lastIndexOf(const QStringRef &str, int from, Qt::CaseSensitivity cs
str.size(), cs);
}
-#ifndef QT_NO_REGEXP
+
+#if !(defined(QT_NO_REGEXP) && defined(QT_NO_REGULAREXPRESSION))
struct QStringCapture
{
int pos;
int len;
int no;
};
+#endif
+
+#ifndef QT_NO_REGEXP
/*!
\overload replace()
@@ -2925,7 +2929,7 @@ QString& QString::replace(const QRegExp &rx, const QString &after)
}
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
#ifndef QT_BOOTSTRAPPED
/*!
\overload replace()
@@ -3055,7 +3059,7 @@ QString &QString::replace(const QRegularExpression &re, const QString &after)
return *this;
}
#endif // QT_BOOTSTRAPPED
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
/*!
Returns the number of (potentially overlapping) occurrences of
@@ -3256,7 +3260,7 @@ int QString::count(const QRegExp& rx) const
}
#endif // QT_NO_REGEXP
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
#ifndef QT_BOOTSTRAPPED
/*!
\overload indexOf()
@@ -3336,6 +3340,33 @@ bool QString::contains(const QRegularExpression &re) const
}
/*!
+ \overload contains()
+ \since 5.1
+
+ Returns true if the regular expression \a re matches somewhere in this
+ string; otherwise returns false.
+
+ If the match is successful and \a match is not a null pointer, it also
+ writes the results of the match into the QRegularExpressionMatch object
+ pointed by \a match.
+
+ \sa QRegularExpression::match()
+*/
+
+bool QString::contains(const QRegularExpression &re, QRegularExpressionMatch *match) const
+{
+ if (!re.isValid()) {
+ qWarning("QString::contains: invalid QRegularExpresssion object");
+ return false;
+ }
+ QRegularExpressionMatch m = re.match(*this);
+ bool hasMatch = m.hasMatch();
+ if (hasMatch && match)
+ *match = m;
+ return hasMatch;
+}
+
+/*!
\overload count()
\since 5.0
@@ -3366,7 +3397,7 @@ int QString::count(const QRegularExpression &re) const
return count;
}
#endif // QT_BOOTSTRAPPED
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
/*! \fn int QString::count() const
@@ -3487,7 +3518,7 @@ QString QString::section(const QString &sep, int start, int end, SectionFlags fl
return ret;
}
-#ifndef QT_NO_REGEXP
+#if !(defined(QT_NO_REGEXP) && defined(QT_NO_REGULAREXPRESSION))
class qt_section_chunk {
public:
qt_section_chunk(int l, QString s) { length = l; string = s; }
@@ -3537,7 +3568,9 @@ static QString extractSections(const QList<qt_section_chunk> &sections,
return ret;
}
+#endif
+#ifndef QT_NO_REGEXP
/*!
\overload section()
@@ -3575,7 +3608,7 @@ QString QString::section(const QRegExp &reg, int start, int end, SectionFlags fl
}
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
#ifndef QT_BOOTSTRAPPED
/*!
\overload section()
@@ -3621,7 +3654,7 @@ QString QString::section(const QRegularExpression &re, int start, int end, Secti
return extractSections(sections, start, end, flags);
}
#endif // QT_BOOTSTRAPPED
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
/*!
Returns a substring that contains the \a n leftmost characters
@@ -6416,7 +6449,7 @@ QStringList QString::split(const QRegExp &rx, SplitBehavior behavior) const
}
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
#ifndef QT_BOOTSTRAPPED
/*!
\overload
@@ -6470,7 +6503,7 @@ QStringList QString::split(const QRegularExpression &re, SplitBehavior behavior)
return list;
}
#endif // QT_BOOTSTRAPPED
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
/*!
\enum QString::NormalizationForm
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index a6f03b2ce0..f7631b4143 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -72,6 +72,7 @@ QT_BEGIN_NAMESPACE
class QCharRef;
class QRegExp;
class QRegularExpression;
+class QRegularExpressionMatch;
class QString;
class QStringList;
class QTextCodec;
@@ -335,10 +336,11 @@ public:
inline bool contains(QRegExp &rx) const { return indexOf(rx) != -1; }
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
int indexOf(const QRegularExpression &re, int from = 0) const;
int lastIndexOf(const QRegularExpression &re, int from = -1) const;
bool contains(const QRegularExpression &re) const;
+ bool contains(const QRegularExpression &re, QRegularExpressionMatch *match) const; // ### Qt 6: merge overloads
int count(const QRegularExpression &re) const;
#endif
@@ -356,7 +358,7 @@ public:
#ifndef QT_NO_REGEXP
QString section(const QRegExp &reg, int start, int end = -1, SectionFlags flags = SectionDefault) const;
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
QString section(const QRegularExpression &re, int start, int end = -1, SectionFlags flags = SectionDefault) const;
#endif
QString left(int n) const Q_REQUIRED_RESULT;
@@ -432,7 +434,7 @@ public:
inline QString &remove(const QRegExp &rx)
{ return replace(rx, QString()); }
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
QString &replace(const QRegularExpression &re, const QString &after);
inline QString &remove(const QRegularExpression &re)
{ return replace(re, QString()); }
@@ -447,7 +449,7 @@ public:
#ifndef QT_NO_REGEXP
QStringList split(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const Q_REQUIRED_RESULT;
#endif
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
QStringList split(const QRegularExpression &sep, SplitBehavior behavior = KeepEmptyParts) const Q_REQUIRED_RESULT;
#endif
enum NormalizationForm {
@@ -884,6 +886,8 @@ public:
QChar::Decomposition decompositionTag() const { return QChar(*this).decompositionTag(); }
uchar combiningClass() const { return QChar(*this).combiningClass(); }
+ inline QChar::Script script() const { return QChar(*this).script(); }
+
QChar::UnicodeVersion unicodeVersion() const { return QChar(*this).unicodeVersion(); }
inline uchar cell() const { return QChar(*this).cell(); }
diff --git a/src/corelib/tools/qstringlist.cpp b/src/corelib/tools/qstringlist.cpp
index f48db4a643..fa2e12b67b 100644
--- a/src/corelib/tools/qstringlist.cpp
+++ b/src/corelib/tools/qstringlist.cpp
@@ -320,7 +320,7 @@ QStringList QtPrivate::QStringList_filter(const QStringList *that, const QRegExp
#endif
#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
/*!
\fn QStringList QStringList::filter(const QRegularExpression &re) const
\overload
@@ -338,7 +338,7 @@ QStringList QtPrivate::QStringList_filter(const QStringList *that, const QRegula
}
return res;
}
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
#endif // QT_BOOTSTRAPPED
/*!
@@ -395,7 +395,7 @@ void QtPrivate::QStringList_replaceInStrings(QStringList *that, const QRegExp &r
#endif
#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
/*!
\fn QStringList &QStringList::replaceInStrings(const QRegularExpression &re, const QString &after)
\overload
@@ -424,7 +424,7 @@ void QtPrivate::QStringList_replaceInStrings(QStringList *that, const QRegularEx
for (int i = 0; i < that->size(); ++i)
(*that)[i].replace(re, after);
}
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
#endif // QT_BOOTSTRAPPED
/*!
@@ -619,7 +619,7 @@ int QtPrivate::QStringList_lastIndexOf(const QStringList *that, QRegExp &rx, int
#endif
#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
/*!
\fn int QStringList::indexOf(const QRegularExpression &re, int from) const
\overload
@@ -676,7 +676,7 @@ int QtPrivate::QStringList_lastIndexOf(const QStringList *that, const QRegularEx
}
return -1;
}
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
#endif // QT_BOOTSTRAPPED
/*!
diff --git a/src/corelib/tools/qstringlist.h b/src/corelib/tools/qstringlist.h
index 8ae6e3653a..597e1f7a6b 100644
--- a/src/corelib/tools/qstringlist.h
+++ b/src/corelib/tools/qstringlist.h
@@ -99,12 +99,12 @@ public:
#endif
#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
inline QStringList filter(const QRegularExpression &re) const;
inline QStringList &replaceInStrings(const QRegularExpression &re, const QString &after);
inline int indexOf(const QRegularExpression &re, int from = 0) const;
inline int lastIndexOf(const QRegularExpression &re, int from = -1) const;
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
#endif // QT_BOOTSTRAPPED
#if !defined(Q_NO_USING_KEYWORD)
@@ -141,12 +141,12 @@ namespace QtPrivate {
#endif
#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
void Q_CORE_EXPORT QStringList_replaceInStrings(QStringList *that, const QRegularExpression &rx, const QString &after);
QStringList Q_CORE_EXPORT QStringList_filter(const QStringList *that, const QRegularExpression &re);
int Q_CORE_EXPORT QStringList_indexOf(const QStringList *that, const QRegularExpression &re, int from);
int Q_CORE_EXPORT QStringList_lastIndexOf(const QStringList *that, const QRegularExpression &re, int from);
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
#endif // QT_BOOTSTRAPPED
}
@@ -220,7 +220,7 @@ inline int QStringList::lastIndexOf(QRegExp &rx, int from) const
#endif
#ifndef QT_BOOTSTRAPPED
-#ifndef QT_NO_REGEXP
+#ifndef QT_NO_REGULAREXPRESSION
inline QStringList &QStringList::replaceInStrings(const QRegularExpression &rx, const QString &after)
{
QtPrivate::QStringList_replaceInStrings(this, rx, after);
@@ -241,7 +241,7 @@ inline int QStringList::lastIndexOf(const QRegularExpression &rx, int from) cons
{
return QtPrivate::QStringList_lastIndexOf(this, rx, from);
}
-#endif // QT_NO_REGEXP
+#endif // QT_NO_REGULAREXPRESSION
#endif // QT_BOOTSTRAPPED
#ifndef QT_NO_DATASTREAM
diff --git a/src/corelib/tools/qtextboundaryfinder.cpp b/src/corelib/tools/qtextboundaryfinder.cpp
index 9ccfe95b1d..51b4ece4b1 100644
--- a/src/corelib/tools/qtextboundaryfinder.cpp
+++ b/src/corelib/tools/qtextboundaryfinder.cpp
@@ -41,7 +41,6 @@
#include <QtCore/qtextboundaryfinder.h>
#include <QtCore/qvarlengtharray.h>
-#include <private/qunicodetables_p.h>
#include <private/qunicodetools_p.h>
QT_BEGIN_NAMESPACE
@@ -61,15 +60,15 @@ static void init(QTextBoundaryFinder::BoundaryType type, const QChar *chars, int
// correctly assign script, isTab and isObject to the script analysis
const ushort *uc = unicode;
const ushort *e = uc + length;
- int script = QUnicodeTables::Common;
- int lastScript = QUnicodeTables::Common;
+ uchar script = QChar::Script_Common;
+ uchar lastScript = QChar::Script_Common;
const ushort *start = uc;
while (uc < e) {
- int s = QUnicodeTables::script(*uc);
- if (s != QUnicodeTables::Inherited)
+ int s = QChar::script(*uc);
+ if (s != QChar::Script_Inherited)
script = s;
if (*uc == QChar::ObjectReplacementCharacter || *uc == QChar::LineSeparator || *uc == 9)
- script = QUnicodeTables::Common;
+ script = QChar::Script_Common;
if (script != lastScript) {
if (uc != start) {
QUnicodeTools::ScriptItem item;
diff --git a/src/corelib/tools/qunicodetables.cpp b/src/corelib/tools/qunicodetables.cpp
index b9f91cdb74..764a4afa04 100644
--- a/src/corelib/tools/qunicodetables.cpp
+++ b/src/corelib/tools/qunicodetables.cpp
@@ -70,109 +70,41 @@ static const unsigned short uc_property_trie[] = {
10224, 10256, 10288, 10320, 10352, 10384, 10416, 10448,
10480, 10480, 10512, 10544, 10544, 10576, 10608, 10640,
10672, 10704, 10736, 10704, 10768, 10800, 10832, 10864,
- 10896, 10704, 10928, 10960, 10992, 10704, 10704, 11024,
- 11056, 10704, 10704, 10704, 10704, 10704, 10704, 10704,
- 10704, 10704, 10704, 10704, 10704, 10704, 10704, 10704,
- 10704, 10704, 10704, 11088, 11120, 11152, 11152, 11184,
- 11216, 11248, 11280, 11312, 11344, 11376, 11408, 11440,
- 11472, 10704, 11504, 11536, 10704, 11568, 11600, 11632,
- 11664, 11696, 11728, 11760, 11792, 11824, 11856, 11888,
- 11920, 11952, 11984, 12016, 12048, 12080, 9872, 9872,
- 12112, 12144, 12176, 12208, 12240, 12272, 12304, 12336,
- 12368, 12400, 12432, 12464, 9872, 9872, 12496, 12528,
- 12560, 12592, 12624, 12656, 12688, 12720, 12752, 12784,
- 6512, 6512, 6512, 6512, 12816, 6512, 6512, 12848,
- 12880, 12912, 12944, 12976, 13008, 13040, 13072, 13104,
-
- 13136, 13168, 13200, 13232, 13264, 13296, 13328, 13360,
- 13392, 13424, 13456, 13488, 13520, 13552, 13584, 13616,
- 13648, 13680, 13712, 13744, 13776, 13808, 13840, 13872,
- 13904, 13936, 13968, 14000, 14032, 14064, 14096, 14128,
- 14160, 14192, 14224, 14256, 14288, 14320, 14352, 14384,
- 14160, 14160, 14160, 14160, 14416, 14448, 14480, 14512,
- 14544, 14576, 14160, 14608, 14640, 14672, 14704, 14736,
- 14768, 14800, 14832, 14864, 14896, 14928, 14960, 14992,
- 15024, 15024, 15024, 15024, 15024, 15024, 15024, 15024,
- 15056, 15056, 15056, 15056, 15088, 15120, 15152, 15184,
- 15056, 15216, 15056, 15248, 15280, 15312, 15344, 15376,
- 15408, 15440, 15472, 9872, 9872, 9872, 9872, 9872,
- 15504, 15536, 15568, 15600, 15632, 15632, 15632, 15664,
- 15696, 15728, 15760, 15792, 15824, 15856, 15856, 15888,
- 15920, 15952, 9872, 9872, 15984, 16016, 16016, 16048,
- 16016, 16016, 16016, 16016, 16016, 16016, 16080, 16112,
-
- 16144, 16176, 16208, 16240, 16272, 16304, 16336, 16368,
- 16400, 16432, 16464, 16464, 16496, 16528, 16560, 16592,
- 16624, 16656, 16688, 16720, 16656, 16752, 16784, 16816,
- 16848, 16848, 16880, 16912, 16944, 16944, 16976, 17008,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
-
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17040, 17040, 17040,
- 17040, 17040, 17040, 17040, 17040, 17072, 17104, 17104,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
-
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
-
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
-
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
+ 10896, 10704, 10928, 10960, 10992, 11024, 11024, 11056,
+ 11088, 11120, 11120, 11120, 11120, 11120, 11120, 11120,
+ 11120, 11120, 11120, 11120, 11120, 11120, 11120, 11120,
+ 11120, 11120, 11120, 11152, 11184, 11216, 11216, 11248,
+ 11280, 11312, 11344, 11376, 11408, 11440, 11472, 11504,
+ 11536, 11568, 11600, 11632, 11568, 11664, 11696, 11728,
+ 11760, 11792, 11824, 11856, 11888, 11920, 11952, 11984,
+ 12016, 12048, 12080, 12112, 12144, 12176, 9872, 9872,
+ 12208, 12240, 12272, 12304, 12336, 12368, 12400, 12432,
+ 12464, 12496, 12528, 12560, 9872, 9872, 12592, 12624,
+ 12656, 12688, 12720, 12752, 12784, 12816, 12848, 12880,
+ 6512, 6512, 6512, 6512, 12912, 6512, 6512, 12944,
+ 12976, 13008, 13040, 13072, 13104, 13136, 13168, 13200,
+
+ 13232, 13264, 13296, 13328, 13360, 13392, 13424, 13456,
+ 13488, 13520, 13552, 13584, 13616, 13648, 13680, 13712,
+ 13744, 13776, 13808, 13840, 13872, 13904, 13936, 13968,
+ 14000, 14032, 14064, 14096, 14128, 14160, 14192, 14224,
+ 14256, 14288, 14320, 14352, 14384, 14416, 14448, 14480,
+ 14256, 14256, 14256, 14256, 14512, 14544, 14576, 14608,
+ 14640, 14672, 14256, 14704, 14736, 14768, 14800, 14832,
+ 14864, 14896, 14928, 14960, 14992, 15024, 15056, 15088,
+ 15120, 15120, 15120, 15120, 15120, 15120, 15120, 15120,
+ 15152, 15152, 15152, 15152, 15184, 15216, 15248, 15280,
+ 15152, 15312, 15152, 15344, 15376, 15408, 15440, 15472,
+ 15504, 15536, 15568, 9872, 9872, 9872, 9872, 9872,
+ 15600, 15632, 15664, 15696, 15728, 15728, 15728, 15760,
+ 15792, 15824, 15856, 15888, 15920, 15952, 15952, 15984,
+ 16016, 16048, 9872, 9872, 16080, 16112, 16112, 16144,
+ 16112, 16112, 16112, 16112, 16112, 16112, 16176, 16208,
+
+ 16240, 16272, 16304, 16336, 16368, 16400, 16432, 16464,
+ 16496, 16528, 16560, 16560, 16592, 16624, 16656, 16688,
+ 16720, 16752, 16784, 16816, 16752, 16848, 16880, 16912,
+ 16944, 16944, 16976, 17008, 17040, 17040, 17072, 17104,
17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
@@ -199,674 +131,742 @@ static const unsigned short uc_property_trie[] = {
17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
-
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 17136, 17136, 17136, 17136, 17168, 17200, 17232,
-
- 17264, 17296, 17296, 17296, 17296, 17296, 17296, 17296,
- 17296, 17296, 17296, 17296, 17296, 17296, 17296, 17296,
- 17296, 17296, 17296, 17296, 17296, 17296, 17296, 17296,
- 17296, 17296, 17296, 17296, 17296, 17296, 17296, 17296,
- 17296, 17296, 17296, 17296, 17328, 17360, 17392, 17424,
- 12368, 12368, 12368, 12368, 12368, 12368, 12368, 12368,
- 17456, 17488, 17520, 17552, 17584, 11600, 11600, 17616,
- 17648, 17680, 17712, 17744, 17776, 17808, 9872, 17840,
- 17872, 17904, 17936, 17968, 18000, 18032, 18064, 18096,
- 18128, 18160, 18192, 18224, 18256, 18288, 18320, 9872,
- 12368, 18352, 18384, 18416, 11952, 18448, 18480, 18512,
- 18544, 18576, 9872, 9872, 9872, 9872, 11600, 18608,
- 18640, 18672, 18704, 18736, 18768, 18800, 18832, 18640,
- 18672, 18704, 18736, 18768, 18800, 18832, 18640, 18672,
- 18704, 18736, 18768, 18800, 18832, 18640, 18672, 18704,
- 18736, 18768, 18800, 18832, 18640, 18672, 18704, 18736,
-
- 18768, 18800, 18832, 18640, 18672, 18704, 18736, 18768,
- 18800, 18832, 18640, 18672, 18704, 18736, 18768, 18800,
- 18832, 18640, 18672, 18704, 18736, 18768, 18800, 18832,
- 18640, 18672, 18704, 18736, 18768, 18800, 18832, 18640,
- 18672, 18704, 18736, 18768, 18800, 18832, 18640, 18672,
- 18704, 18736, 18768, 18800, 18832, 18640, 18672, 18704,
- 18736, 18768, 18800, 18832, 18640, 18672, 18704, 18736,
- 18768, 18800, 18832, 18640, 18672, 18704, 18736, 18768,
- 18800, 18832, 18640, 18672, 18704, 18736, 18768, 18800,
- 18832, 18640, 18672, 18704, 18736, 18768, 18800, 18832,
- 18640, 18672, 18704, 18736, 18768, 18800, 18832, 18640,
- 18672, 18704, 18736, 18768, 18800, 18832, 18640, 18672,
- 18704, 18736, 18768, 18800, 18832, 18640, 18672, 18704,
- 18736, 18768, 18800, 18832, 18640, 18672, 18704, 18736,
- 18768, 18800, 18832, 18640, 18672, 18704, 18736, 18768,
- 18800, 18832, 18640, 18672, 18704, 18736, 18768, 18800,
-
- 18832, 18640, 18672, 18704, 18736, 18768, 18800, 18832,
- 18640, 18672, 18704, 18736, 18768, 18800, 18832, 18640,
- 18672, 18704, 18736, 18768, 18800, 18832, 18640, 18672,
- 18704, 18736, 18768, 18800, 18832, 18640, 18672, 18704,
- 18736, 18768, 18800, 18832, 18640, 18672, 18704, 18736,
- 18768, 18800, 18832, 18640, 18672, 18704, 18736, 18768,
- 18800, 18832, 18640, 18672, 18704, 18736, 18768, 18800,
- 18832, 18640, 18672, 18704, 18736, 18768, 18800, 18832,
- 18640, 18672, 18704, 18736, 18768, 18800, 18832, 18640,
- 18672, 18704, 18736, 18768, 18800, 18832, 18640, 18672,
- 18704, 18736, 18768, 18800, 18832, 18640, 18672, 18704,
- 18736, 18768, 18800, 18832, 18640, 18672, 18704, 18736,
- 18768, 18800, 18832, 18640, 18672, 18704, 18736, 18768,
- 18800, 18832, 18640, 18672, 18704, 18736, 18768, 18800,
- 18832, 18640, 18672, 18704, 18736, 18768, 18800, 18832,
- 18640, 18672, 18704, 18736, 18768, 18800, 18832, 18640,
-
- 18672, 18704, 18736, 18768, 18800, 18832, 18640, 18672,
- 18704, 18736, 18768, 18800, 18832, 18640, 18672, 18704,
- 18736, 18768, 18800, 18832, 18640, 18672, 18704, 18736,
- 18768, 18800, 18832, 18640, 18672, 18704, 18736, 18768,
- 18800, 18832, 18640, 18672, 18704, 18736, 18768, 18800,
- 18832, 18640, 18672, 18704, 18736, 18768, 18800, 18832,
- 18640, 18672, 18704, 18736, 18768, 18800, 18832, 18640,
- 18672, 18704, 18736, 18768, 18800, 18864, 18896, 18928,
- 18960, 18960, 18960, 18960, 18960, 18960, 18960, 18960,
- 18960, 18960, 18960, 18960, 18960, 18960, 18960, 18960,
- 18960, 18960, 18960, 18960, 18960, 18960, 18960, 18960,
- 18960, 18960, 18960, 18960, 18960, 18960, 18960, 18960,
- 18960, 18960, 18960, 18960, 18960, 18960, 18960, 18960,
- 18960, 18960, 18960, 18960, 18960, 18960, 18960, 18960,
- 18960, 18960, 18960, 18960, 18960, 18960, 18960, 18960,
- 18960, 18960, 18960, 18960, 18960, 18960, 18960, 18960,
-
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
-
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 18992, 18992, 18992, 18992, 18992, 18992, 18992, 18992,
- 17136, 17136, 17136, 17136, 17136, 17136, 17136, 17136,
- 17136, 19024, 19056, 19088, 19120, 19120, 19152, 17232,
- 19184, 19216, 19248, 19280, 19280, 19312, 19344, 19280,
- 19280, 19280, 19280, 19280, 19280, 19280, 19280, 19280,
- 19280, 19376, 19408, 19280, 19440, 19280, 19472, 19504,
- 19536, 19568, 19600, 19632, 19280, 19280, 19280, 19664,
- 19696, 19728, 19760, 19792, 19824, 19856, 19888, 19920,
-
- 19952, 19984, 20016, 9872, 20048, 20048, 20048, 20080,
- 20112, 20144, 20176, 20208, 20240, 9872, 20272, 20304,
- 9872, 9872, 9872, 9872, 20336, 12368, 20368, 9872,
- 20400, 20432, 20464, 9872, 20496, 15760, 20528, 9872,
- 20560, 20592, 20624, 20048, 20656, 20688, 9872, 9872,
+ 17136, 17136, 17136, 17136, 17136, 17168, 17200, 17200,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 17232, 17232, 17232, 17232, 17264, 17296, 17328,
+
+ 17360, 17392, 17392, 17392, 17392, 17392, 17392, 17392,
+ 17392, 17392, 17392, 17392, 17392, 17392, 17392, 17392,
+ 17392, 17392, 17392, 17392, 17392, 17392, 17392, 17392,
+ 17392, 17392, 17392, 17392, 17392, 17392, 17392, 17392,
+ 17392, 17392, 17392, 17392, 17424, 17456, 17488, 17520,
+ 17552, 17552, 17552, 17552, 17552, 17552, 17552, 17552,
+ 17584, 17616, 17648, 17680, 17712, 17744, 17744, 17776,
+ 17808, 17840, 17872, 17904, 17936, 17968, 9872, 18000,
+ 18032, 18064, 18096, 18128, 18160, 18192, 18224, 18256,
+ 18288, 18320, 18352, 18384, 18416, 18448, 18480, 9872,
+ 18512, 18544, 18576, 18608, 18640, 18672, 18704, 18736,
+ 18768, 18800, 9872, 9872, 9872, 9872, 18832, 18864,
+ 18896, 18928, 18960, 18992, 19024, 19056, 19088, 18896,
+ 18928, 18960, 18992, 19024, 19056, 19088, 18896, 18928,
+ 18960, 18992, 19024, 19056, 19088, 18896, 18928, 18960,
+ 18992, 19024, 19056, 19088, 18896, 18928, 18960, 18992,
+
+ 19024, 19056, 19088, 18896, 18928, 18960, 18992, 19024,
+ 19056, 19088, 18896, 18928, 18960, 18992, 19024, 19056,
+ 19088, 18896, 18928, 18960, 18992, 19024, 19056, 19088,
+ 18896, 18928, 18960, 18992, 19024, 19056, 19088, 18896,
+ 18928, 18960, 18992, 19024, 19056, 19088, 18896, 18928,
+ 18960, 18992, 19024, 19056, 19088, 18896, 18928, 18960,
+ 18992, 19024, 19056, 19088, 18896, 18928, 18960, 18992,
+ 19024, 19056, 19088, 18896, 18928, 18960, 18992, 19024,
+ 19056, 19088, 18896, 18928, 18960, 18992, 19024, 19056,
+ 19088, 18896, 18928, 18960, 18992, 19024, 19056, 19088,
+ 18896, 18928, 18960, 18992, 19024, 19056, 19088, 18896,
+ 18928, 18960, 18992, 19024, 19056, 19088, 18896, 18928,
+ 18960, 18992, 19024, 19056, 19088, 18896, 18928, 18960,
+ 18992, 19024, 19056, 19088, 18896, 18928, 18960, 18992,
+ 19024, 19056, 19088, 18896, 18928, 18960, 18992, 19024,
+ 19056, 19088, 18896, 18928, 18960, 18992, 19024, 19056,
+
+ 19088, 18896, 18928, 18960, 18992, 19024, 19056, 19088,
+ 18896, 18928, 18960, 18992, 19024, 19056, 19088, 18896,
+ 18928, 18960, 18992, 19024, 19056, 19088, 18896, 18928,
+ 18960, 18992, 19024, 19056, 19088, 18896, 18928, 18960,
+ 18992, 19024, 19056, 19088, 18896, 18928, 18960, 18992,
+ 19024, 19056, 19088, 18896, 18928, 18960, 18992, 19024,
+ 19056, 19088, 18896, 18928, 18960, 18992, 19024, 19056,
+ 19088, 18896, 18928, 18960, 18992, 19024, 19056, 19088,
+ 18896, 18928, 18960, 18992, 19024, 19056, 19088, 18896,
+ 18928, 18960, 18992, 19024, 19056, 19088, 18896, 18928,
+ 18960, 18992, 19024, 19056, 19088, 18896, 18928, 18960,
+ 18992, 19024, 19056, 19088, 18896, 18928, 18960, 18992,
+ 19024, 19056, 19088, 18896, 18928, 18960, 18992, 19024,
+ 19056, 19088, 18896, 18928, 18960, 18992, 19024, 19056,
+ 19088, 18896, 18928, 18960, 18992, 19024, 19056, 19088,
+ 18896, 18928, 18960, 18992, 19024, 19056, 19088, 18896,
+
+ 18928, 18960, 18992, 19024, 19056, 19088, 18896, 18928,
+ 18960, 18992, 19024, 19056, 19088, 18896, 18928, 18960,
+ 18992, 19024, 19056, 19088, 18896, 18928, 18960, 18992,
+ 19024, 19056, 19088, 18896, 18928, 18960, 18992, 19024,
+ 19056, 19088, 18896, 18928, 18960, 18992, 19024, 19056,
+ 19088, 18896, 18928, 18960, 18992, 19024, 19056, 19088,
+ 18896, 18928, 18960, 18992, 19024, 19056, 19088, 18896,
+ 18928, 18960, 18992, 19024, 19056, 19120, 19152, 19184,
+ 19216, 19216, 19216, 19216, 19216, 19216, 19216, 19216,
+ 19216, 19216, 19216, 19216, 19216, 19216, 19216, 19216,
+ 19216, 19216, 19216, 19216, 19216, 19216, 19216, 19216,
+ 19216, 19216, 19216, 19216, 19216, 19216, 19216, 19216,
+ 19216, 19216, 19216, 19216, 19216, 19216, 19216, 19216,
+ 19216, 19216, 19216, 19216, 19216, 19216, 19216, 19216,
+ 19216, 19216, 19216, 19216, 19216, 19216, 19216, 19216,
+ 19216, 19216, 19216, 19216, 19216, 19216, 19216, 19216,
+
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 19248, 19248, 19248, 19248, 19248, 19248, 19248, 19248,
+ 17232, 17232, 17232, 17232, 17232, 17232, 17232, 17232,
+ 17232, 19280, 19312, 19344, 19376, 19376, 19408, 17328,
+ 19440, 19472, 19504, 19536, 19536, 19568, 19600, 19536,
+ 19536, 19536, 19536, 19536, 19536, 19536, 19536, 19536,
+ 19536, 19632, 19664, 19536, 19696, 19536, 19728, 19760,
+ 19792, 19824, 19856, 19888, 19536, 19536, 19536, 19920,
+ 19952, 19984, 20016, 20048, 20080, 20112, 20144, 20176,
+
+ 20208, 20240, 20272, 9872, 20304, 20304, 20304, 20336,
+ 20368, 20400, 20432, 20464, 20496, 9872, 20528, 20560,
+ 9872, 9872, 9872, 9872, 20592, 20624, 20656, 9872,
+ 20688, 20720, 20752, 9872, 20784, 20816, 20848, 9872,
+ 20880, 20912, 20944, 20976, 21008, 21040, 9872, 9872,
9872, 9872, 9872, 9872, 9872, 9872, 9872, 9872,
9872, 9872, 9872, 9872, 9872, 9872, 9872, 9872,
9872, 9872, 9872, 9872, 9872, 9872, 9872, 9872,
- 20720, 20752, 20784, 8368, 8368, 8368, 8368, 8368,
- 20816, 20848, 8368, 8368, 20880, 20912, 8368, 8368,
- 20944, 20976, 21008, 21040, 8368, 8368, 8368, 8368,
- 21072, 21104, 21136, 21168, 8368, 8368, 8368, 8368,
- 21072, 21072, 21200, 8368, 8368, 8368, 8368, 8368,
+ 21072, 21104, 21136, 8368, 8368, 8368, 8368, 8368,
+ 21168, 21200, 8368, 8368, 21232, 21264, 8368, 8368,
+ 21296, 21328, 21360, 21392, 8368, 8368, 8368, 8368,
+ 21424, 21456, 21488, 21520, 8368, 8368, 8368, 8368,
+ 21552, 21552, 21584, 8368, 8368, 8368, 8368, 8368,
8368, 8368, 8368, 8368, 8368, 8368, 8368, 8368,
- 8368, 8368, 8368, 21232, 8368, 8368, 8368, 8368,
+ 8368, 8368, 8368, 21616, 8368, 8368, 8368, 8368,
8368, 8368, 8368, 8368, 8368, 8368, 8368, 8368,
// 0x11000 - 0x110000
- 21264, 21520, 21776, 21776, 21776, 21776, 22032, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 22288, 22288, 22288, 22544, 22800, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 23056, 23056, 23312, 23568, 23824, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 24080, 24080, 24336, 21776, 21776, 21776, 21776, 24592,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 24848, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 25104, 25360, 25616, 25872, 26128, 26384, 26640, 26896,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 27152, 27152, 27152, 27152, 27152, 27152, 27408, 27152,
- 27664, 27920, 28176, 28432, 28688, 28944, 29200, 29456,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
-
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 29968, 29968,
- 29968, 29968, 29968, 29968, 29968, 29968, 30224, 30480,
- 30480, 30480, 30480, 30480, 30480, 30480, 30480, 30480,
- 30480, 30480, 30480, 30480, 30480, 30480, 30480, 30736,
- 30992, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 29968, 29968, 31504, 31248, 31248, 31248, 31248, 31760,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
-
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31248,
- 31248, 31248, 31248, 31248, 31248, 31248, 31248, 31760,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 32016, 32272, 32528, 32528, 32528, 32528, 32528, 32528,
- 32528, 32528, 32528, 32528, 32528, 32528, 32528, 32528,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
-
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 21776,
- 21776, 21776, 21776, 21776, 21776, 21776, 21776, 29712,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
-
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 33040,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
-
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 32784,
- 32784, 32784, 32784, 32784, 32784, 32784, 32784, 33040,
+ 21648, 21904, 22160, 22160, 22160, 22160, 22416, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22672, 22672, 22672, 22928, 23184, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 23440, 23440, 23696, 23952, 24208, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 24464, 24464, 24720, 22160, 22160, 22160, 22160, 24976,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 25232, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 25488, 25744, 26000, 26256, 26512, 26768, 27024, 27280,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 27536, 27536, 27536, 27536, 27536, 27536, 27792, 27536,
+ 28048, 28304, 28560, 28816, 29072, 29328, 29584, 29840,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30352, 30352,
+ 30352, 30352, 30352, 30352, 30352, 30352, 30608, 30864,
+ 30864, 30864, 30864, 30864, 30864, 30864, 30864, 30864,
+ 30864, 30864, 30864, 30864, 30864, 30864, 30864, 31120,
+ 31376, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 30352, 30352, 31888, 31632, 31632, 31632, 31632, 32144,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 31632,
+ 31632, 31632, 31632, 31632, 31632, 31632, 31632, 32144,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 32400, 32656, 32912, 32912, 32912, 32912, 32912, 32912,
+ 32912, 32912, 32912, 32912, 32912, 32912, 32912, 32912,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 22160,
+ 22160, 22160, 22160, 22160, 22160, 22160, 22160, 30096,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33424,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33168,
+ 33168, 33168, 33168, 33168, 33168, 33168, 33168, 33424,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -979,575 +979,555 @@ static const unsigned short uc_property_trie[] = {
142, 142, 142, 142, 142, 142, 142, 142,
142, 143, 143, 144, 144, 144, 144, 144,
- 142, 142, 42, 42, 42, 42, 143, 143,
- 145, 143, 143, 143, 145, 143, 143, 143,
+ 145, 145, 42, 42, 42, 42, 143, 143,
+ 146, 143, 143, 143, 146, 143, 143, 143,
144, 144, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 146,
+ 42, 42, 42, 42, 42, 42, 42, 147,
142, 142, 142, 142, 142, 42, 42, 42,
- 42, 42, 147, 147, 148, 147, 149, 150,
- 150, 150, 150, 150, 150, 150, 150, 150,
- 150, 150, 150, 150, 150, 150, 150, 150,
-
- 151, 151, 151, 151, 151, 151, 151, 151,
- 151, 151, 151, 151, 151, 151, 151, 151,
- 151, 151, 151, 151, 151, 152, 153, 153,
- 153, 153, 152, 154, 153, 153, 153, 153,
-
- 153, 155, 155, 153, 153, 153, 153, 155,
- 155, 153, 153, 153, 153, 153, 153, 153,
- 153, 153, 153, 153, 156, 156, 156, 156,
- 156, 153, 153, 153, 153, 151, 151, 151,
-
- 151, 151, 151, 151, 151, 157, 158, 159,
- 159, 159, 158, 158, 158, 159, 159, 160,
- 161, 161, 161, 162, 162, 162, 162, 161,
- 163, 164, 164, 165, 166, 167, 167, 168,
-
- 169, 169, 170, 171, 171, 171, 171, 171,
- 171, 171, 171, 171, 171, 171, 171, 171,
- 172, 173, 172, 173, 143, 174, 172, 173,
- 175, 175, 176, 177, 177, 177, 34, 175,
-
- 175, 175, 175, 175, 174, 42, 178, 61,
- 179, 179, 179, 175, 180, 175, 181, 181,
- 182, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 183, 183, 183, 183,
-
- 183, 183, 175, 183, 183, 183, 183, 183,
- 183, 183, 183, 183, 184, 185, 185, 185,
- 186, 187, 187, 187, 187, 187, 187, 187,
- 187, 187, 187, 187, 187, 187, 187, 187,
-
- 187, 187, 188, 187, 187, 187, 187, 187,
- 187, 187, 187, 187, 189, 190, 190, 191,
- 192, 193, 194, 194, 194, 195, 196, 197,
- 198, 199, 200, 201, 200, 201, 200, 201,
-
- 200, 201, 67, 68, 67, 68, 67, 68,
- 67, 68, 67, 68, 67, 68, 67, 68,
- 202, 203, 204, 205, 206, 207, 208, 209,
- 210, 211, 209, 210, 212, 213, 213, 213,
+ 42, 42, 148, 148, 149, 150, 151, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152,
+
+ 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 154, 155, 155,
+ 155, 155, 154, 156, 155, 155, 155, 155,
+
+ 155, 157, 157, 155, 155, 155, 155, 157,
+ 157, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 158, 158, 158, 158,
+ 158, 155, 155, 155, 155, 153, 153, 153,
+
+ 153, 153, 153, 153, 153, 159, 160, 161,
+ 161, 161, 160, 160, 160, 161, 161, 162,
+ 163, 163, 163, 164, 164, 164, 164, 163,
+ 165, 166, 166, 167, 168, 169, 169, 170,
+
+ 171, 171, 172, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173,
+ 174, 175, 174, 175, 143, 176, 174, 175,
+ 177, 177, 178, 179, 179, 179, 34, 177,
+
+ 177, 177, 177, 177, 176, 42, 180, 61,
+ 181, 181, 181, 177, 182, 177, 183, 183,
+ 184, 185, 185, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 185, 185, 185, 185,
+
+ 185, 185, 177, 185, 185, 185, 185, 185,
+ 185, 185, 185, 185, 186, 187, 187, 187,
+ 188, 189, 189, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 189, 189, 189, 189,
+
+ 189, 189, 190, 189, 189, 189, 189, 189,
+ 189, 189, 189, 189, 191, 192, 192, 193,
+ 194, 195, 196, 196, 196, 197, 198, 199,
+ 200, 201, 202, 203, 202, 203, 202, 203,
+
+ 202, 203, 204, 205, 204, 205, 204, 205,
+ 204, 205, 204, 205, 204, 205, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 213, 214, 216, 217, 217, 217,
- 214, 215, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 215, 215, 214, 215, 215,
- 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216,
-
- 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216,
- 217, 217, 217, 217, 217, 217, 217, 217,
- 217, 217, 217, 217, 217, 217, 217, 217,
-
- 217, 217, 217, 217, 217, 217, 217, 217,
- 217, 217, 217, 217, 217, 217, 217, 217,
218, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 218, 219, 219,
+ 220, 220, 220, 220, 220, 220, 220, 220,
+ 220, 220, 220, 220, 220, 220, 220, 220,
+
+ 220, 220, 220, 220, 220, 220, 220, 220,
+ 220, 220, 220, 220, 220, 220, 220, 220,
+ 221, 221, 221, 221, 221, 221, 221, 221,
+ 221, 221, 221, 221, 221, 221, 221, 221,
+
+ 221, 221, 221, 221, 221, 221, 221, 221,
+ 221, 221, 221, 221, 221, 221, 221, 221,
+ 222, 223, 223, 223, 223, 223, 223, 223,
+ 223, 223, 223, 223, 223, 222, 223, 223,
+
+ 224, 225, 224, 225, 224, 225, 224, 225,
+ 224, 225, 224, 225, 224, 225, 224, 225,
+ 224, 225, 224, 225, 224, 225, 224, 225,
+ 224, 225, 224, 225, 224, 225, 224, 225,
+
+ 224, 225, 226, 227, 227, 153, 153, 228,
+ 229, 229, 230, 231, 232, 233, 232, 233,
+ 224, 225, 224, 225, 224, 225, 224, 225,
+ 224, 225, 224, 225, 224, 225, 224, 225,
+
+ 234, 224, 225, 224, 225, 230, 231, 224,
+ 225, 230, 231, 224, 225, 230, 231, 235,
+ 224, 225, 224, 225, 224, 225, 224, 225,
+ 224, 225, 224, 225, 224, 225, 224, 225,
+
+ 224, 225, 224, 225, 224, 225, 224, 225,
+ 224, 225, 224, 225, 232, 233, 224, 225,
+ 224, 225, 224, 225, 224, 225, 236, 237,
+ 224, 225, 238, 239, 238, 239, 238, 239,
+
+ 230, 231, 230, 231, 230, 231, 230, 231,
+ 230, 231, 230, 231, 230, 231, 230, 231,
+ 238, 239, 238, 239, 240, 241, 240, 241,
+ 240, 241, 240, 241, 240, 241, 240, 241,
+
+ 240, 241, 240, 241, 242, 243, 244, 245,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 246, 246,
+
+ 246, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 246, 177,
+ 177, 247, 248, 248, 249, 250, 249, 248,
+
+ 177, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 251, 251, 251, 251, 251, 251,
+
+ 251, 251, 251, 251, 251, 251, 251, 252,
+ 177, 253, 254, 177, 177, 177, 177, 255,
+ 256, 257, 258, 258, 258, 258, 257, 258,
+ 258, 258, 259, 257, 258, 258, 258, 258,
+
+ 258, 258, 260, 257, 257, 257, 257, 257,
+ 258, 258, 257, 258, 258, 259, 261, 258,
+ 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277,
+
+ 278, 279, 280, 278, 258, 260, 281, 282,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283,
+
+ 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 256, 256, 256, 256, 256,
+ 283, 283, 283, 284, 285, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+
+ 286, 286, 286, 286, 287, 288, 289, 289,
+ 290, 291, 291, 292, 19, 293, 294, 294,
+ 295, 295, 295, 295, 295, 295, 296, 296,
+ 297, 298, 299, 300, 288, 288, 301, 302,
+
+ 303, 304, 305, 305, 305, 305, 306, 305,
+ 306, 305, 306, 306, 306, 306, 306, 305,
+ 305, 305, 305, 306, 306, 306, 306, 306,
+ 306, 306, 306, 307, 307, 307, 307, 307,
+
+ 308, 306, 306, 306, 306, 306, 306, 306,
+ 305, 306, 306, 309, 310, 311, 312, 313,
+ 314, 315, 316, 160, 160, 161, 317, 295,
+ 295, 318, 318, 318, 319, 318, 318, 320,
+
+ 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 333, 334, 335, 335,
+ 336, 305, 305, 305, 304, 305, 305, 305,
+ 306, 306, 306, 306, 306, 306, 306, 306,
+
+ 306, 306, 306, 306, 306, 306, 306, 306,
+ 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 305, 305, 305, 305,
+ 305, 305, 306, 306, 306, 306, 306, 306,
+
+ 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306,
+ 306, 306, 306, 306, 306, 306, 306, 306,
+ 337, 337, 306, 306, 306, 306, 306, 337,
+
+ 305, 306, 306, 305, 305, 305, 305, 305,
+ 305, 305, 305, 305, 306, 305, 306, 338,
+ 306, 306, 305, 305, 339, 305, 340, 340,
+ 340, 340, 340, 340, 340, 341, 342, 340,
+
+ 340, 340, 340, 343, 340, 344, 344, 340,
+ 340, 342, 343, 340, 340, 343, 345, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 337, 337, 337, 356, 356, 357,
+
+ 358, 358, 358, 359, 359, 359, 359, 359,
+ 359, 359, 359, 359, 359, 359, 288, 360,
+ 361, 362, 363, 363, 363, 361, 361, 361,
+ 361, 361, 363, 363, 363, 363, 361, 363,
+
+ 363, 363, 363, 363, 363, 363, 363, 363,
+ 361, 363, 361, 363, 361, 364, 364, 365,
+ 366, 367, 366, 366, 367, 366, 366, 367,
+ 367, 367, 366, 367, 367, 366, 367, 366,
+
+ 366, 366, 367, 366, 367, 366, 367, 366,
+ 367, 366, 366, 288, 288, 365, 364, 364,
+ 368, 368, 368, 368, 368, 368, 368, 368,
+ 368, 369, 369, 369, 368, 368, 368, 368,
- 220, 221, 220, 221, 220, 221, 220, 221,
- 220, 221, 220, 221, 220, 221, 220, 221,
- 220, 221, 220, 221, 220, 221, 220, 221,
- 220, 221, 220, 221, 220, 221, 220, 221,
-
- 220, 221, 222, 223, 223, 151, 151, 224,
- 225, 225, 226, 227, 228, 229, 228, 229,
- 220, 221, 220, 221, 220, 221, 220, 221,
- 220, 221, 220, 221, 220, 221, 220, 221,
-
- 230, 220, 221, 220, 221, 226, 227, 220,
- 221, 226, 227, 220, 221, 226, 227, 231,
- 220, 221, 220, 221, 220, 221, 220, 221,
- 220, 221, 220, 221, 220, 221, 220, 221,
-
- 220, 221, 220, 221, 220, 221, 220, 221,
- 220, 221, 220, 221, 228, 229, 220, 221,
- 220, 221, 220, 221, 220, 221, 232, 233,
- 220, 221, 234, 235, 234, 235, 234, 235,
-
- 226, 227, 226, 227, 226, 227, 226, 227,
- 226, 227, 226, 227, 226, 227, 226, 227,
- 234, 235, 234, 235, 236, 237, 236, 237,
- 236, 237, 236, 237, 236, 237, 236, 237,
-
- 236, 237, 236, 237, 238, 239, 240, 241,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
-
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 242,
- 242, 242, 242, 242, 242, 242, 242, 175,
- 175, 243, 244, 244, 245, 246, 245, 244,
-
- 175, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 247, 247, 247, 247,
-
- 247, 247, 247, 247, 247, 247, 247, 248,
- 175, 249, 250, 175, 175, 175, 175, 251,
- 252, 253, 254, 254, 254, 254, 253, 254,
- 254, 254, 255, 253, 254, 254, 254, 254,
-
- 254, 254, 256, 253, 253, 253, 253, 253,
- 254, 254, 253, 254, 254, 255, 257, 254,
- 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 267, 268, 269, 270, 271, 272, 273,
-
- 274, 275, 276, 274, 254, 256, 277, 278,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 279, 279, 279, 279, 279, 279, 279, 279,
- 279, 279, 279, 279, 279, 279, 279, 279,
-
- 279, 279, 279, 279, 279, 279, 279, 279,
- 279, 279, 279, 252, 252, 252, 252, 252,
- 279, 279, 279, 280, 281, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
-
- 282, 282, 282, 282, 283, 284, 285, 285,
- 286, 287, 287, 288, 19, 289, 290, 290,
- 291, 291, 291, 291, 291, 291, 292, 292,
- 293, 294, 295, 296, 284, 284, 297, 298,
-
- 299, 300, 301, 301, 301, 301, 302, 301,
- 302, 301, 302, 302, 302, 302, 302, 301,
- 301, 301, 301, 302, 302, 302, 302, 302,
- 302, 302, 302, 303, 303, 303, 303, 303,
-
- 304, 302, 302, 302, 302, 302, 302, 302,
- 301, 302, 302, 305, 306, 307, 308, 309,
- 310, 311, 312, 158, 158, 159, 313, 291,
- 291, 314, 314, 314, 315, 314, 314, 316,
-
- 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 331,
- 332, 301, 301, 301, 300, 301, 301, 301,
- 302, 302, 302, 302, 302, 302, 302, 302,
-
- 302, 302, 302, 302, 302, 302, 302, 302,
- 301, 301, 301, 301, 301, 301, 301, 301,
- 301, 301, 301, 301, 301, 301, 301, 301,
- 301, 301, 302, 302, 302, 302, 302, 302,
-
- 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302,
- 333, 333, 302, 302, 302, 302, 302, 333,
-
- 301, 302, 302, 301, 301, 301, 301, 301,
- 301, 301, 301, 301, 302, 301, 302, 334,
- 302, 302, 301, 301, 335, 301, 336, 336,
- 336, 336, 336, 336, 336, 337, 338, 336,
-
- 336, 336, 336, 339, 336, 340, 340, 336,
- 336, 338, 339, 336, 336, 339, 341, 341,
- 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 351, 333, 333, 333, 352, 352, 353,
-
- 354, 354, 354, 355, 355, 355, 355, 355,
- 355, 355, 355, 355, 355, 355, 284, 356,
- 357, 358, 359, 359, 359, 357, 357, 357,
- 357, 357, 359, 359, 359, 359, 357, 359,
-
- 359, 359, 359, 359, 359, 359, 359, 359,
- 357, 359, 357, 359, 357, 360, 360, 361,
- 362, 363, 362, 362, 363, 362, 362, 363,
- 363, 363, 362, 363, 363, 362, 363, 362,
-
- 362, 362, 363, 362, 363, 362, 363, 362,
- 363, 362, 362, 284, 284, 361, 360, 360,
- 364, 364, 364, 364, 364, 364, 364, 364,
- 364, 365, 365, 365, 364, 364, 364, 364,
-
- 364, 364, 364, 364, 364, 364, 364, 364,
- 364, 364, 364, 365, 365, 364, 303, 303,
- 303, 366, 303, 366, 366, 303, 303, 303,
- 366, 366, 303, 303, 303, 303, 303, 303,
-
- 367, 367, 367, 367, 367, 367, 367, 367,
- 367, 367, 367, 367, 367, 367, 367, 367,
- 367, 367, 367, 367, 367, 367, 367, 367,
- 367, 367, 367, 367, 367, 367, 367, 367,
-
- 367, 367, 367, 367, 367, 367, 368, 368,
368, 368, 368, 368, 368, 368, 368, 368,
- 368, 369, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
-
- 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380,
-
- 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 381, 381, 381, 381, 381,
- 381, 381, 382, 381, 383, 383, 384, 385,
- 386, 387, 388, 252, 252, 252, 252, 252,
-
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 390, 390,
- 390, 390, 391, 390, 390, 390, 390, 390,
-
- 390, 390, 390, 390, 391, 390, 390, 390,
- 391, 390, 390, 390, 390, 390, 252, 252,
- 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 252,
-
- 393, 394, 394, 394, 394, 394, 393, 394,
- 394, 393, 394, 394, 394, 394, 394, 393,
- 394, 394, 394, 394, 393, 394, 395, 395,
- 395, 396, 396, 396, 252, 252, 397, 252,
-
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
-
- 398, 284, 398, 398, 398, 398, 398, 398,
- 398, 398, 399, 399, 399, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
-
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
-
- 284, 284, 284, 284, 400, 400, 401, 400,
- 400, 401, 400, 400, 400, 401, 401, 401,
- 402, 403, 404, 400, 400, 400, 401, 400,
- 400, 401, 401, 400, 400, 400, 400, 284,
-
- 405, 406, 406, 407, 408, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409,
-
- 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 410, 411, 412, 409, 407, 407,
-
- 407, 406, 406, 406, 406, 406, 406, 406,
- 406, 407, 407, 407, 407, 413, 414, 411,
- 409, 151, 153, 415, 415, 405, 410, 410,
- 409, 409, 409, 409, 409, 409, 409, 409,
-
- 409, 409, 406, 406, 416, 416, 417, 418,
- 419, 420, 421, 422, 423, 424, 425, 426,
- 427, 428, 429, 430, 430, 430, 430, 430,
- 175, 431, 431, 432, 432, 433, 432, 432,
-
- 175, 434, 435, 435, 175, 436, 436, 436,
- 436, 436, 436, 436, 436, 175, 175, 436,
- 436, 175, 175, 436, 436, 436, 436, 436,
- 436, 436, 436, 436, 436, 436, 436, 436,
-
- 436, 436, 436, 436, 436, 436, 436, 436,
- 436, 175, 436, 436, 436, 436, 436, 436,
- 436, 175, 436, 175, 175, 175, 436, 436,
- 436, 436, 175, 175, 437, 438, 439, 435,
-
- 435, 434, 434, 434, 434, 175, 175, 435,
- 435, 175, 175, 435, 435, 440, 441, 175,
- 175, 175, 175, 175, 175, 175, 175, 439,
- 175, 175, 175, 175, 436, 436, 175, 436,
-
- 436, 436, 434, 434, 175, 175, 442, 443,
- 444, 445, 446, 447, 448, 449, 450, 451,
- 436, 436, 452, 452, 453, 453, 453, 453,
- 453, 454, 455, 456, 175, 175, 175, 175,
-
- 175, 457, 458, 459, 175, 460, 460, 460,
- 460, 460, 460, 175, 175, 175, 175, 460,
- 460, 175, 175, 460, 460, 460, 460, 460,
- 460, 460, 460, 460, 460, 460, 460, 460,
-
- 460, 460, 460, 460, 460, 460, 460, 460,
- 460, 175, 460, 460, 460, 460, 460, 460,
- 460, 175, 460, 460, 175, 460, 460, 175,
- 460, 460, 175, 175, 461, 175, 462, 462,
-
- 462, 458, 458, 175, 175, 175, 175, 458,
- 458, 175, 175, 458, 458, 463, 175, 175,
- 175, 464, 175, 175, 175, 175, 175, 175,
- 175, 460, 460, 460, 460, 175, 460, 175,
-
- 175, 175, 175, 175, 175, 175, 465, 466,
- 467, 468, 469, 470, 471, 472, 473, 474,
- 458, 458, 460, 460, 460, 464, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 475, 475, 476, 175, 477, 477, 477,
- 477, 477, 477, 477, 478, 477, 175, 477,
- 477, 477, 175, 477, 477, 477, 477, 477,
- 477, 477, 477, 477, 477, 477, 477, 477,
-
- 477, 477, 477, 477, 477, 477, 477, 477,
- 477, 175, 477, 477, 477, 477, 477, 477,
- 477, 175, 477, 477, 175, 477, 477, 477,
- 477, 477, 175, 175, 479, 477, 476, 476,
-
- 476, 475, 475, 475, 475, 475, 175, 475,
- 475, 476, 175, 476, 476, 480, 175, 175,
- 477, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 477, 478, 481, 481, 175, 175, 482, 483,
- 484, 485, 486, 487, 488, 489, 490, 491,
- 492, 493, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 494, 495, 495, 175, 496, 496, 496,
- 496, 496, 496, 496, 496, 175, 175, 496,
- 496, 175, 175, 496, 496, 496, 496, 496,
- 496, 496, 496, 496, 496, 496, 496, 496,
-
- 496, 496, 496, 496, 496, 496, 496, 496,
- 496, 175, 496, 496, 496, 496, 496, 496,
- 496, 175, 496, 496, 175, 497, 496, 496,
- 496, 496, 175, 175, 498, 496, 499, 494,
-
- 495, 494, 494, 494, 500, 175, 175, 495,
- 495, 175, 175, 495, 495, 501, 175, 175,
- 175, 175, 175, 175, 175, 175, 494, 499,
- 175, 175, 175, 175, 496, 496, 175, 496,
-
- 496, 496, 500, 500, 175, 175, 502, 503,
- 504, 505, 506, 507, 508, 509, 510, 511,
- 512, 497, 513, 513, 513, 513, 513, 513,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 175, 514, 515, 175, 515, 515, 515,
- 515, 515, 515, 175, 175, 175, 515, 515,
- 515, 175, 515, 515, 515, 515, 175, 175,
- 175, 515, 515, 175, 515, 175, 515, 515,
-
- 175, 175, 175, 515, 515, 175, 175, 175,
- 515, 515, 515, 175, 175, 175, 515, 515,
- 515, 515, 515, 515, 515, 515, 516, 515,
- 515, 515, 175, 175, 175, 175, 517, 518,
-
- 514, 518, 518, 175, 175, 175, 518, 518,
- 518, 175, 518, 518, 518, 519, 175, 175,
- 520, 175, 175, 175, 175, 175, 175, 517,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 521, 522,
- 523, 524, 525, 526, 527, 528, 529, 530,
- 531, 531, 531, 532, 532, 532, 532, 532,
- 532, 533, 532, 175, 175, 175, 175, 175,
-
- 175, 534, 534, 534, 175, 535, 535, 535,
- 535, 535, 535, 535, 535, 175, 535, 535,
- 535, 175, 535, 535, 535, 535, 535, 535,
- 535, 535, 535, 535, 535, 535, 535, 535,
-
- 535, 535, 535, 535, 535, 535, 535, 535,
- 535, 175, 535, 535, 535, 535, 535, 535,
- 535, 535, 535, 535, 175, 535, 535, 535,
- 535, 535, 175, 175, 175, 536, 537, 537,
-
- 537, 534, 534, 534, 534, 175, 537, 537,
- 537, 175, 537, 537, 537, 538, 175, 175,
- 175, 175, 175, 175, 175, 539, 540, 175,
- 536, 536, 175, 175, 175, 175, 175, 175,
-
- 535, 535, 541, 541, 175, 175, 542, 543,
- 544, 545, 546, 547, 548, 549, 550, 551,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 552, 552, 552, 552, 552, 552, 552, 553,
-
- 175, 175, 554, 554, 175, 555, 555, 555,
- 555, 555, 555, 555, 555, 175, 555, 555,
- 555, 175, 555, 555, 555, 555, 555, 555,
- 555, 555, 555, 555, 555, 555, 555, 555,
-
- 555, 555, 555, 555, 555, 555, 555, 555,
- 555, 175, 555, 555, 555, 555, 555, 555,
- 555, 555, 555, 555, 175, 555, 555, 555,
- 555, 555, 175, 175, 556, 557, 554, 558,
-
- 554, 554, 559, 554, 554, 175, 558, 554,
- 554, 175, 554, 554, 560, 561, 175, 175,
- 175, 175, 175, 175, 175, 559, 559, 175,
- 175, 175, 175, 175, 175, 175, 555, 175,
-
- 555, 555, 562, 562, 175, 175, 563, 564,
- 565, 566, 567, 568, 569, 570, 571, 572,
- 175, 573, 573, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 175, 574, 574, 175, 575, 575, 575,
- 575, 575, 575, 575, 575, 175, 575, 575,
- 575, 175, 575, 575, 575, 575, 575, 575,
- 575, 575, 575, 575, 575, 575, 575, 575,
-
- 575, 575, 575, 575, 575, 575, 575, 575,
- 575, 576, 575, 575, 575, 575, 575, 575,
- 575, 575, 575, 575, 575, 575, 575, 575,
- 575, 575, 576, 175, 175, 577, 578, 574,
-
- 574, 579, 579, 579, 580, 175, 574, 574,
- 574, 175, 574, 574, 574, 581, 576, 175,
- 175, 175, 175, 175, 175, 175, 175, 578,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 575, 575, 580, 580, 175, 175, 582, 583,
- 584, 585, 586, 587, 588, 589, 590, 591,
- 592, 592, 592, 592, 592, 592, 175, 175,
- 175, 593, 577, 577, 577, 577, 577, 577,
-
- 175, 175, 594, 594, 175, 595, 595, 595,
- 595, 595, 595, 595, 595, 595, 595, 595,
- 595, 595, 595, 595, 595, 595, 595, 175,
- 175, 175, 595, 595, 595, 595, 595, 595,
-
- 595, 595, 595, 595, 595, 595, 595, 595,
- 595, 595, 595, 595, 595, 595, 595, 595,
- 595, 595, 175, 595, 595, 595, 595, 595,
- 595, 595, 595, 595, 175, 595, 175, 175,
-
- 595, 595, 595, 595, 595, 595, 595, 175,
- 175, 175, 596, 175, 175, 175, 175, 597,
- 594, 594, 598, 598, 598, 175, 598, 175,
- 594, 594, 594, 594, 594, 594, 594, 597,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 594, 594, 599, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 600, 600, 600, 600, 600, 600, 600,
- 600, 600, 600, 600, 600, 600, 600, 600,
- 600, 600, 600, 600, 600, 600, 600, 600,
- 600, 600, 600, 600, 600, 600, 600, 600,
-
- 600, 600, 600, 600, 600, 600, 600, 600,
- 600, 600, 600, 600, 600, 600, 600, 600,
- 600, 601, 600, 602, 601, 601, 601, 601,
- 603, 603, 604, 175, 175, 175, 175, 12,
-
- 600, 600, 600, 600, 600, 600, 605, 601,
- 606, 606, 606, 606, 601, 601, 601, 607,
- 608, 609, 610, 611, 612, 613, 614, 615,
- 616, 617, 618, 618, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 619, 619, 175, 619, 175, 175, 619,
- 619, 175, 619, 175, 175, 619, 175, 175,
- 175, 175, 175, 175, 619, 619, 619, 619,
- 175, 619, 619, 619, 619, 619, 619, 619,
-
- 175, 619, 619, 619, 175, 619, 175, 619,
- 175, 175, 619, 619, 175, 619, 619, 619,
- 619, 620, 619, 621, 620, 620, 620, 620,
- 622, 622, 175, 620, 620, 619, 175, 175,
-
- 619, 619, 619, 619, 619, 175, 623, 175,
- 624, 624, 624, 624, 620, 620, 175, 175,
- 625, 626, 627, 628, 629, 630, 631, 632,
- 633, 634, 175, 175, 619, 619, 635, 635,
-
- 636, 637, 637, 637, 638, 639, 638, 638,
- 640, 638, 638, 641, 640, 642, 642, 642,
- 642, 642, 640, 643, 642, 643, 643, 643,
- 644, 644, 643, 643, 643, 643, 643, 643,
-
- 645, 646, 647, 648, 649, 650, 651, 652,
- 653, 654, 655, 655, 655, 655, 655, 655,
- 655, 655, 655, 655, 656, 644, 643, 644,
- 643, 657, 658, 659, 658, 659, 660, 660,
-
- 636, 636, 636, 636, 636, 636, 636, 636,
- 175, 636, 636, 636, 636, 636, 636, 636,
- 636, 636, 636, 636, 636, 636, 636, 636,
- 636, 636, 636, 636, 636, 636, 636, 636,
-
- 636, 636, 636, 636, 636, 636, 636, 636,
- 636, 636, 661, 662, 662, 175, 175, 175,
- 175, 663, 664, 665, 666, 665, 665, 665,
- 665, 665, 664, 664, 664, 664, 665, 667,
-
- 664, 665, 668, 668, 669, 641, 668, 668,
- 636, 636, 636, 636, 670, 671, 671, 671,
- 665, 665, 665, 665, 665, 665, 672, 665,
- 175, 665, 665, 665, 665, 665, 665, 665,
-
- 665, 665, 665, 665, 665, 665, 665, 665,
- 665, 665, 665, 665, 665, 665, 672, 672,
- 672, 665, 665, 665, 665, 665, 665, 665,
- 672, 665, 672, 672, 672, 175, 673, 673,
-
- 674, 674, 674, 674, 674, 674, 675, 674,
- 674, 674, 674, 674, 674, 175, 676, 674,
- 677, 677, 678, 679, 680, 681, 681, 681,
- 681, 682, 682, 175, 175, 175, 175, 175,
-
- 683, 683, 683, 683, 683, 683, 683, 683,
- 683, 683, 683, 683, 683, 683, 683, 683,
- 683, 683, 683, 683, 683, 683, 683, 683,
- 683, 683, 683, 683, 683, 683, 683, 683,
-
- 683, 683, 684, 683, 683, 683, 683, 683,
- 684, 683, 683, 685, 686, 687, 687, 687,
- 687, 688, 687, 689, 689, 689, 687, 690,
- 686, 691, 692, 693, 693, 689, 689, 684,
-
- 694, 695, 696, 697, 698, 699, 700, 701,
- 702, 703, 704, 704, 705, 705, 705, 705,
- 683, 683, 683, 683, 683, 683, 688, 688,
- 687, 687, 684, 684, 684, 684, 689, 689,
-
- 689, 684, 685, 685, 685, 684, 684, 685,
- 685, 685, 685, 685, 685, 685, 684, 684,
- 684, 689, 689, 689, 689, 684, 684, 684,
- 684, 684, 684, 684, 684, 684, 684, 684,
-
- 684, 684, 689, 685, 693, 689, 689, 685,
- 685, 685, 685, 685, 685, 706, 684, 685,
- 707, 708, 709, 710, 711, 712, 713, 714,
- 715, 716, 717, 717, 717, 718, 719, 719,
-
- 720, 720, 720, 720, 720, 720, 720, 720,
- 720, 720, 720, 720, 720, 720, 720, 720,
- 720, 720, 720, 720, 720, 720, 720, 720,
- 720, 720, 720, 720, 720, 720, 720, 720,
-
- 720, 720, 720, 720, 720, 720, 175, 721,
- 175, 175, 175, 175, 175, 721, 175, 175,
- 722, 722, 722, 722, 722, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 722,
-
- 722, 722, 722, 722, 722, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 722,
- 722, 722, 722, 722, 722, 722, 722, 723,
- 723, 724, 724, 725, 726, 727, 727, 727,
-
- 728, 728, 728, 728, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 728, 728, 728,
-
- 728, 728, 728, 728, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 728, 728, 728,
- 728, 728, 728, 728, 728, 728, 728, 728,
- 728, 728, 729, 729, 729, 729, 729, 728,
-
- 730, 730, 730, 730, 730, 730, 730, 730,
- 730, 730, 730, 730, 730, 730, 730, 730,
- 730, 730, 730, 730, 730, 730, 730, 730,
- 730, 730, 730, 730, 730, 730, 730, 730,
-
- 730, 730, 730, 731, 731, 731, 731, 731,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732,
+ 368, 368, 368, 369, 369, 368, 307, 307,
+ 307, 370, 307, 370, 370, 307, 307, 307,
+ 370, 370, 307, 307, 307, 307, 307, 307,
+
+ 371, 371, 371, 371, 371, 371, 371, 371,
+ 371, 371, 371, 371, 371, 371, 371, 371,
+ 371, 371, 371, 371, 371, 371, 371, 371,
+ 371, 371, 371, 371, 371, 371, 371, 371,
+
+ 371, 371, 371, 371, 371, 371, 372, 372,
+ 372, 372, 372, 372, 372, 372, 372, 372,
+ 372, 373, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+
+ 374, 375, 376, 377, 378, 379, 380, 381,
+ 382, 383, 384, 384, 384, 384, 384, 384,
+ 384, 384, 384, 384, 384, 384, 384, 384,
+ 384, 384, 384, 384, 384, 384, 384, 384,
+
+ 384, 384, 384, 384, 384, 384, 384, 384,
+ 384, 384, 384, 385, 385, 385, 385, 385,
+ 385, 385, 386, 385, 387, 387, 388, 389,
+ 390, 391, 392, 256, 256, 256, 256, 256,
+
+ 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 394, 394,
+ 394, 394, 395, 394, 394, 394, 394, 394,
+
+ 394, 394, 394, 394, 395, 394, 394, 394,
+ 395, 394, 394, 394, 394, 394, 256, 256,
+ 396, 396, 396, 396, 396, 396, 396, 396,
+ 396, 396, 396, 396, 396, 396, 396, 256,
+
+ 397, 398, 398, 398, 398, 398, 397, 398,
+ 398, 397, 398, 398, 398, 398, 398, 397,
+ 398, 398, 398, 398, 397, 398, 399, 399,
+ 399, 400, 400, 400, 256, 256, 401, 256,
+
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+
+ 402, 288, 402, 402, 402, 402, 402, 402,
+ 402, 402, 403, 403, 403, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+
+ 288, 288, 288, 288, 404, 404, 405, 404,
+ 404, 405, 404, 404, 404, 405, 405, 405,
+ 406, 407, 408, 404, 404, 404, 405, 404,
+ 404, 405, 405, 404, 404, 404, 404, 288,
+
+ 409, 410, 410, 411, 412, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413,
+
+ 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 414, 415, 416, 413, 411, 411,
+
+ 411, 410, 410, 410, 410, 410, 410, 410,
+ 410, 411, 411, 411, 411, 417, 418, 415,
+ 413, 153, 155, 419, 419, 409, 414, 414,
+ 413, 413, 413, 413, 413, 413, 413, 413,
+
+ 413, 413, 410, 410, 420, 420, 421, 422,
+ 423, 424, 425, 426, 427, 428, 429, 430,
+ 431, 432, 433, 434, 434, 434, 434, 434,
+ 177, 435, 435, 436, 436, 437, 436, 436,
+
+ 177, 438, 439, 439, 177, 440, 440, 440,
+ 440, 440, 440, 440, 440, 177, 177, 440,
+ 440, 177, 177, 440, 440, 440, 440, 440,
+ 440, 440, 440, 440, 440, 440, 440, 440,
+
+ 440, 440, 440, 440, 440, 440, 440, 440,
+ 440, 177, 440, 440, 440, 440, 440, 440,
+ 440, 177, 440, 177, 177, 177, 440, 440,
+ 440, 440, 177, 177, 441, 442, 443, 439,
+
+ 439, 438, 438, 438, 438, 177, 177, 439,
+ 439, 177, 177, 439, 439, 444, 445, 177,
+ 177, 177, 177, 177, 177, 177, 177, 443,
+ 177, 177, 177, 177, 440, 440, 177, 440,
+
+ 440, 440, 438, 438, 177, 177, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 455,
+ 440, 440, 456, 456, 457, 457, 457, 457,
+ 457, 458, 459, 460, 177, 177, 177, 177,
+
+ 177, 461, 462, 463, 177, 464, 464, 464,
+ 464, 464, 464, 177, 177, 177, 177, 464,
+ 464, 177, 177, 464, 464, 464, 464, 464,
+ 464, 464, 464, 464, 464, 464, 464, 464,
+
+ 464, 464, 464, 464, 464, 464, 464, 464,
+ 464, 177, 464, 464, 464, 464, 464, 464,
+ 464, 177, 464, 464, 177, 464, 464, 177,
+ 464, 464, 177, 177, 465, 177, 466, 466,
+
+ 466, 462, 462, 177, 177, 177, 177, 462,
+ 462, 177, 177, 462, 462, 467, 177, 177,
+ 177, 468, 177, 177, 177, 177, 177, 177,
+ 177, 464, 464, 464, 464, 177, 464, 177,
+
+ 177, 177, 177, 177, 177, 177, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478,
+ 462, 462, 464, 464, 464, 468, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 479, 479, 480, 177, 481, 481, 481,
+ 481, 481, 481, 481, 482, 481, 177, 481,
+ 481, 481, 177, 481, 481, 481, 481, 481,
+ 481, 481, 481, 481, 481, 481, 481, 481,
+
+ 481, 481, 481, 481, 481, 481, 481, 481,
+ 481, 177, 481, 481, 481, 481, 481, 481,
+ 481, 177, 481, 481, 177, 481, 481, 481,
+ 481, 481, 177, 177, 483, 481, 480, 480,
+
+ 480, 479, 479, 479, 479, 479, 177, 479,
+ 479, 480, 177, 480, 480, 484, 177, 177,
+ 481, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 481, 482, 485, 485, 177, 177, 486, 487,
+ 488, 489, 490, 491, 492, 493, 494, 495,
+ 496, 497, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 498, 499, 499, 177, 500, 500, 500,
+ 500, 500, 500, 500, 500, 177, 177, 500,
+ 500, 177, 177, 500, 500, 500, 500, 500,
+ 500, 500, 500, 500, 500, 500, 500, 500,
+
+ 500, 500, 500, 500, 500, 500, 500, 500,
+ 500, 177, 500, 500, 500, 500, 500, 500,
+ 500, 177, 500, 500, 177, 501, 500, 500,
+ 500, 500, 177, 177, 502, 500, 503, 498,
+
+ 499, 498, 498, 498, 504, 177, 177, 499,
+ 499, 177, 177, 499, 499, 505, 177, 177,
+ 177, 177, 177, 177, 177, 177, 498, 503,
+ 177, 177, 177, 177, 500, 500, 177, 500,
+
+ 500, 500, 504, 504, 177, 177, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 515,
+ 516, 501, 517, 517, 517, 517, 517, 517,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 518, 519, 177, 519, 519, 519,
+ 519, 519, 519, 177, 177, 177, 519, 519,
+ 519, 177, 519, 519, 519, 519, 177, 177,
+ 177, 519, 519, 177, 519, 177, 519, 519,
+
+ 177, 177, 177, 519, 519, 177, 177, 177,
+ 519, 519, 519, 177, 177, 177, 519, 519,
+ 519, 519, 519, 519, 519, 519, 520, 519,
+ 519, 519, 177, 177, 177, 177, 521, 522,
+
+ 518, 522, 522, 177, 177, 177, 522, 522,
+ 522, 177, 522, 522, 522, 523, 177, 177,
+ 524, 177, 177, 177, 177, 177, 177, 521,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 534,
+ 535, 535, 535, 536, 536, 536, 536, 536,
+ 536, 537, 536, 177, 177, 177, 177, 177,
+
+ 177, 538, 538, 538, 177, 539, 539, 539,
+ 539, 539, 539, 539, 539, 177, 539, 539,
+ 539, 177, 539, 539, 539, 539, 539, 539,
+ 539, 539, 539, 539, 539, 539, 539, 539,
+
+ 539, 539, 539, 539, 539, 539, 539, 539,
+ 539, 177, 539, 539, 539, 539, 539, 539,
+ 539, 539, 539, 539, 177, 539, 539, 539,
+ 539, 539, 177, 177, 177, 540, 541, 541,
+
+ 541, 538, 538, 538, 538, 177, 541, 541,
+ 541, 177, 541, 541, 541, 542, 177, 177,
+ 177, 177, 177, 177, 177, 543, 544, 177,
+ 540, 540, 177, 177, 177, 177, 177, 177,
+
+ 539, 539, 545, 545, 177, 177, 546, 547,
+ 548, 549, 550, 551, 552, 553, 554, 555,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 556, 556, 556, 556, 556, 556, 556, 557,
+
+ 177, 177, 558, 558, 177, 559, 559, 559,
+ 559, 559, 559, 559, 559, 177, 559, 559,
+ 559, 177, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 559, 559, 559,
+
+ 559, 559, 559, 559, 559, 559, 559, 559,
+ 559, 177, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 177, 559, 559, 559,
+ 559, 559, 177, 177, 560, 561, 558, 562,
+
+ 558, 558, 563, 558, 558, 177, 562, 558,
+ 558, 177, 558, 558, 564, 565, 177, 177,
+ 177, 177, 177, 177, 177, 563, 563, 177,
+ 177, 177, 177, 177, 177, 177, 559, 177,
+
+ 559, 559, 566, 566, 177, 177, 567, 568,
+ 569, 570, 571, 572, 573, 574, 575, 576,
+ 177, 577, 577, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 578, 578, 177, 579, 579, 579,
+ 579, 579, 579, 579, 579, 177, 579, 579,
+ 579, 177, 579, 579, 579, 579, 579, 579,
+ 579, 579, 579, 579, 579, 579, 579, 579,
+
+ 579, 579, 579, 579, 579, 579, 579, 579,
+ 579, 580, 579, 579, 579, 579, 579, 579,
+ 579, 579, 579, 579, 579, 579, 579, 579,
+ 579, 579, 580, 177, 177, 581, 582, 578,
+
+ 578, 583, 583, 583, 584, 177, 578, 578,
+ 578, 177, 578, 578, 578, 585, 580, 177,
+ 177, 177, 177, 177, 177, 177, 177, 582,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 579, 579, 584, 584, 177, 177, 586, 587,
+ 588, 589, 590, 591, 592, 593, 594, 595,
+ 596, 596, 596, 596, 596, 596, 177, 177,
+ 177, 597, 581, 581, 581, 581, 581, 581,
+
+ 177, 177, 598, 598, 177, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 177,
+ 177, 177, 599, 599, 599, 599, 599, 599,
+
+ 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 599, 599, 599, 599,
+ 599, 599, 177, 599, 599, 599, 599, 599,
+ 599, 599, 599, 599, 177, 599, 177, 177,
+
+ 599, 599, 599, 599, 599, 599, 599, 177,
+ 177, 177, 600, 177, 177, 177, 177, 601,
+ 598, 598, 602, 602, 602, 177, 602, 177,
+ 598, 598, 598, 598, 598, 598, 598, 601,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 598, 598, 603, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 604, 604, 604, 604, 604, 604, 604,
+ 604, 604, 604, 604, 604, 604, 604, 604,
+ 604, 604, 604, 604, 604, 604, 604, 604,
+ 604, 604, 604, 604, 604, 604, 604, 604,
+
+ 604, 604, 604, 604, 604, 604, 604, 604,
+ 604, 604, 604, 604, 604, 604, 604, 604,
+ 604, 605, 604, 606, 605, 605, 605, 605,
+ 607, 607, 608, 177, 177, 177, 177, 12,
+
+ 604, 604, 604, 604, 604, 604, 609, 605,
+ 610, 610, 610, 610, 605, 605, 605, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 622, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 623, 623, 177, 623, 177, 177, 623,
+ 623, 177, 623, 177, 177, 623, 177, 177,
+ 177, 177, 177, 177, 623, 623, 623, 623,
+ 177, 623, 623, 623, 623, 623, 623, 623,
+
+ 177, 623, 623, 623, 177, 623, 177, 623,
+ 177, 177, 623, 623, 177, 623, 623, 623,
+ 623, 624, 623, 625, 624, 624, 624, 624,
+ 626, 626, 177, 624, 624, 623, 177, 177,
+
+ 623, 623, 623, 623, 623, 177, 627, 177,
+ 628, 628, 628, 628, 624, 624, 177, 177,
+ 629, 630, 631, 632, 633, 634, 635, 636,
+ 637, 638, 177, 177, 623, 623, 639, 639,
+
+ 640, 641, 641, 641, 642, 643, 642, 642,
+ 644, 642, 642, 645, 644, 646, 646, 646,
+ 646, 646, 644, 647, 646, 647, 647, 647,
+ 648, 648, 647, 647, 647, 647, 647, 647,
+
+ 649, 650, 651, 652, 653, 654, 655, 656,
+ 657, 658, 659, 659, 659, 659, 659, 659,
+ 659, 659, 659, 659, 660, 648, 647, 648,
+ 647, 661, 662, 663, 662, 663, 664, 664,
+
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 177, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 665, 666, 666, 177, 177, 177,
+ 177, 667, 668, 669, 670, 669, 669, 669,
+ 669, 669, 668, 668, 668, 668, 669, 671,
+
+ 668, 669, 672, 672, 673, 645, 672, 672,
+ 640, 640, 640, 640, 674, 675, 675, 675,
+ 669, 669, 669, 669, 669, 669, 676, 669,
+ 177, 669, 669, 669, 669, 669, 669, 669,
+
+ 669, 669, 669, 669, 669, 669, 669, 669,
+ 669, 669, 669, 669, 669, 669, 676, 676,
+ 676, 669, 669, 669, 669, 669, 669, 669,
+ 676, 669, 676, 676, 676, 177, 677, 677,
+
+ 678, 678, 678, 678, 678, 678, 679, 678,
+ 678, 678, 678, 678, 678, 177, 680, 678,
+ 681, 681, 682, 683, 684, 685, 685, 685,
+ 685, 686, 686, 177, 177, 177, 177, 177,
+
+ 687, 687, 687, 687, 687, 687, 687, 687,
+ 687, 687, 687, 687, 687, 687, 687, 687,
+ 687, 687, 687, 687, 687, 687, 687, 687,
+ 687, 687, 687, 687, 687, 687, 687, 687,
+
+ 687, 687, 688, 687, 687, 687, 687, 687,
+ 688, 687, 687, 689, 690, 691, 691, 691,
+ 691, 692, 691, 693, 693, 693, 691, 694,
+ 690, 695, 696, 697, 697, 693, 693, 688,
+
+ 698, 699, 700, 701, 702, 703, 704, 705,
+ 706, 707, 708, 708, 709, 709, 709, 709,
+ 687, 687, 687, 687, 687, 687, 692, 692,
+ 691, 691, 688, 688, 688, 688, 693, 693,
+
+ 693, 688, 689, 689, 689, 688, 688, 689,
+ 689, 689, 689, 689, 689, 689, 688, 688,
+ 688, 693, 693, 693, 693, 688, 688, 688,
+ 688, 688, 688, 688, 688, 688, 688, 688,
+
+ 688, 688, 693, 689, 697, 693, 693, 689,
+ 689, 689, 689, 689, 689, 710, 688, 689,
+ 711, 712, 713, 714, 715, 716, 717, 718,
+ 719, 720, 721, 721, 721, 722, 723, 723,
+
+ 724, 724, 724, 724, 724, 724, 724, 724,
+ 724, 724, 724, 724, 724, 724, 724, 724,
+ 724, 724, 724, 724, 724, 724, 724, 724,
+ 724, 724, 724, 724, 724, 724, 724, 724,
+
+ 724, 724, 724, 724, 724, 724, 177, 725,
+ 177, 177, 177, 177, 177, 725, 177, 177,
+ 726, 726, 726, 726, 726, 726, 726, 726,
+ 726, 726, 726, 726, 726, 726, 726, 726,
+
+ 726, 726, 726, 726, 726, 726, 726, 726,
+ 726, 726, 726, 726, 726, 726, 726, 726,
+ 726, 726, 726, 726, 726, 726, 726, 727,
+ 727, 728, 728, 729, 730, 731, 731, 731,
732, 732, 732, 732, 732, 732, 732, 732,
732, 732, 732, 732, 732, 732, 732, 732,
@@ -1557,82 +1537,97 @@ static const unsigned short uc_property_trie[] = {
732, 732, 732, 732, 732, 732, 732, 732,
732, 732, 732, 732, 732, 732, 732, 732,
732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 733, 733, 733, 733, 733, 733,
-
- 734, 734, 734, 734, 734, 734, 734, 735,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
-
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
-
- 734, 734, 734, 734, 734, 734, 734, 735,
- 734, 175, 734, 734, 734, 734, 175, 175,
- 734, 734, 734, 734, 734, 734, 734, 175,
- 734, 175, 734, 734, 734, 734, 175, 175,
-
- 734, 734, 734, 734, 734, 734, 734, 735,
- 734, 175, 734, 734, 734, 734, 175, 175,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
-
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 735,
- 734, 175, 734, 734, 734, 734, 175, 175,
- 734, 734, 734, 734, 734, 734, 734, 175,
-
- 734, 175, 734, 734, 734, 734, 175, 175,
- 734, 734, 734, 734, 734, 734, 734, 735,
- 734, 734, 734, 734, 734, 734, 734, 175,
- 734, 734, 734, 734, 734, 734, 734, 734,
+ 732, 732, 733, 733, 733, 733, 733, 732,
734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 735,
734, 734, 734, 734, 734, 734, 734, 734,
734, 734, 734, 734, 734, 734, 734, 734,
-
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 735,
- 734, 175, 734, 734, 734, 734, 175, 175,
- 734, 734, 734, 734, 734, 734, 734, 735,
-
- 734, 734, 734, 734, 734, 734, 734, 735,
734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 175, 175, 736, 736, 737,
-
- 738, 739, 740, 741, 741, 741, 741, 740,
- 740, 742, 743, 744, 745, 746, 747, 748,
- 749, 750, 751, 751, 751, 751, 751, 751,
- 751, 751, 751, 751, 751, 175, 175, 175,
-
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
- 752, 752, 752, 752, 752, 752, 752, 752,
- 752, 752, 175, 175, 175, 175, 175, 175,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
+ 734, 734, 734, 735, 735, 735, 735, 735,
+ 736, 736, 736, 736, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 736, 736,
+
+ 736, 736, 736, 736, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 736, 736,
+
+ 736, 736, 736, 736, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 736, 736,
+ 736, 736, 737, 737, 737, 737, 737, 737,
+
+ 738, 738, 738, 738, 738, 738, 738, 739,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+
+ 738, 738, 738, 738, 738, 738, 738, 739,
+ 738, 177, 738, 738, 738, 738, 177, 177,
+ 738, 738, 738, 738, 738, 738, 738, 177,
+ 738, 177, 738, 738, 738, 738, 177, 177,
+
+ 738, 738, 738, 738, 738, 738, 738, 739,
+ 738, 177, 738, 738, 738, 738, 177, 177,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 739,
+ 738, 177, 738, 738, 738, 738, 177, 177,
+ 738, 738, 738, 738, 738, 738, 738, 177,
+
+ 738, 177, 738, 738, 738, 738, 177, 177,
+ 738, 738, 738, 738, 738, 738, 738, 739,
+ 738, 738, 738, 738, 738, 738, 738, 177,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 739,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 739,
+ 738, 177, 738, 738, 738, 738, 177, 177,
+ 738, 738, 738, 738, 738, 738, 738, 739,
+
+ 738, 738, 738, 738, 738, 738, 738, 739,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 738, 738, 738, 738, 738,
+ 738, 738, 738, 177, 177, 740, 740, 741,
+
+ 742, 743, 744, 745, 745, 745, 745, 744,
+ 744, 746, 747, 748, 749, 750, 751, 752,
+ 753, 754, 755, 755, 755, 755, 755, 755,
+ 755, 755, 755, 755, 755, 177, 177, 177,
+
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 756, 756, 756, 756, 756, 756, 756, 756,
+ 756, 756, 177, 177, 177, 177, 177, 177,
- 753, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
+ 757, 757, 757, 757, 757, 757, 757, 757,
+ 757, 757, 757, 757, 757, 757, 757, 757,
+ 757, 757, 757, 757, 757, 757, 757, 757,
+ 757, 757, 757, 757, 757, 757, 757, 757,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 741, 740, 734,
- 734, 734, 734, 734, 734, 734, 734, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
+ 757, 757, 757, 757, 757, 757, 757, 757,
+ 757, 757, 757, 757, 757, 757, 757, 757,
+ 757, 757, 757, 757, 757, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
- 755, 756, 756, 756, 756, 756, 756, 756,
- 756, 756, 756, 756, 756, 756, 756, 756,
- 756, 756, 756, 756, 756, 756, 756, 756,
- 756, 756, 756, 757, 758, 175, 175, 175,
+ 758, 759, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759,
+ 759, 759, 759, 759, 759, 759, 759, 759,
759, 759, 759, 759, 759, 759, 759, 759,
759, 759, 759, 759, 759, 759, 759, 759,
@@ -1640,372 +1635,392 @@ static const unsigned short uc_property_trie[] = {
759, 759, 759, 759, 759, 759, 759, 759,
759, 759, 759, 759, 759, 759, 759, 759,
- 759, 759, 759, 739, 739, 739, 760, 760,
- 760, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 175, 761, 761,
- 761, 761, 762, 762, 763, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 762, 762, 763, 764, 764, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 762, 762, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 761, 761, 761, 175, 761, 761,
- 761, 175, 762, 762, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
-
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 765, 766, 766, 767, 766,
- 766, 766, 766, 766, 766, 766, 767, 767,
-
- 767, 767, 767, 767, 767, 767, 766, 767,
- 767, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 768, 766, 769, 769, 770, 771,
- 769, 772, 769, 773, 765, 774, 175, 175,
-
- 775, 776, 777, 778, 779, 780, 781, 782,
- 783, 784, 175, 175, 175, 175, 175, 175,
- 785, 785, 785, 785, 785, 785, 785, 785,
- 785, 785, 175, 175, 175, 175, 175, 175,
-
- 786, 786, 787, 788, 789, 789, 790, 786,
- 787, 788, 786, 791, 791, 791, 792, 175,
- 793, 794, 795, 796, 797, 798, 799, 800,
- 801, 802, 175, 175, 175, 175, 175, 175,
-
- 734, 734, 734, 149, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
-
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 734, 734, 734, 734, 734, 734, 734,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 803, 804, 175, 175, 175, 175, 175,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
-
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
-
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 175, 175, 175,
-
- 806, 806, 806, 807, 807, 807, 807, 806,
- 806, 807, 807, 807, 175, 175, 175, 175,
- 807, 807, 806, 807, 807, 807, 807, 807,
- 807, 808, 809, 810, 175, 175, 175, 175,
-
- 811, 175, 175, 175, 812, 812, 813, 814,
- 815, 816, 817, 818, 819, 820, 821, 822,
- 823, 823, 823, 823, 823, 823, 823, 823,
- 823, 823, 823, 823, 823, 823, 823, 823,
-
- 823, 823, 823, 823, 823, 823, 823, 823,
- 823, 823, 823, 823, 823, 823, 175, 175,
- 823, 823, 823, 823, 823, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 824, 824, 824, 824, 824, 824, 824, 824,
- 824, 824, 824, 824, 824, 824, 824, 824,
- 824, 824, 824, 824, 824, 824, 824, 824,
- 824, 824, 824, 824, 824, 824, 824, 824,
-
- 824, 824, 824, 824, 824, 824, 824, 824,
- 824, 824, 825, 825, 175, 175, 175, 175,
- 826, 826, 826, 826, 826, 827, 827, 827,
- 826, 826, 827, 826, 826, 826, 826, 826,
-
- 826, 824, 824, 824, 824, 824, 824, 824,
- 826, 826, 175, 175, 175, 175, 175, 175,
- 828, 829, 830, 831, 832, 833, 834, 835,
- 836, 837, 838, 175, 175, 175, 839, 839,
-
- 840, 840, 840, 840, 840, 840, 840, 840,
- 840, 840, 840, 840, 840, 840, 840, 840,
- 840, 840, 840, 840, 840, 840, 840, 840,
- 840, 840, 840, 840, 840, 840, 840, 840,
-
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 737,
- 841, 842, 842, 842, 175, 175, 738, 738,
-
- 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825,
-
- 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 843, 844, 843,
- 844, 844, 844, 844, 844, 844, 844, 175,
-
- 845, 846, 844, 846, 846, 844, 844, 844,
- 844, 844, 844, 844, 844, 843, 843, 843,
- 843, 843, 843, 844, 844, 847, 847, 847,
- 847, 847, 847, 847, 847, 175, 175, 848,
-
+ 759, 759, 759, 759, 759, 760, 761, 759,
+ 759, 759, 759, 759, 759, 759, 759, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762,
+
+ 763, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 765, 766, 177, 177, 177,
+
+ 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 767, 767, 767, 767, 767,
+
+ 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 768, 768, 768, 769, 769,
+ 769, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 770, 770, 770, 770, 770, 770, 770, 770,
+ 770, 770, 770, 770, 770, 177, 770, 770,
+ 770, 770, 771, 771, 772, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 774, 774, 775, 776, 776, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 777, 777, 777, 777, 777, 777, 777, 777,
+ 777, 777, 777, 777, 777, 777, 777, 777,
+ 777, 777, 778, 778, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 779, 779, 779, 779, 779, 779, 779, 779,
+ 779, 779, 779, 779, 779, 177, 779, 779,
+ 779, 177, 780, 780, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781,
+
+ 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 782, 782, 783, 782,
+ 782, 782, 782, 782, 782, 782, 783, 783,
+
+ 783, 783, 783, 783, 783, 783, 782, 783,
+ 783, 782, 782, 782, 782, 782, 782, 782,
+ 782, 782, 784, 782, 785, 785, 786, 787,
+ 785, 788, 785, 789, 781, 790, 177, 177,
+
+ 791, 792, 793, 794, 795, 796, 797, 798,
+ 799, 800, 177, 177, 177, 177, 177, 177,
+ 801, 801, 801, 801, 801, 801, 801, 801,
+ 801, 801, 177, 177, 177, 177, 177, 177,
+
+ 802, 802, 803, 804, 805, 806, 807, 802,
+ 808, 809, 802, 810, 810, 810, 811, 177,
+ 812, 813, 814, 815, 816, 817, 818, 819,
+ 820, 821, 177, 177, 177, 177, 177, 177,
+
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822,
+
+ 822, 822, 822, 823, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822,
+
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 822, 822, 822, 822, 822, 822, 822, 822,
+ 822, 824, 825, 177, 177, 177, 177, 177,
+ 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762,
+
+ 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762,
+
+ 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 826, 826, 826, 826, 826, 826, 826, 826,
+ 826, 826, 826, 826, 826, 826, 826, 826,
+ 826, 826, 826, 826, 826, 826, 826, 826,
+ 826, 826, 826, 826, 826, 177, 177, 177,
+
+ 827, 827, 827, 828, 828, 828, 828, 827,
+ 827, 828, 828, 828, 177, 177, 177, 177,
+ 828, 828, 827, 828, 828, 828, 828, 828,
+ 828, 829, 830, 831, 177, 177, 177, 177,
+
+ 832, 177, 177, 177, 833, 833, 834, 835,
+ 836, 837, 838, 839, 840, 841, 842, 843,
+ 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 844, 844,
+
+ 844, 844, 844, 844, 844, 844, 844, 844,
+ 844, 844, 844, 844, 844, 844, 177, 177,
+ 844, 844, 844, 844, 844, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 845, 845, 845, 845, 845, 845, 845, 845,
+ 845, 845, 845, 845, 845, 845, 845, 845,
+ 845, 845, 845, 845, 845, 845, 845, 845,
+ 845, 845, 845, 845, 845, 845, 845, 845,
+
+ 845, 845, 845, 845, 845, 845, 845, 845,
+ 845, 845, 846, 846, 177, 177, 177, 177,
+ 847, 847, 847, 847, 847, 848, 848, 848,
+ 847, 847, 848, 847, 847, 847, 847, 847,
+
+ 847, 845, 845, 845, 845, 845, 845, 845,
+ 847, 847, 177, 177, 177, 177, 177, 177,
849, 850, 851, 852, 853, 854, 855, 856,
- 857, 858, 175, 175, 175, 175, 175, 175,
- 849, 850, 851, 852, 853, 854, 855, 856,
- 857, 858, 175, 175, 175, 175, 175, 175,
-
- 859, 859, 859, 859, 859, 859, 859, 860,
- 861, 861, 861, 861, 859, 859, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 862, 862, 862, 862, 863, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
-
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 865, 863, 862, 862,
- 862, 862, 862, 863, 862, 863, 863, 863,
-
- 863, 863, 862, 863, 866, 864, 864, 864,
- 864, 864, 864, 864, 175, 175, 175, 175,
- 867, 868, 869, 870, 871, 872, 873, 874,
- 875, 876, 877, 877, 878, 879, 877, 877,
-
- 879, 880, 880, 880, 880, 880, 880, 880,
- 880, 880, 880, 881, 882, 881, 881, 881,
- 881, 881, 881, 881, 880, 880, 880, 880,
- 880, 880, 880, 880, 880, 175, 175, 175,
-
- 883, 883, 884, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
-
- 804, 884, 883, 883, 883, 883, 884, 884,
- 883, 883, 885, 886, 887, 887, 804, 804,
- 888, 889, 890, 891, 892, 893, 894, 895,
- 896, 897, 898, 898, 898, 898, 898, 898,
-
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
-
- 899, 899, 899, 899, 899, 899, 900, 901,
- 902, 902, 901, 901, 901, 902, 901, 902,
- 902, 902, 903, 903, 175, 175, 175, 175,
- 175, 175, 175, 175, 904, 904, 904, 904,
-
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
-
- 804, 804, 804, 804, 884, 884, 884, 884,
- 884, 884, 884, 884, 883, 883, 883, 883,
- 883, 883, 883, 883, 884, 884, 883, 905,
- 175, 175, 175, 906, 906, 907, 907, 907,
-
- 888, 889, 890, 891, 892, 893, 894, 895,
- 896, 897, 175, 175, 175, 804, 804, 804,
- 888, 889, 890, 891, 892, 893, 894, 895,
- 896, 897, 804, 804, 804, 804, 804, 804,
-
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 908, 908, 908, 908, 908, 908, 906, 906,
-
- 909, 909, 909, 909, 909, 909, 909, 909,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 910, 910, 910, 911, 912, 913, 913, 913,
- 913, 913, 910, 910, 913, 913, 913, 913,
-
- 910, 914, 912, 912, 912, 912, 912, 912,
- 912, 754, 754, 754, 754, 913, 754, 754,
- 754, 754, 914, 887, 915, 898, 898, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
+ 857, 858, 859, 177, 177, 177, 860, 860,
+
+ 861, 861, 861, 861, 861, 861, 861, 861,
+ 861, 861, 861, 861, 861, 861, 861, 861,
+ 861, 861, 861, 861, 861, 861, 861, 861,
+ 861, 861, 861, 861, 861, 861, 861, 861,
+
+ 862, 862, 862, 862, 862, 862, 862, 862,
+ 862, 862, 862, 862, 862, 862, 862, 862,
+ 862, 862, 862, 862, 862, 862, 862, 863,
+ 864, 865, 865, 865, 177, 177, 866, 866,
+
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 867, 867, 867,
+ 867, 867, 867, 867, 867, 868, 869, 868,
+ 869, 869, 869, 869, 869, 869, 869, 177,
+
+ 870, 871, 869, 871, 871, 869, 869, 869,
+ 869, 869, 869, 869, 869, 868, 868, 868,
+ 868, 868, 868, 869, 869, 872, 872, 872,
+ 872, 872, 872, 872, 872, 177, 177, 873,
+
+ 874, 875, 876, 877, 878, 879, 880, 881,
+ 882, 883, 177, 177, 177, 177, 177, 177,
+ 874, 875, 876, 877, 878, 879, 880, 881,
+ 882, 883, 177, 177, 177, 177, 177, 177,
+
+ 884, 884, 884, 884, 884, 884, 884, 885,
+ 886, 886, 886, 886, 884, 884, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 887, 887, 887, 887, 888, 889, 889, 889,
+ 889, 889, 889, 889, 889, 889, 889, 889,
+ 889, 889, 889, 889, 889, 889, 889, 889,
+ 889, 889, 889, 889, 889, 889, 889, 889,
+
+ 889, 889, 889, 889, 889, 889, 889, 889,
+ 889, 889, 889, 889, 889, 889, 889, 889,
+ 889, 889, 889, 889, 890, 888, 887, 887,
+ 887, 887, 887, 888, 887, 888, 888, 888,
+
+ 888, 888, 887, 888, 891, 889, 889, 889,
+ 889, 889, 889, 889, 177, 177, 177, 177,
+ 892, 893, 894, 895, 896, 897, 898, 899,
+ 900, 901, 902, 902, 903, 904, 902, 902,
+
+ 904, 905, 905, 905, 905, 905, 905, 905,
+ 905, 905, 905, 906, 907, 906, 906, 906,
+ 906, 906, 906, 906, 905, 905, 905, 905,
+ 905, 905, 905, 905, 905, 177, 177, 177,
+
+ 908, 908, 909, 910, 910, 910, 910, 910,
+ 910, 910, 910, 910, 910, 910, 910, 910,
+ 910, 910, 910, 910, 910, 910, 910, 910,
+ 910, 910, 910, 910, 910, 910, 910, 910,
+
+ 910, 909, 908, 908, 908, 908, 909, 909,
+ 908, 908, 911, 912, 913, 913, 910, 910,
+ 914, 915, 916, 917, 918, 919, 920, 921,
+ 922, 923, 924, 924, 924, 924, 924, 924,
+
+ 925, 925, 925, 925, 925, 925, 925, 925,
+ 925, 925, 925, 925, 925, 925, 925, 925,
+ 925, 925, 925, 925, 925, 925, 925, 925,
+ 925, 925, 925, 925, 925, 925, 925, 925,
+
+ 925, 925, 925, 925, 925, 925, 926, 927,
+ 928, 928, 927, 927, 927, 928, 927, 928,
+ 928, 928, 929, 929, 177, 177, 177, 177,
+ 177, 177, 177, 177, 930, 930, 930, 930,
+
+ 931, 931, 931, 931, 931, 931, 931, 931,
+ 931, 931, 931, 931, 931, 931, 931, 931,
+ 931, 931, 931, 931, 931, 931, 931, 931,
+ 931, 931, 931, 931, 931, 931, 931, 931,
+
+ 931, 931, 931, 931, 932, 932, 932, 932,
+ 932, 932, 932, 932, 933, 933, 933, 933,
+ 933, 933, 933, 933, 932, 932, 933, 934,
+ 177, 177, 177, 935, 935, 936, 936, 936,
+
+ 937, 938, 939, 940, 941, 942, 943, 944,
+ 945, 946, 177, 177, 177, 931, 931, 931,
+ 947, 948, 949, 950, 951, 952, 953, 954,
+ 955, 956, 957, 957, 957, 957, 957, 957,
+
+ 957, 957, 957, 957, 957, 957, 957, 957,
+ 957, 957, 957, 957, 957, 957, 957, 957,
+ 957, 957, 957, 957, 957, 957, 957, 957,
+ 958, 958, 958, 958, 958, 958, 959, 959,
+
+ 960, 960, 960, 960, 960, 960, 960, 960,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 961, 961, 961, 962, 963, 964, 964, 964,
+ 964, 964, 961, 961, 964, 964, 964, 964,
+
+ 961, 965, 963, 963, 963, 963, 963, 963,
+ 963, 966, 966, 966, 966, 964, 966, 966,
+ 966, 966, 965, 967, 968, 969, 969, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
105, 105, 105, 105, 105, 105, 105, 105,
105, 105, 105, 105, 105, 105, 105, 105,
105, 105, 105, 105, 105, 105, 105, 105,
105, 105, 105, 105, 105, 105, 105, 105,
- 105, 105, 105, 105, 105, 105, 916, 916,
- 916, 916, 916, 917, 918, 918, 918, 918,
- 918, 918, 918, 918, 918, 918, 918, 918,
- 918, 918, 918, 918, 918, 918, 918, 918,
+ 105, 105, 105, 105, 105, 105, 970, 970,
+ 970, 970, 970, 971, 972, 972, 972, 972,
+ 972, 972, 972, 972, 972, 972, 972, 972,
+ 972, 972, 972, 972, 972, 972, 972, 972,
- 918, 918, 918, 918, 918, 918, 918, 918,
- 918, 918, 918, 918, 918, 918, 918, 918,
- 918, 918, 918, 918, 918, 918, 918, 918,
- 918, 918, 918, 918, 918, 919, 919, 919,
+ 972, 972, 972, 972, 972, 972, 972, 972,
+ 972, 972, 972, 972, 972, 972, 972, 972,
+ 972, 972, 972, 972, 972, 972, 972, 972,
+ 972, 972, 972, 972, 972, 973, 973, 973,
- 919, 919, 918, 918, 918, 918, 919, 919,
- 919, 919, 919, 105, 106, 106, 106, 106,
+ 973, 973, 972, 972, 972, 972, 973, 973,
+ 973, 973, 973, 105, 106, 106, 106, 106,
106, 106, 106, 106, 106, 106, 106, 106,
- 920, 921, 106, 106, 106, 922, 106, 106,
+ 974, 975, 106, 106, 106, 976, 106, 106,
106, 106, 106, 106, 106, 106, 106, 106,
106, 106, 106, 106, 106, 106, 106, 106,
106, 106, 106, 106, 106, 106, 106, 106,
- 106, 106, 106, 923, 923, 923, 923, 923,
+ 106, 106, 106, 977, 977, 977, 977, 977,
- 923, 923, 923, 923, 923, 923, 923, 923,
- 923, 923, 923, 923, 923, 923, 923, 923,
- 923, 923, 923, 923, 923, 923, 923, 923,
- 923, 923, 923, 923, 923, 923, 923, 924,
+ 977, 977, 977, 977, 977, 977, 977, 977,
+ 977, 977, 977, 977, 977, 977, 977, 977,
+ 977, 977, 977, 977, 977, 977, 977, 977,
+ 977, 977, 977, 977, 977, 977, 977, 978,
- 165, 165, 164, 165, 925, 925, 925, 925,
- 925, 925, 926, 927, 927, 928, 929, 930,
- 931, 927, 927, 927, 927, 927, 927, 927,
- 927, 927, 927, 927, 927, 927, 927, 927,
+ 167, 167, 166, 167, 979, 979, 979, 979,
+ 979, 979, 980, 981, 981, 982, 983, 984,
+ 985, 981, 981, 981, 981, 981, 981, 981,
+ 981, 981, 981, 981, 981, 981, 981, 981,
- 927, 927, 927, 927, 927, 927, 927, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 932, 913, 925, 926,
+ 981, 981, 981, 981, 981, 981, 981, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 986, 964, 979, 980,
67, 68, 67, 68, 67, 68, 67, 68,
67, 68, 67, 68, 67, 68, 67, 68,
- 67, 68, 67, 68, 67, 68, 933, 934,
- 935, 936, 937, 938, 939, 939, 940, 939,
+ 67, 68, 67, 68, 67, 68, 987, 988,
+ 989, 990, 991, 992, 993, 993, 994, 993,
67, 68, 67, 68, 67, 68, 67, 68,
67, 68, 67, 68, 67, 68, 67, 68,
67, 68, 67, 68, 67, 68, 67, 68,
- 67, 68, 941, 942, 941, 942, 941, 942,
-
- 943, 943, 943, 943, 943, 943, 943, 943,
- 944, 944, 944, 944, 944, 944, 944, 944,
- 943, 943, 943, 943, 943, 943, 175, 175,
- 944, 944, 944, 944, 944, 944, 175, 175,
-
- 943, 943, 943, 943, 943, 943, 943, 943,
- 944, 944, 944, 944, 944, 944, 944, 944,
- 943, 943, 943, 943, 943, 943, 943, 943,
- 944, 944, 944, 944, 944, 944, 944, 944,
-
- 943, 943, 943, 943, 943, 943, 175, 175,
- 944, 944, 944, 944, 944, 944, 175, 175,
- 945, 943, 946, 943, 947, 943, 948, 943,
- 175, 944, 175, 944, 175, 944, 175, 944,
-
- 943, 943, 943, 943, 943, 943, 943, 943,
- 944, 944, 944, 944, 944, 944, 944, 944,
- 949, 949, 950, 950, 950, 950, 951, 951,
- 952, 952, 953, 953, 954, 954, 175, 175,
-
- 955, 956, 957, 958, 959, 960, 961, 962,
- 963, 964, 965, 966, 967, 968, 969, 970,
- 971, 972, 973, 974, 975, 976, 977, 978,
- 979, 980, 981, 982, 983, 984, 985, 986,
-
- 987, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 999, 1000, 1001, 1002,
- 943, 943, 1003, 1004, 1005, 175, 1006, 1007,
- 944, 944, 1008, 1008, 1009, 174, 1010, 174,
-
- 174, 174, 1011, 1012, 1013, 175, 1014, 1015,
- 1016, 1016, 1016, 1016, 1017, 174, 174, 174,
- 943, 943, 1018, 182, 175, 175, 1019, 1020,
- 944, 944, 1021, 1021, 175, 174, 174, 174,
-
- 943, 943, 1022, 186, 1023, 204, 1024, 1025,
- 944, 944, 1026, 1026, 1027, 174, 174, 174,
- 175, 175, 1028, 1029, 1030, 175, 1031, 1032,
- 1033, 1033, 1034, 1034, 1035, 1036, 174, 175,
-
- 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1038,
- 1037, 1037, 1037, 1039, 1040, 1041, 1042, 1043,
- 1044, 1045, 1044, 1046, 1047, 1048, 14, 14,
- 1049, 1050, 1051, 1052, 1052, 1053, 1051, 1052,
-
- 14, 14, 14, 14, 1054, 1055, 1055, 1056,
- 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
- 13, 13, 13, 13, 13, 1065, 1065, 1065,
- 14, 1066, 1067, 14, 1068, 1068, 14, 43,
-
- 43, 14, 14, 14, 1069, 16, 1070, 1071,
- 1072, 1072, 786, 786, 786, 786, 1073, 1073,
- 1073, 1073, 1074, 1075, 1076, 1077, 1078, 1073,
- 1078, 1078, 1078, 1078, 1077, 1078, 1078, 1079,
-
- 1080, 1081, 1081, 1081, 1082, 1083, 1083, 1083,
- 1083, 1083, 1084, 1084, 1084, 1084, 1084, 1084,
- 1085, 1086, 175, 175, 1087, 1088, 1089, 1090,
- 1091, 1092, 1093, 1093, 36, 16, 1070, 142,
-
- 1085, 62, 57, 58, 1087, 1088, 1089, 1090,
- 1091, 1092, 1093, 1093, 36, 16, 1070, 175,
- 923, 923, 923, 923, 923, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 175, 175, 175,
+ 67, 68, 995, 996, 995, 996, 995, 996,
+
+ 997, 997, 997, 997, 997, 997, 997, 997,
+ 998, 998, 998, 998, 998, 998, 998, 998,
+ 997, 997, 997, 997, 997, 997, 177, 177,
+ 998, 998, 998, 998, 998, 998, 177, 177,
+
+ 997, 997, 997, 997, 997, 997, 997, 997,
+ 998, 998, 998, 998, 998, 998, 998, 998,
+ 997, 997, 997, 997, 997, 997, 997, 997,
+ 998, 998, 998, 998, 998, 998, 998, 998,
+
+ 997, 997, 997, 997, 997, 997, 177, 177,
+ 998, 998, 998, 998, 998, 998, 177, 177,
+ 999, 997, 1000, 997, 1001, 997, 1002, 997,
+ 177, 998, 177, 998, 177, 998, 177, 998,
+
+ 997, 997, 997, 997, 997, 997, 997, 997,
+ 998, 998, 998, 998, 998, 998, 998, 998,
+ 1003, 1003, 1004, 1004, 1004, 1004, 1005, 1005,
+ 1006, 1006, 1007, 1007, 1008, 1008, 177, 177,
+
+ 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
+ 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024,
+ 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032,
+ 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,
+
+ 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048,
+ 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056,
+ 997, 997, 1057, 1058, 1059, 177, 1060, 1061,
+ 998, 998, 1062, 1062, 1063, 176, 1064, 176,
+
+ 176, 176, 1065, 1066, 1067, 177, 1068, 1069,
+ 1070, 1070, 1070, 1070, 1071, 176, 176, 176,
+ 997, 997, 1072, 184, 177, 177, 1073, 1074,
+ 998, 998, 1075, 1075, 177, 176, 176, 176,
+
+ 997, 997, 1076, 188, 1077, 208, 1078, 1079,
+ 998, 998, 1080, 1080, 1081, 176, 176, 176,
+ 177, 177, 1082, 1083, 1084, 177, 1085, 1086,
+ 1087, 1087, 1088, 1088, 1089, 1090, 176, 177,
+
+ 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1092,
+ 1091, 1091, 1091, 1093, 1094, 1095, 1096, 1097,
+ 1098, 1099, 1098, 1100, 1101, 1102, 14, 14,
+ 1103, 1104, 1105, 1106, 1106, 1107, 1105, 1106,
+
+ 14, 14, 14, 14, 1108, 1109, 1109, 1110,
+ 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118,
+ 13, 13, 13, 13, 13, 1119, 1119, 1119,
+ 14, 1120, 1121, 14, 1122, 1122, 14, 43,
+
+ 43, 14, 14, 14, 1123, 16, 1124, 1125,
+ 1126, 1126, 1127, 1127, 1127, 1127, 1128, 1128,
+ 1128, 1128, 1129, 1130, 1131, 1132, 1133, 1128,
+ 1133, 1133, 1133, 1133, 1132, 1133, 1133, 1134,
+
+ 1135, 1136, 1136, 1136, 1137, 1138, 1138, 1138,
+ 1138, 1138, 1139, 1139, 1139, 1139, 1139, 1139,
+ 1140, 1141, 177, 177, 1142, 1143, 1144, 1145,
+ 1146, 1147, 1148, 1148, 36, 16, 1124, 142,
+
+ 1140, 62, 57, 58, 1142, 1143, 1144, 1145,
+ 1146, 1147, 1148, 1148, 36, 16, 1124, 177,
+ 977, 977, 977, 977, 977, 1149, 1149, 1149,
+ 1149, 1149, 1149, 1149, 1149, 177, 177, 177,
12, 12, 12, 12, 12, 12, 12, 50,
- 12, 12, 12, 1095, 1096, 1097, 1097, 1097,
- 1098, 1098, 1099, 1099, 1099, 1099, 1100, 1101,
- 1101, 1102, 1103, 175, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 151, 151, 156, 156, 151, 151, 151, 151,
- 156, 156, 156, 151, 151, 1104, 1104, 1104,
-
- 1104, 151, 1105, 1105, 1106, 1107, 1107, 171,
- 1108, 171, 1107, 1109, 926, 926, 926, 926,
- 927, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 51, 51, 1110, 1111, 51, 51, 51, 1110,
- 51, 1111, 71, 1110, 1110, 1110, 71, 71,
- 1110, 1110, 1110, 71, 51, 1110, 1112, 51,
- 36, 1110, 1110, 1110, 1110, 1110, 51, 51,
-
- 51, 51, 51, 51, 1110, 51, 1113, 51,
- 1110, 51, 1114, 1115, 1110, 1110, 1116, 71,
- 1110, 1110, 1117, 1110, 71, 93, 93, 93,
- 93, 141, 1118, 811, 106, 1119, 1120, 1120,
-
- 1074, 1074, 1074, 1074, 1074, 1120, 1119, 1119,
- 1119, 1119, 1121, 1074, 752, 1122, 1123, 1124,
- 1125, 1125, 1125, 64, 64, 64, 64, 64,
+ 12, 12, 12, 1150, 1151, 1152, 1152, 1152,
+ 1153, 1153, 1154, 1154, 1154, 1154, 1155, 1156,
+ 1156, 1157, 1158, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 153, 153, 158, 158, 153, 153, 153, 153,
+ 158, 158, 158, 153, 153, 1159, 1159, 1159,
+
+ 1159, 153, 1160, 1160, 1161, 1162, 1162, 173,
+ 1163, 173, 1162, 1164, 980, 980, 980, 980,
+ 981, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 51, 51, 1165, 1166, 51, 51, 51, 1165,
+ 51, 1166, 1167, 1165, 1165, 1165, 1167, 1167,
+ 1165, 1165, 1165, 1167, 51, 1165, 1168, 51,
+ 36, 1165, 1165, 1165, 1165, 1165, 51, 51,
+
+ 51, 51, 51, 51, 1165, 51, 1169, 51,
+ 1165, 51, 1170, 1171, 1165, 1165, 1172, 1167,
+ 1165, 1165, 1173, 1165, 1167, 1174, 1174, 1174,
+ 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1180,
+
+ 1129, 1129, 1129, 1129, 1129, 1180, 1179, 1179,
+ 1179, 1179, 1181, 1129, 1182, 1183, 1184, 1185,
+ 1186, 1186, 1186, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64,
- 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
- 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
- 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
- 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
+ 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
+ 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
+ 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
+ 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
- 1128, 1128, 1128, 102, 113, 1129, 1129, 1129,
- 1129, 1125, 175, 175, 175, 175, 175, 175,
+ 1189, 1189, 1189, 102, 113, 1190, 1190, 1190,
+ 1190, 1186, 177, 177, 177, 177, 177, 177,
36, 36, 36, 36, 36, 51, 51, 51,
51, 51, 36, 36, 51, 51, 51, 51,
@@ -2020,134 +2035,134 @@ static const unsigned short uc_property_trie[] = {
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 1118, 1118, 1118, 1118, 1118,
- 1118, 1118, 1118, 1118, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
+ 51, 51, 51, 1176, 1176, 1176, 1176, 1176,
+ 1176, 1176, 1176, 1176, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
36, 36, 36, 36, 36, 36, 36, 36,
- 1130, 1130, 1130, 1131, 1131, 1131, 36, 36,
- 36, 36, 18, 56, 36, 1132, 36, 36,
+ 1191, 1191, 1191, 1192, 1192, 1192, 36, 36,
+ 36, 36, 18, 56, 36, 1193, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 1133, 1134, 36, 36,
+ 36, 36, 36, 36, 1194, 1195, 36, 36,
- 36, 36, 36, 1135, 36, 36, 36, 36,
+ 36, 36, 36, 1196, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 1133, 1134, 1133, 1134, 36, 36,
+ 36, 36, 1194, 1195, 1194, 1195, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 1133, 1134, 1133, 1134,
- 1133, 1134, 1133, 1134, 36, 36, 1133, 1134,
- 1133, 1134, 1133, 1134, 1133, 1134, 1133, 1134,
- 1133, 1134, 1133, 1134, 1133, 1134, 1133, 1134,
+ 36, 36, 36, 36, 1194, 1195, 1194, 1195,
+ 1194, 1195, 1194, 1195, 36, 36, 1194, 1195,
+ 1194, 1195, 1194, 1195, 1194, 1195, 1194, 1195,
+ 1194, 1195, 1194, 1195, 1194, 1195, 1194, 1195,
- 1133, 1134, 1133, 1134, 1133, 1134, 1133, 1134,
- 1133, 1134, 1133, 1134, 36, 36, 36, 1133,
- 1134, 1133, 1134, 36, 36, 36, 36, 36,
- 1136, 36, 36, 36, 36, 36, 36, 36,
+ 1194, 1195, 1194, 1195, 1194, 1195, 1194, 1195,
+ 1194, 1195, 1194, 1195, 36, 36, 36, 1194,
+ 1195, 1194, 1195, 36, 36, 36, 36, 36,
+ 1197, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 1133, 1134, 36, 36, 1137, 36,
- 1138, 1139, 36, 1139, 36, 36, 36, 36,
- 1133, 1134, 1133, 1134, 1133, 1134, 1133, 1134,
+ 36, 36, 1194, 1195, 36, 36, 1198, 36,
+ 1199, 1200, 36, 1200, 36, 36, 36, 36,
+ 1194, 1195, 1194, 1195, 1194, 1195, 1194, 1195,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
- 36, 1133, 1134, 1133, 1134, 1140, 36, 36,
- 1133, 1134, 36, 36, 36, 36, 1133, 1134,
- 1133, 1134, 1133, 1134, 1133, 1134, 1133, 1134,
+ 36, 1194, 1195, 1194, 1195, 1201, 36, 36,
+ 1194, 1195, 36, 36, 36, 36, 1194, 1195,
+ 1194, 1195, 1194, 1195, 1194, 1195, 1194, 1195,
- 1133, 1134, 1133, 1134, 1133, 1134, 1133, 1134,
- 1133, 1134, 1133, 1134, 1133, 1134, 36, 36,
- 1133, 1134, 1141, 1141, 1141, 1074, 1142, 1142,
- 1074, 1074, 1143, 1143, 1143, 1144, 1144, 1074,
+ 1194, 1195, 1194, 1195, 1194, 1195, 1194, 1195,
+ 1194, 1195, 1194, 1195, 1194, 1195, 36, 36,
+ 1194, 1195, 1202, 1202, 1202, 1129, 1203, 1203,
+ 1129, 1129, 1204, 1204, 1204, 1205, 1205, 1129,
- 51, 1118, 51, 51, 51, 51, 51, 51,
- 1133, 1134, 1133, 1134, 51, 51, 51, 51,
+ 51, 1176, 51, 51, 51, 51, 51, 51,
+ 1194, 1195, 1194, 1195, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 1145, 1145, 51, 51, 51, 51,
+ 51, 51, 1206, 1206, 51, 51, 51, 51,
36, 36, 51, 51, 51, 51, 51, 51,
- 51, 16, 1070, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
-
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
-
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1118, 1074, 1118, 1118, 1118,
-
- 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
- 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
- 1118, 1118, 1118, 1118, 1118, 1147, 1118, 1118,
- 1118, 1118, 1118, 1074, 1074, 1074, 1074, 1074,
-
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1121, 1121, 1121, 1121,
- 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
-
- 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
- 1121, 1121, 1121, 1121, 1121, 1121, 1121, 811,
- 811, 752, 752, 752, 752, 752, 752, 752,
- 752, 752, 752, 752, 1148, 1148, 1148, 1148,
-
- 1148, 1148, 1122, 1122, 1122, 1122, 1122, 1122,
- 1149, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1151, 1151, 1151, 1151, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
+ 51, 16, 1124, 51, 51, 51, 51, 51,
+ 51, 51, 51, 51, 51, 51, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1176, 1129, 1176, 1176, 1176,
+
+ 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
+ 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
+ 1176, 1176, 1176, 1176, 1176, 1208, 1176, 1176,
+ 1176, 1176, 1176, 1129, 1129, 1129, 1129, 1129,
+
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1177,
+ 1177, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1209, 1209, 1209, 1209,
+
+ 1209, 1209, 1183, 1183, 1183, 1183, 1183, 1183,
+ 1210, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1212, 1212, 1212, 1212, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 1118, 1118, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
+ 51, 51, 51, 51, 51, 1176, 1176, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
+ 51, 51, 51, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
- 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159,
- 1160, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 1152, 1153, 1154, 1155,
- 1156, 1157, 1158, 1159, 1160, 64, 64, 64,
+ 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220,
+ 1221, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 1213, 1214, 1215, 1216,
+ 1217, 1218, 1219, 1220, 1221, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64,
- 62, 57, 58, 1087, 1088, 1089, 1090, 1091,
- 1092, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
- 1161, 1161, 1161, 1161, 1146, 1146, 1146, 1146,
+ 62, 57, 58, 1142, 1143, 1144, 1145, 1146,
+ 1147, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
+ 1222, 1222, 1222, 1222, 1207, 1207, 1207, 1207,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1162, 1162,
- 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
- 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
- 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
- 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
- 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
- 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
- 1163, 1163, 1164, 1165, 1165, 1165, 1165, 1165,
- 1165, 1165, 1165, 1165, 1165, 1166, 1167, 1168,
- 1169, 1170, 1171, 1172, 1173, 1174, 1165, 1175,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1225, 1226, 1226, 1226, 1226, 1226,
+ 1226, 1226, 1226, 1226, 1226, 1227, 1228, 1229,
+ 1230, 1231, 1232, 1233, 1234, 1235, 1226, 1236,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 1121, 1121,
- 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
+ 51, 51, 51, 51, 51, 51, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
@@ -2161,721 +2176,196 @@ static const unsigned short uc_property_trie[] = {
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
+ 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
- 1145, 1145, 1145, 1145, 51, 51, 51, 51,
+ 1206, 1206, 1206, 1206, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 1176, 1176, 1121, 1121,
- 1177, 1118, 1145, 1145, 1145, 1145, 1145, 1145,
+ 51, 51, 51, 51, 1237, 1237, 1181, 1181,
+ 1238, 1176, 1206, 1206, 1206, 1206, 1206, 1206,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 51, 1145, 1145, 1145, 51, 51, 51, 51,
+ 51, 1206, 1206, 1206, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 1145, 51, 51, 51, 51, 51, 51, 36,
- 1118, 1118, 1121, 1121, 1121, 1121, 1121, 1121,
- 1121, 1121, 1121, 1121, 1121, 1121, 752, 1177,
-
- 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
- 1121, 1121, 811, 811, 811, 811, 811, 811,
- 811, 811, 752, 752, 752, 752, 752, 752,
- 752, 752, 752, 752, 752, 1178, 1149, 1149,
-
- 811, 811, 752, 752, 752, 752, 752, 752,
- 752, 752, 752, 752, 1179, 752, 752, 752,
- 752, 752, 1122, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1180, 1180, 1180,
-
- 1181, 1181, 1181, 1181, 1180, 1180, 1180, 1180,
- 1180, 1149, 1149, 1149, 1149, 1180, 1150, 1180,
- 1180, 1180, 1149, 1180, 1180, 1149, 1149, 1149,
- 1180, 1180, 1149, 1149, 1180, 1149, 1149, 1180,
-
- 1180, 1180, 1150, 1149, 1150, 1150, 1150, 1150,
- 1149, 1149, 1180, 1149, 1149, 1149, 1149, 1149,
- 1149, 1180, 1180, 1180, 1180, 1180, 1149, 1180,
- 1180, 1180, 1180, 1149, 1149, 1180, 1180, 1180,
-
- 175, 1145, 1145, 1145, 1145, 1150, 51, 51,
- 1145, 1145, 1151, 1151, 1145, 1145, 51, 51,
+ 1206, 51, 51, 51, 51, 51, 51, 36,
+ 1176, 1176, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1238,
+
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1182, 1182, 1182, 1182, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1182, 1239, 1210, 1210,
+
+ 1177, 1177, 1182, 1182, 1182, 1182, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1240, 1182, 1182, 1182,
+ 1182, 1182, 1183, 1239, 1239, 1239, 1239, 1239,
+ 1239, 1239, 1239, 1239, 1239, 1241, 1241, 1241,
+
+ 1242, 1242, 1242, 1242, 1241, 1241, 1241, 1241,
+ 1241, 1210, 1210, 1210, 1210, 1241, 1211, 1241,
+ 1241, 1241, 1210, 1241, 1241, 1210, 1210, 1210,
+ 1241, 1241, 1210, 1210, 1241, 1210, 1210, 1241,
+
+ 1241, 1241, 1211, 1210, 1211, 1211, 1211, 1211,
+ 1210, 1210, 1241, 1210, 1210, 1210, 1210, 1210,
+ 1210, 1241, 1241, 1241, 1241, 1241, 1210, 1241,
+ 1241, 1241, 1241, 1210, 1210, 1241, 1241, 1241,
+
+ 177, 1206, 1206, 1206, 1206, 1211, 51, 51,
+ 1206, 1206, 1212, 1212, 1206, 1206, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 1150, 51, 51, 51, 51, 51, 51, 51,
+ 1211, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 1150, 51, 1150, 51,
- 51, 51, 51, 1150, 1150, 1150, 51, 1149,
- 51, 51, 51, 1182, 1182, 1182, 1182, 1150,
-
- 1150, 51, 1183, 1183, 51, 51, 51, 51,
- 1184, 1185, 1184, 1185, 1184, 1185, 1184, 1185,
- 1184, 1185, 1184, 1185, 1184, 1185, 1152, 1153,
- 1154, 1155, 1156, 1157, 1158, 1159, 1160, 64,
-
- 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159,
- 1160, 64, 1152, 1153, 1154, 1155, 1156, 1157,
- 1158, 1159, 1160, 64, 51, 1150, 1150, 1150,
+ 51, 51, 51, 51, 1211, 51, 1211, 51,
+ 51, 51, 51, 1211, 1211, 1211, 51, 1210,
+ 51, 51, 51, 1243, 1243, 1243, 1243, 1211,
+
+ 1211, 51, 1244, 1244, 51, 51, 51, 51,
+ 1245, 1246, 1245, 1246, 1245, 1246, 1245, 1246,
+ 1245, 1246, 1245, 1246, 1245, 1246, 1213, 1214,
+ 1215, 1216, 1217, 1218, 1219, 1220, 1221, 64,
+
+ 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220,
+ 1221, 64, 1213, 1214, 1215, 1216, 1217, 1218,
+ 1219, 1220, 1221, 64, 51, 1211, 1211, 1211,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51,
- 1150, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 1150,
-
- 1186, 1186, 1186, 1187, 1188, 1189, 1190, 1148,
- 1191, 1192, 1148, 1193, 1194, 1195, 1196, 1196,
- 1074, 1074, 1074, 1074, 1074, 1197, 1198, 1074,
- 1074, 1074, 1074, 1074, 1074, 1197, 1198, 1074,
-
- 1074, 1074, 1197, 1198, 1197, 1198, 1184, 1185,
- 1184, 1185, 1184, 1185, 1199, 1200, 1199, 1200,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
-
- 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
- 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
- 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
- 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
-
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
-
- 1074, 1074, 1074, 1184, 1185, 1184, 1185, 1184,
- 1185, 1184, 1185, 1184, 1185, 1201, 1202, 1203,
- 1204, 1184, 1185, 1184, 1185, 1184, 1185, 1184,
- 1185, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
-
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1205, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
-
- 1197, 1198, 1074, 1074, 1197, 1198, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1197,
- 1198, 1197, 1198, 1074, 1197, 1198, 1074, 1074,
- 1184, 1185, 1184, 1185, 1074, 1074, 1074, 1074,
-
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1206, 1074, 1074,
- 1197, 1198, 1074, 1074, 1184, 1185, 1074, 1074,
-
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1197, 1198, 1197, 1198, 1074,
- 1074, 1074, 1074, 1074, 1197, 1198, 1074, 1074,
- 1074, 1074, 1074, 1074, 1197, 1198, 1074, 1074,
-
- 1074, 1074, 1074, 1074, 1197, 1198, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
- 1074, 1197, 1198, 1074, 1074, 1197, 1198, 1197,
-
- 1198, 1197, 1198, 1197, 1198, 1074, 1074, 1074,
- 1074, 1074, 1074, 1197, 1198, 1074, 1074, 1074,
- 1074, 1197, 1198, 1197, 1198, 1197, 1198, 1197,
- 1198, 1197, 1198, 1197, 1198, 1074, 1074, 1074,
-
- 1074, 1197, 1198, 1074, 1074, 1074, 1197, 1198,
- 1197, 1198, 1197, 1198, 1197, 1198, 1074, 1197,
- 1198, 1074, 1074, 1197, 1198, 1074, 1074, 1074,
- 1074, 1074, 1074, 1197, 1198, 1197, 1198, 1197,
-
- 1198, 1197, 1198, 1197, 1198, 1197, 1198, 1074,
- 1074, 1074, 1074, 1074, 1074, 1197, 1198, 1197,
- 1198, 1197, 1198, 1197, 1198, 1197, 1198, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1207, 1074,
-
- 1074, 1074, 1074, 1208, 1209, 1208, 1074, 1074,
- 1074, 1074, 1074, 1074, 1197, 1198, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1197,
- 1198, 1197, 1198, 1074, 1074, 1074, 1074, 1074,
-
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 752, 752,
- 752, 752, 752, 752, 1122, 1122, 1122, 1122,
- 1122, 1122, 1122, 1178, 1178, 1178, 1178, 1178,
-
- 1122, 1122, 1122, 1122, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
- 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
-
- 1194, 1194, 1194, 1194, 1194, 1178, 1178, 1194,
- 1194, 1194, 1194, 1194, 1194, 175, 175, 175,
- 1178, 1178, 1178, 1178, 1178, 1149, 1149, 1149,
- 1149, 1149, 175, 175, 175, 175, 175, 175,
-
- 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
- 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
- 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
- 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
-
- 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
- 1210, 1210, 1210, 1210, 1210, 1210, 1210, 175,
- 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
- 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 51, 51, 51, 51, 51, 51, 51,
+ 51, 51, 51, 51, 51, 51, 51, 1211,
+
+ 1247, 1247, 1247, 1248, 1249, 1250, 1251, 1209,
+ 1252, 1253, 1209, 1254, 1255, 1256, 1257, 1257,
+ 1129, 1129, 1129, 1129, 1129, 1258, 1259, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1258, 1259, 1129,
+
+ 1129, 1129, 1258, 1259, 1258, 1259, 1245, 1246,
+ 1245, 1246, 1245, 1246, 1260, 1261, 1260, 1261,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+
+ 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262,
+ 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262,
+ 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262,
+ 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262,
+
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+
+ 1129, 1129, 1129, 1245, 1246, 1245, 1246, 1245,
+ 1246, 1245, 1246, 1245, 1246, 1263, 1264, 1265,
+ 1266, 1245, 1246, 1245, 1246, 1245, 1246, 1245,
+ 1246, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1267, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+
+ 1258, 1259, 1129, 1129, 1258, 1259, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1258,
+ 1259, 1258, 1259, 1129, 1258, 1259, 1129, 1129,
+ 1245, 1246, 1245, 1246, 1129, 1129, 1129, 1129,
+
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1268, 1129, 1129,
+ 1258, 1259, 1129, 1129, 1245, 1246, 1129, 1129,
+
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1258, 1259, 1258, 1259, 1129,
+ 1129, 1129, 1129, 1129, 1258, 1259, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1258, 1259, 1129, 1129,
+
+ 1129, 1129, 1129, 1129, 1258, 1259, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1258, 1259, 1129, 1129, 1258, 1259, 1258,
+
+ 1259, 1258, 1259, 1258, 1259, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1258, 1259, 1129, 1129, 1129,
+ 1129, 1258, 1259, 1258, 1259, 1258, 1259, 1258,
+ 1259, 1258, 1259, 1258, 1259, 1129, 1129, 1129,
+
+ 1129, 1258, 1259, 1129, 1129, 1129, 1258, 1259,
+ 1258, 1259, 1258, 1259, 1258, 1259, 1129, 1258,
+ 1259, 1129, 1129, 1258, 1259, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1258, 1259, 1258, 1259, 1258,
+
+ 1259, 1258, 1259, 1258, 1259, 1258, 1259, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1258, 1259, 1258,
+ 1259, 1258, 1259, 1258, 1259, 1258, 1259, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1269, 1129,
+
+ 1129, 1129, 1129, 1270, 1271, 1270, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1258, 1259, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1258,
+ 1259, 1258, 1259, 1129, 1129, 1129, 1129, 1129,
- 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
- 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
- 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
- 1211, 1211, 1211, 1211, 1211, 1211, 1211, 175,
-
- 117, 113, 1212, 1213, 1214, 1215, 1216, 117,
- 113, 117, 113, 117, 113, 1217, 1218, 1219,
- 1220, 939, 941, 942, 1221, 117, 113, 1221,
- 939, 939, 939, 939, 1222, 1222, 1223, 1223,
-
- 108, 109, 108, 109, 108, 109, 108, 109,
- 108, 109, 108, 109, 108, 109, 108, 109,
- 108, 109, 108, 109, 108, 109, 108, 109,
- 108, 109, 108, 109, 108, 109, 108, 109,
-
- 108, 109, 108, 109, 106, 752, 752, 752,
- 752, 752, 752, 1224, 1225, 1224, 1225, 390,
- 390, 390, 1226, 1227, 175, 175, 175, 175,
- 175, 1228, 1078, 1078, 1078, 1229, 1228, 1078,
-
- 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
- 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
- 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
- 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
-
- 1230, 1230, 1230, 1230, 1230, 1230, 175, 1231,
- 175, 175, 175, 175, 175, 1231, 175, 175,
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
-
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
-
- 735, 735, 735, 735, 735, 735, 898, 898,
- 175, 175, 175, 175, 175, 175, 175, 1232,
- 1233, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 1234,
-
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 735, 735, 735, 735, 735, 735, 735, 175,
- 735, 735, 735, 735, 735, 735, 735, 175,
- 735, 735, 735, 735, 735, 735, 735, 175,
- 735, 735, 735, 735, 735, 735, 735, 175,
-
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
-
- 1235, 1235, 1236, 1237, 1236, 1237, 1235, 1235,
- 1235, 1236, 1237, 1235, 1236, 1237, 1078, 1078,
- 1078, 1078, 1078, 1078, 1078, 1078, 1077, 1238,
- 1239, 1240, 1241, 1242, 1236, 1237, 1242, 1242,
-
- 1243, 1244, 1199, 1200, 1199, 1200, 1199, 1200,
- 1199, 1200, 1240, 1240, 1240, 1240, 1245, 1246,
- 1240, 1247, 1248, 1249, 1249, 1248, 1248, 1248,
- 1248, 1248, 1250, 1250, 175, 175, 175, 175,
-
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 175, 1251, 1251, 1251, 1251, 1251,
-
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
-
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 175, 175, 175, 175,
-
- 1252, 1253, 1254, 1255, 1145, 1256, 1257, 1258,
- 16, 1070, 16, 1070, 16, 1070, 16, 1070,
- 16, 1070, 1145, 1145, 16, 1070, 16, 1070,
- 16, 1070, 16, 1070, 1259, 1051, 1260, 1260,
-
- 1145, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
- 1258, 1258, 1261, 1262, 152, 1263, 1264, 1264,
- 1265, 1266, 1266, 1266, 1266, 1266, 1145, 1145,
- 1267, 1267, 1267, 1268, 1269, 1270, 1251, 1145,
-
- 175, 1271, 1257, 1271, 1257, 1271, 1257, 1271,
- 1257, 1271, 1257, 1257, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
-
- 1257, 1257, 1257, 1271, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
-
- 1257, 1257, 1257, 1271, 1257, 1271, 1257, 1271,
- 1257, 1257, 1257, 1257, 1257, 1257, 1271, 1257,
- 1257, 1257, 1257, 1257, 1257, 1272, 1272, 175,
- 175, 1273, 1273, 1274, 1274, 1275, 1275, 1276,
-
- 1277, 1278, 1279, 1278, 1279, 1278, 1279, 1278,
- 1279, 1278, 1279, 1279, 1279, 1279, 1279, 1279,
- 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
- 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
-
- 1279, 1279, 1279, 1278, 1279, 1279, 1279, 1279,
- 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
- 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
- 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
-
- 1279, 1279, 1279, 1278, 1279, 1278, 1279, 1278,
- 1279, 1279, 1279, 1279, 1279, 1279, 1278, 1279,
- 1279, 1279, 1279, 1279, 1279, 1278, 1278, 1279,
- 1279, 1279, 1279, 1280, 1281, 1281, 1281, 1282,
-
- 175, 175, 175, 175, 175, 1283, 1283, 1283,
- 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
- 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
- 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
-
- 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
- 1283, 1283, 1283, 1283, 1283, 1284, 175, 175,
- 175, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
- 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
-
- 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
- 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
- 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
- 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
-
- 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
- 1285, 1285, 1285, 1285, 1285, 1285, 1285, 175,
- 1286, 1286, 1287, 1287, 1287, 1287, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
-
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1289, 1289, 1289, 175, 175, 175, 175, 175,
-
- 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1183, 1183, 1183, 1183,
+ 1183, 1183, 1183, 1239, 1239, 1239, 1239, 1239,
+
+ 1183, 1183, 1183, 1183, 1239, 1239, 1239, 1239,
+ 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239,
+ 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
+ 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
+
+ 1255, 1255, 1255, 1255, 1255, 1239, 1239, 1255,
+ 1255, 1255, 1255, 1255, 1255, 177, 177, 177,
+ 1239, 1239, 1239, 1239, 1239, 1210, 1210, 1210,
+ 1210, 1210, 177, 177, 177, 177, 177, 177,
+
+ 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272,
+ 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272,
+ 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272,
+ 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272,
+
+ 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272,
+ 1272, 1272, 1272, 1272, 1272, 1272, 1272, 177,
+ 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
+ 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
+
+ 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
+ 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
+ 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
+ 1273, 1273, 1273, 1273, 1273, 1273, 1273, 177,
+
+ 117, 113, 1274, 1275, 1276, 1277, 1278, 117,
+ 113, 117, 113, 117, 113, 1279, 1280, 1281,
+ 1282, 993, 995, 996, 1283, 117, 113, 1283,
+ 993, 993, 993, 993, 1284, 1284, 1285, 1285,
+
+ 1286, 1287, 1286, 1287, 1286, 1287, 1286, 1287,
+ 1286, 1287, 1286, 1287, 1286, 1287, 1286, 1287,
+ 1286, 1287, 1286, 1287, 1286, 1287, 1286, 1287,
+ 1286, 1287, 1286, 1287, 1286, 1287, 1286, 1287,
+
+ 1286, 1287, 1286, 1287, 1288, 1289, 1289, 1289,
+ 1289, 1289, 1289, 1290, 1291, 1290, 1291, 1292,
+ 1292, 1292, 1293, 1294, 177, 177, 177, 177,
+ 177, 1295, 1296, 1296, 1296, 1297, 1295, 1296,
- 1181, 1181, 1181, 1181, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290,
- 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290,
-
- 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
- 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
- 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
- 1291, 1291, 1291, 1291, 1291, 1292, 1292, 175,
-
- 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- 1287, 1287, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
-
- 1286, 1286, 1286, 1286, 1293, 1293, 1293, 1293,
- 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294,
- 1176, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
- 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
-
- 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
- 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
- 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
- 1291, 1291, 1291, 1291, 1292, 1292, 1296, 1286,
-
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
- 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
-
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1176, 1176, 1176, 1176,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
-
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 175,
-
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
-
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
-
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1176,
- 1176, 1176, 1176, 1286, 1286, 1286, 1286, 1286,
-
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
-
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1176, 1176,
-
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
- 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1176,
-
- 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
-
1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
- 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
- 1298, 1298, 1298, 1298, 1298, 1298, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
-
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
-
- 1257, 1257, 1257, 1257, 1257, 1257, 1300, 1300,
- 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
- 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
- 1300, 1300, 1300, 1300, 1301, 1301, 1301, 1301,
-
- 1301, 1301, 1301, 1301, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1303, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 1304, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
-
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
-
- 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
- 1288, 1288, 1288, 1288, 1288, 175, 175, 175,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
-
- 1251, 1251, 1305, 1305, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1305, 1251, 1251, 1251,
- 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
-
- 1251, 1305, 1251, 1251, 1251, 1305, 1251, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
-
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 1306, 1306, 1306, 1306, 1306, 1306, 1307, 1308,
-
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 908, 1240, 1245, 1309,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
-
- 888, 889, 890, 891, 892, 893, 894, 895,
- 896, 897, 804, 804, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 236, 237, 236, 237, 236, 237, 236, 237,
- 236, 237, 236, 237, 236, 237, 236, 237,
- 236, 237, 236, 237, 236, 237, 236, 237,
- 236, 237, 236, 237, 236, 237, 236, 237,
-
- 240, 241, 236, 237, 236, 237, 236, 237,
- 236, 237, 236, 237, 236, 237, 1310, 224,
- 1311, 1311, 1311, 1312, 1313, 1313, 1313, 1313,
- 1313, 1313, 1313, 1313, 224, 224, 1312, 1314,
-
- 236, 237, 236, 237, 236, 237, 236, 237,
- 236, 237, 236, 237, 236, 237, 236, 237,
- 236, 237, 236, 237, 236, 237, 236, 237,
- 175, 175, 175, 175, 175, 175, 175, 1313,
-
- 754, 754, 754, 754, 754, 754, 1315, 1315,
- 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315,
- 390, 390, 911, 1308, 1307, 1307, 1307, 1308,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316,
- 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316,
- 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1317,
- 1317, 1317, 1317, 1246, 1246, 1246, 1246, 1246,
-
- 1318, 1318, 941, 942, 941, 942, 941, 942,
- 941, 942, 941, 942, 941, 942, 941, 942,
- 939, 939, 941, 942, 941, 942, 941, 942,
- 941, 942, 941, 942, 941, 942, 941, 942,
-
- 941, 942, 941, 942, 941, 942, 941, 942,
- 941, 942, 941, 942, 941, 942, 941, 942,
- 941, 942, 941, 942, 941, 942, 941, 942,
- 941, 942, 941, 942, 941, 942, 941, 942,
-
- 941, 942, 941, 942, 941, 942, 941, 942,
- 941, 942, 941, 942, 941, 942, 941, 942,
- 1222, 939, 939, 939, 939, 939, 939, 939,
- 939, 941, 942, 941, 942, 1319, 941, 942,
-
- 941, 942, 941, 942, 941, 942, 941, 942,
- 1246, 1320, 1320, 941, 942, 1321, 1322, 175,
- 1323, 1324, 1226, 1227, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1323, 1324, 1323, 1324, 1323, 1324, 1323, 1324,
- 1323, 1324, 1325, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1326, 1326, 1322, 804, 804, 804, 804, 804,
-
- 735, 735, 1327, 735, 735, 735, 1328, 735,
- 735, 735, 735, 1327, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735,
-
- 735, 735, 735, 842, 842, 1327, 1327, 842,
- 752, 752, 752, 752, 175, 175, 175, 175,
- 1294, 1294, 1294, 1294, 1294, 1294, 681, 681,
- 1100, 1329, 175, 175, 175, 175, 175, 175,
-
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
-
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 1330, 1330, 1331, 1331,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 884, 884, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
-
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 884, 884, 884, 884,
- 884, 884, 884, 884, 884, 884, 884, 884,
-
- 884, 884, 884, 884, 1332, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 906, 906,
- 888, 889, 890, 891, 892, 893, 894, 895,
- 896, 897, 175, 175, 175, 175, 175, 175,
-
- 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333,
- 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333,
- 1333, 1333, 431, 431, 431, 431, 431, 431,
- 1334, 1334, 1334, 431, 175, 175, 175, 175,
-
- 888, 889, 890, 891, 892, 893, 894, 895,
- 896, 897, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
-
- 804, 804, 804, 804, 804, 804, 883, 883,
- 883, 883, 883, 1335, 1335, 1335, 907, 906,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
-
- 804, 804, 804, 804, 804, 804, 804, 883,
- 883, 883, 883, 883, 883, 883, 883, 883,
- 883, 883, 884, 885, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 1336,
-
- 729, 729, 729, 729, 729, 729, 729, 729,
- 729, 729, 729, 729, 729, 729, 729, 729,
- 729, 729, 729, 729, 729, 729, 729, 729,
- 729, 729, 729, 729, 729, 175, 175, 175,
-
- 1337, 1337, 1337, 914, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
-
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 1338, 914, 914, 1337, 1337,
- 1337, 1337, 914, 914, 1337, 914, 914, 914,
-
- 1339, 911, 911, 911, 911, 911, 911, 1307,
- 1308, 1308, 911, 911, 911, 911, 175, 1306,
- 849, 850, 851, 852, 853, 854, 855, 856,
- 857, 858, 175, 175, 175, 175, 911, 911,
-
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 883, 883, 883, 883, 883, 883, 884,
- 884, 883, 883, 884, 884, 883, 883, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 804, 804, 804, 883, 804, 804, 804, 804,
- 804, 804, 804, 804, 883, 884, 175, 175,
- 888, 889, 890, 891, 892, 893, 894, 895,
- 896, 897, 175, 175, 1336, 906, 906, 906,
-
- 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340,
- 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340,
- 1341, 1340, 1340, 1340, 1340, 1340, 1340, 1342,
- 1342, 1342, 1340, 717, 175, 175, 175, 175,
-
- 825, 825, 825, 825, 825, 825, 825, 825,
- 825, 825, 825, 825, 825, 825, 825, 825,
- 847, 825, 847, 847, 1343, 825, 825, 847,
- 847, 825, 825, 825, 825, 825, 847, 847,
-
- 825, 847, 825, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 825, 825, 860, 859, 859,
-
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 887, 1344, 1344, 887, 887,
- 1345, 1345, 898, 1346, 1346, 887, 886, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 899, 899, 899, 899, 899, 899, 175,
- 175, 899, 899, 899, 899, 899, 899, 175,
- 175, 899, 899, 899, 899, 899, 899, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 899, 899, 899, 899, 899, 899, 899, 175,
- 899, 899, 899, 899, 899, 899, 899, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 754, 754, 754, 914, 914, 1337, 914, 914,
- 1337, 914, 914, 1308, 914, 1347, 175, 175,
- 849, 850, 851, 852, 853, 854, 855, 856,
- 857, 858, 175, 175, 175, 175, 175, 175,
-
- 1348, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1348, 1349, 1349, 1349,
-
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1348, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
-
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1348, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
-
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1348, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
-
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1348, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
-
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1348, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
-
- 1349, 1349, 1349, 1349, 1348, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
- 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
-
- 1349, 1349, 1349, 1349, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731,
-
- 731, 731, 731, 731, 731, 731, 731, 175,
- 175, 175, 175, 733, 733, 733, 733, 733,
- 733, 733, 733, 733, 733, 733, 733, 733,
- 733, 733, 733, 733, 733, 733, 733, 733,
-
- 733, 733, 733, 733, 733, 733, 733, 733,
- 733, 733, 733, 733, 733, 733, 733, 733,
- 733, 733, 733, 733, 733, 733, 733, 733,
- 733, 733, 733, 733, 175, 175, 175, 175,
- 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
- 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
- 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
- 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
-
- 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
- 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
- 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
- 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
-
- 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
- 1257, 1257, 1257, 1257, 1257, 1257, 1303, 1303,
- 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
- 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
-
- 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
- 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
- 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
- 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
-
- 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
- 1276, 1276, 1276, 1302, 1302, 1302, 1299, 1299,
+ 1298, 1298, 1298, 1298, 1298, 1298, 177, 1299,
+ 177, 177, 177, 177, 177, 1299, 177, 177,
1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
@@ -2884,1886 +2374,2456 @@ static const unsigned short uc_property_trie[] = {
1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
- 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
- 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
- 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
- 1300, 1300, 1299, 1299, 1299, 1299, 1299, 1299,
-
- 1352, 1353, 1354, 1355, 1356, 1357, 1357, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 1358, 1359, 1360, 1361, 1362,
- 175, 175, 175, 175, 175, 1363, 1364, 279,
-
- 279, 279, 279, 279, 279, 279, 279, 279,
- 279, 1365, 279, 279, 279, 279, 279, 279,
- 279, 279, 279, 279, 279, 279, 279, 252,
- 279, 279, 279, 279, 279, 252, 279, 252,
-
- 279, 279, 252, 279, 279, 252, 279, 279,
- 279, 279, 279, 279, 279, 279, 279, 279,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
-
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
-
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 1366, 1366, 1366, 1366, 1366, 1366,
- 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
-
- 1366, 1366, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
-
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 1051, 1260,
-
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
+ 1300, 1300, 1300, 1300, 1300, 1300, 1301, 1301,
+ 177, 177, 177, 177, 177, 177, 177, 1302,
+ 1303, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 1304,
+
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 739,
+ 739, 739, 739, 739, 739, 739, 739, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 739, 739, 739, 739, 739, 739, 739, 177,
+ 739, 739, 739, 739, 739, 739, 739, 177,
+ 739, 739, 739, 739, 739, 739, 739, 177,
+ 739, 739, 739, 739, 739, 739, 739, 177,
+
+ 228, 228, 228, 228, 228, 228, 228, 228,
+ 228, 228, 228, 228, 228, 228, 228, 228,
+ 228, 228, 228, 228, 228, 228, 228, 228,
+ 228, 228, 228, 228, 228, 228, 228, 228,
+
+ 1305, 1305, 1306, 1307, 1306, 1307, 1305, 1305,
+ 1305, 1306, 1307, 1305, 1306, 1307, 1133, 1133,
+ 1133, 1133, 1133, 1133, 1133, 1133, 1132, 1308,
+ 1309, 1310, 1311, 1312, 1306, 1307, 1312, 1312,
+
+ 1313, 1314, 1260, 1261, 1260, 1261, 1260, 1261,
+ 1260, 1261, 1310, 1310, 1310, 1310, 1315, 1316,
+ 1310, 1317, 1318, 1319, 1319, 1318, 1318, 1318,
+ 1318, 1318, 1320, 1320, 177, 177, 177, 177,
+
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 177, 1321, 1321, 1321, 1321, 1321,
+
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
+ 1321, 1321, 1321, 1321, 1321, 1321, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
+ 1322, 1322, 1322, 1322, 177, 177, 177, 177,
+
+ 1323, 1324, 1325, 1326, 1206, 1327, 1328, 1329,
+ 16, 1124, 16, 1124, 16, 1124, 16, 1124,
+ 16, 1124, 1206, 1206, 16, 1124, 16, 1124,
+ 16, 1124, 16, 1124, 1330, 1105, 1331, 1331,
+
+ 1206, 1329, 1329, 1329, 1329, 1329, 1329, 1329,
+ 1329, 1329, 1332, 1333, 154, 1334, 1335, 1335,
+ 1336, 1337, 1337, 1337, 1337, 1337, 1206, 1206,
+ 1338, 1338, 1338, 1339, 1340, 1341, 1322, 1206,
+
+ 177, 1342, 1343, 1342, 1343, 1342, 1343, 1342,
+ 1343, 1342, 1343, 1343, 1343, 1343, 1343, 1343,
+ 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
+ 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
+
+ 1343, 1343, 1343, 1342, 1343, 1343, 1343, 1343,
+ 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
+ 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
+ 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
+
+ 1343, 1343, 1343, 1342, 1343, 1342, 1343, 1342,
+ 1343, 1343, 1343, 1343, 1343, 1343, 1342, 1343,
+ 1343, 1343, 1343, 1343, 1343, 1344, 1344, 177,
+ 177, 1345, 1345, 1346, 1346, 1347, 1347, 1348,
+
+ 1349, 1350, 1351, 1350, 1351, 1350, 1351, 1350,
+ 1351, 1350, 1351, 1351, 1351, 1351, 1351, 1351,
+ 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
+ 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 284, 284, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
+ 1351, 1351, 1351, 1350, 1351, 1351, 1351, 1351,
+ 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
+ 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
+ 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,
+ 1351, 1351, 1351, 1350, 1351, 1350, 1351, 1350,
+ 1351, 1351, 1351, 1351, 1351, 1351, 1350, 1351,
+ 1351, 1351, 1351, 1351, 1351, 1350, 1350, 1351,
+ 1351, 1351, 1351, 1352, 1353, 1354, 1354, 1355,
+
+ 177, 177, 177, 177, 177, 1356, 1356, 1356,
+ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+
+ 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
+ 1356, 1356, 1356, 1356, 1356, 1357, 177, 177,
+ 177, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
+ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
+
+ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
+ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
+ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
+ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
+
+ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
+ 1358, 1358, 1358, 1358, 1358, 1358, 1358, 177,
+ 1359, 1359, 1360, 1360, 1360, 1360, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+
+ 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
+ 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
+ 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
+ 1362, 1362, 1362, 177, 177, 177, 177, 177,
+
+ 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
+ 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+
+ 1242, 1242, 1242, 1242, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363,
+ 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363,
+
+ 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
+ 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
+ 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
+ 1364, 1364, 1364, 1364, 1364, 1365, 1365, 177,
+
+ 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
+ 1360, 1360, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+
+ 1359, 1359, 1359, 1359, 1366, 1366, 1366, 1366,
1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,
+ 1237, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
+ 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
+
+ 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
+ 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
+ 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
+ 1364, 1364, 1364, 1364, 1365, 1365, 1369, 1359,
+
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
+ 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
+
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1237, 1237, 1237, 1237,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 177,
+
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1237,
+ 1237, 1237, 1237, 1359, 1359, 1359, 1359, 1359,
+
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1237, 1237,
+
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
+ 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1237,
+
+ 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
+ 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
+ 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
+ 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
+
+ 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
+ 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
+ 1371, 1371, 1371, 1371, 1371, 1371, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
- 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,
- 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 1368, 811, 284, 284,
-
- 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
- 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
- 1370, 1371, 1372, 1373, 1374, 1228, 1228, 1375,
- 1376, 1377, 175, 175, 175, 175, 175, 175,
-
- 151, 151, 151, 151, 927, 927, 927, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1255, 1378, 1378, 1379, 1379, 1051, 1260, 1051,
- 1260, 1051, 1260, 1051, 1260, 1051, 1260, 1051,
-
- 1260, 1051, 1260, 1051, 1260, 1270, 1270, 1380,
- 1381, 1255, 1255, 1255, 1255, 1379, 1379, 1379,
- 1382, 1383, 1384, 175, 1385, 1386, 9, 9,
- 1378, 16, 1070, 16, 1070, 16, 1070, 1387,
-
- 1255, 1255, 1388, 1389, 1390, 1391, 1392, 175,
- 1255, 12, 13, 1255, 175, 175, 175, 175,
- 300, 300, 300, 1393, 300, 284, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
-
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 284, 284, 1394,
-
- 175, 9, 1255, 1387, 12, 13, 1255, 1395,
- 16, 1070, 1255, 1388, 1382, 1389, 1384, 1396,
- 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404,
- 1405, 1406, 1386, 1385, 1407, 1392, 1408, 9,
-
- 1255, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
- 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
- 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
- 1409, 1409, 1409, 39, 1255, 46, 1410, 1379,
-
- 1410, 1411, 1411, 1411, 1411, 1411, 1411, 1411,
- 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411,
- 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411,
- 1411, 1411, 1411, 39, 1392, 46, 1392, 1184,
-
- 1185, 1254, 16, 1070, 1253, 1280, 1412, 1278,
- 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278,
- 1281, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
- 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+
+ 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
+ 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
+ 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
+ 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
+
+ 1373, 1373, 1373, 1373, 1373, 1373, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1375, 1375, 1375, 1375,
+
+ 1375, 1375, 1375, 1375, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1377, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+
+ 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
+ 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
+ 1378, 1378, 1378, 1378, 1378, 1379, 1378, 1378,
+ 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
+
+ 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
+ 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
+ 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
+ 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
+
+ 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
+ 1378, 1378, 1378, 1378, 1378, 177, 177, 177,
+ 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
+ 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
+
+ 1380, 1380, 1381, 1381, 1380, 1380, 1380, 1380,
+ 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
+ 1380, 1380, 1380, 1380, 1381, 1380, 1380, 1380,
+ 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
+
+ 1380, 1381, 1380, 1380, 1380, 1381, 1380, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+ 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+
+ 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+ 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+ 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+ 1383, 1383, 1383, 1383, 1383, 1383, 1384, 1385,
+
+ 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
+ 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
+ 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
+ 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
+
+ 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
+ 1386, 1386, 1386, 1386, 1387, 1388, 1389, 1390,
+ 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
+ 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
+
+ 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398,
+ 1399, 1400, 1386, 1386, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 240, 241, 240, 241, 240, 241, 240, 241,
+ 240, 241, 240, 241, 240, 241, 240, 241,
+ 240, 241, 240, 241, 240, 241, 240, 241,
+ 240, 241, 240, 241, 240, 241, 240, 241,
+
+ 244, 245, 240, 241, 240, 241, 240, 241,
+ 240, 241, 240, 241, 240, 241, 1401, 228,
+ 1402, 1402, 1402, 1403, 1404, 1404, 1404, 1404,
+ 1404, 1404, 1404, 1404, 228, 228, 1403, 1405,
+
+ 240, 241, 240, 241, 240, 241, 240, 241,
+ 240, 241, 240, 241, 240, 241, 240, 241,
+ 240, 241, 240, 241, 240, 241, 240, 241,
+ 177, 177, 177, 177, 177, 177, 177, 1404,
+
+ 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406,
+ 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406,
+ 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406,
+ 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406,
+
+ 1406, 1406, 1406, 1406, 1406, 1406, 1407, 1407,
+ 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407,
+ 1408, 1408, 1409, 1410, 1411, 1411, 1411, 1410,
+ 177, 177, 177, 177, 177, 177, 177, 177,
1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
- 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
- 1412, 1412, 1412, 1412, 1412, 1412, 1413, 1413,
-
- 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414,
- 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414,
- 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414,
- 1414, 1414, 1414, 1414, 1414, 1414, 1414, 175,
-
- 175, 175, 1414, 1414, 1414, 1414, 1414, 1414,
- 175, 175, 1414, 1414, 1414, 1414, 1414, 1414,
- 175, 175, 1414, 1414, 1414, 1414, 1414, 1414,
- 175, 175, 1414, 1414, 1414, 175, 175, 175,
-
- 50, 12, 1392, 1410, 1145, 12, 12, 175,
- 51, 36, 36, 36, 36, 51, 51, 175,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1415, 1415, 1415, 1416, 51, 1417, 1417,
-
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 175, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
-
- 805, 805, 805, 805, 805, 805, 805, 175,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 175, 805, 805, 175, 805,
-
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 175, 175,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 175, 175,
-
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
-
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 175, 175, 175, 175, 175,
-
- 1418, 1419, 1418, 175, 175, 175, 175, 1420,
- 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
- 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
- 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
-
- 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
- 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
- 1420, 1420, 1420, 1420, 175, 175, 175, 1421,
- 1421, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
-
- 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
- 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
- 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
- 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
-
- 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
- 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
- 1422, 1422, 1422, 1422, 1422, 1423, 1423, 1423,
- 1423, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
-
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1423, 175, 175, 175, 175, 175,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
- 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
-
- 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
- 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
- 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
- 1124, 1124, 1124, 1124, 1124, 930, 175, 175,
-
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 175, 175, 175,
-
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
- 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
- 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
- 1425, 1425, 1425, 1425, 1425, 1425, 1425, 175,
-
- 1426, 1426, 1426, 1426, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
- 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
-
- 1425, 1427, 1425, 1425, 1425, 1425, 1425, 1425,
- 1425, 1425, 1427, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 175, 1418,
-
- 735, 735, 735, 735, 175, 175, 175, 175,
- 735, 735, 735, 735, 735, 735, 735, 735,
- 1428, 1429, 1429, 1429, 1429, 1429, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430,
- 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430,
- 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430,
- 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430,
+ 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1413,
+ 1413, 1413, 1413, 1316, 1316, 1316, 1316, 1316,
+
+ 1414, 1414, 995, 996, 995, 996, 995, 996,
+ 995, 996, 995, 996, 995, 996, 995, 996,
+ 993, 993, 995, 996, 995, 996, 995, 996,
+ 995, 996, 995, 996, 995, 996, 995, 996,
+
+ 995, 996, 995, 996, 995, 996, 995, 996,
+ 995, 996, 995, 996, 995, 996, 995, 996,
+ 995, 996, 995, 996, 995, 996, 995, 996,
+ 995, 996, 995, 996, 995, 996, 995, 996,
+
+ 995, 996, 995, 996, 995, 996, 995, 996,
+ 995, 996, 995, 996, 995, 996, 995, 996,
+ 1284, 993, 993, 993, 993, 993, 993, 993,
+ 993, 995, 996, 995, 996, 1415, 995, 996,
+
+ 995, 996, 995, 996, 995, 996, 995, 996,
+ 1316, 1416, 1416, 995, 996, 1417, 1418, 177,
+ 1419, 1420, 1421, 1422, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1419, 1420, 1419, 1420, 1419, 1420, 1419, 1420,
+ 1419, 1420, 1423, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1424, 1424, 1418, 1425, 1425, 1425, 1425, 1425,
+
+ 1426, 1426, 1427, 1426, 1426, 1426, 1428, 1426,
+ 1426, 1426, 1426, 1427, 1426, 1426, 1426, 1426,
+ 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426,
+ 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426,
+
+ 1426, 1426, 1426, 1429, 1429, 1427, 1427, 1429,
+ 1430, 1430, 1430, 1430, 177, 177, 177, 177,
+ 1367, 1367, 1367, 1367, 1367, 1367, 685, 685,
+ 1155, 1431, 177, 177, 177, 177, 177, 177,
- 1430, 1430, 1430, 1430, 1430, 1430, 1431, 1431,
+ 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
- 1432, 1432, 1432, 1432, 1432, 1432, 1433, 1433,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
-
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 805, 805,
- 805, 805, 805, 805, 805, 805, 175, 175,
-
- 813, 814, 815, 816, 817, 818, 819, 820,
- 821, 822, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1434, 1434, 1434, 1434, 1434, 1434, 252, 252,
- 1434, 252, 1434, 1434, 1434, 1434, 1434, 1434,
- 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434,
- 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434,
-
- 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434,
- 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434,
- 1434, 1434, 1434, 1434, 1434, 1434, 252, 1434,
- 1434, 252, 252, 252, 1434, 252, 252, 1434,
-
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 252, 1435,
- 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436,
+ 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
+ 1432, 1432, 1432, 1432, 1433, 1433, 1434, 1434,
+ 177, 177, 177, 177, 177, 177, 177, 177,
- 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
- 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437,
- 1437, 1437, 1437, 1437, 1437, 1437, 1438, 1438,
- 1438, 1438, 1436, 1436, 252, 252, 252, 1439,
-
- 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440,
- 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440,
- 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440,
- 1440, 1440, 252, 252, 252, 252, 252, 1441,
-
- 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
- 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
- 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
- 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
-
- 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
- 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
- 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
- 252, 252, 252, 252, 252, 252, 1442, 1442,
-
- 1443, 1327, 1327, 1327, 252, 1327, 1327, 252,
- 252, 252, 252, 252, 1327, 841, 1327, 737,
- 1443, 1443, 1443, 1443, 252, 1443, 1443, 1443,
- 252, 1443, 1443, 1443, 1443, 1443, 1443, 1443,
-
- 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443,
- 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443,
- 1443, 1443, 1443, 1443, 252, 252, 252, 252,
- 737, 1444, 841, 252, 252, 252, 252, 1328,
-
- 1445, 1446, 1447, 1448, 1449, 1449, 1449, 1449,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 1450, 1450, 1450, 1450, 1450, 1450, 1451, 1451,
- 1452, 252, 252, 252, 252, 252, 252, 252,
-
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 1436, 1436, 392,
-
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
-
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 252, 252,
- 252, 1247, 1247, 1247, 1247, 1247, 1247, 1247,
-
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 252, 252,
+ 1435, 1435, 1436, 1436, 1436, 1436, 1436, 1436,
+ 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436,
+ 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436,
1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 252, 252, 252, 252, 252,
1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436,
+ 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436,
+ 1436, 1436, 1436, 1436, 1435, 1435, 1435, 1435,
+ 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435,
+
+ 1435, 1435, 1435, 1435, 1437, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 1438, 1438,
+ 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446,
+ 1447, 1448, 177, 177, 177, 177, 177, 177,
+
+ 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449,
+ 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449,
+ 1449, 1449, 435, 435, 435, 435, 435, 435,
+ 1450, 1450, 1450, 435, 177, 177, 177, 177,
+
+ 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458,
+ 1459, 1460, 1461, 1461, 1461, 1461, 1461, 1461,
+ 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461,
+ 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461,
+
+ 1461, 1461, 1461, 1461, 1461, 1461, 1462, 1462,
+ 1462, 1462, 1462, 1463, 1463, 1463, 1464, 1465,
+ 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466,
+ 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466,
+
+ 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1467,
+ 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467,
+ 1467, 1467, 1468, 1469, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 1470,
+
+ 733, 733, 733, 733, 733, 733, 733, 733,
+ 733, 733, 733, 733, 733, 733, 733, 733,
+ 733, 733, 733, 733, 733, 733, 733, 733,
+ 733, 733, 733, 733, 733, 177, 177, 177,
+
+ 1471, 1471, 1471, 1472, 1473, 1473, 1473, 1473,
+ 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
+ 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
+ 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
+
+ 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
+ 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
+ 1473, 1473, 1473, 1474, 1472, 1472, 1471, 1471,
+ 1471, 1471, 1472, 1472, 1471, 1472, 1472, 1472,
+
+ 1475, 1476, 1476, 1476, 1476, 1476, 1476, 1477,
+ 1478, 1478, 1476, 1476, 1476, 1476, 177, 1479,
+ 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487,
+ 1488, 1489, 177, 177, 177, 177, 1476, 1476,
+
+ 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,
+ 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,
+ 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,
+ 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,
+
+ 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,
+ 1490, 1491, 1491, 1491, 1491, 1491, 1491, 1492,
+ 1492, 1491, 1491, 1492, 1492, 1491, 1491, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1490, 1490, 1490, 1491, 1490, 1490, 1490, 1490,
+ 1490, 1490, 1490, 1490, 1491, 1492, 177, 177,
+ 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500,
+ 1501, 1502, 177, 177, 1503, 1504, 1504, 1504,
+
+ 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
+ 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
+ 1506, 1505, 1505, 1505, 1505, 1505, 1505, 1507,
+ 1507, 1507, 1505, 721, 177, 177, 177, 177,
+
+ 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508,
+ 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508,
+ 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508,
+ 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508,
+
+ 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508,
+ 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508,
+ 1509, 1508, 1509, 1509, 1510, 1508, 1508, 1509,
+ 1509, 1508, 1508, 1508, 1508, 1508, 1509, 1509,
+
+ 1508, 1509, 1508, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 1508, 1508, 1511, 1512, 1512,
- 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
-
- 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460,
- 1461, 1462, 1462, 1462, 1462, 1462, 1462, 1462,
- 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462,
- 1462, 1462, 1462, 1462, 1462, 1462, 1462, 252,
-
- 901, 902, 901, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 902, 902, 902, 902, 902, 902, 902, 902,
- 902, 902, 902, 902, 902, 902, 1234, 1463,
- 1463, 904, 904, 904, 904, 904, 175, 175,
- 175, 175, 1464, 1465, 1466, 1467, 1468, 1469,
- 1470, 1471, 1472, 1473, 1473, 1473, 1473, 1473,
- 1473, 1473, 1473, 1473, 1473, 1473, 1474, 1475,
- 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1337, 1337, 914, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 914, 914, 914, 1337, 1337, 1337, 1337, 914,
- 914, 1347, 1338, 911, 911, 1484, 1308, 1308,
- 1308, 1308, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 175, 175, 175, 175, 175, 175, 175,
- 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492,
- 1493, 1494, 175, 175, 175, 175, 175, 175,
-
- 1495, 1495, 1495, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 1344,
- 1344, 1344, 1344, 1344, 887, 1344, 1344, 1344,
- 1344, 1344, 1344, 886, 886, 175, 1485, 1486,
- 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494,
- 1496, 1345, 1345, 1345, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1344, 1344, 887, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 887, 887, 887, 1344, 1344,
- 1344, 1344, 1344, 1344, 1344, 1344, 1344, 887,
- 1497, 898, 898, 898, 898, 1345, 1345, 909,
- 1496, 175, 175, 175, 175, 175, 175, 175,
- 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492,
- 1493, 1494, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 1344, 887, 1344, 887, 887,
- 1344, 1344, 1344, 1344, 1344, 1344, 1497, 1498,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492,
- 1493, 1494, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
-
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 864,
- 864, 864, 864, 864, 864, 864, 864, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499,
- 1499, 1499, 1499, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 879, 879, 879, 879, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
-
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 1500, 1500, 1500, 1501, 1501, 1501, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 1501, 754, 754, 754, 1500, 1501,
- 1500, 1501, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
-
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 1500, 1501, 1501, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
-
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 754,
- 754, 754, 754, 754, 754, 754, 754, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
-
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 899, 899, 899, 899, 899, 899, 899,
- 899, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 898, 887, 887, 887, 887, 887, 887, 887,
- 887, 887, 887, 887, 887, 887, 887, 887,
- 887, 887, 887, 887, 887, 887, 887, 887,
- 887, 887, 887, 887, 887, 887, 887, 887,
- 887, 887, 887, 887, 887, 887, 887, 887,
- 887, 887, 887, 887, 887, 887, 887, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 1344,
- 1344, 1344, 1344, 1346, 1346, 1346, 1346, 1346,
- 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1502, 1503, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 175,
- 175, 1124, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1505, 1506, 1507,
- 1507, 1507, 1504, 1504, 1504, 1508, 1505, 1505,
- 1505, 1505, 1505, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1510, 1510, 1510, 1510, 1510,
- 1510, 1510, 1510, 1504, 1504, 1511, 1511, 1511,
- 1511, 1511, 1510, 1510, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1511, 1511, 1511, 1511, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
- 1504, 1504, 1504, 1504, 1504, 1504, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
- 1424, 1424, 1512, 1512, 1512, 1424, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 811,
- 811, 811, 811, 811, 811, 811, 811, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
- 1513, 1513, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 175, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1514, 175, 1514, 1514,
- 175, 175, 1514, 175, 175, 1514, 1514, 175,
- 175, 1514, 1514, 1514, 1514, 175, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1515, 1515,
- 1515, 1515, 175, 1515, 175, 1515, 1515, 1515,
- 1515, 105, 1515, 1515, 175, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
-
- 1515, 1515, 1515, 1515, 1514, 1514, 175, 1514,
- 1514, 1514, 1514, 175, 175, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 175, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 175, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1514, 1514, 175, 1514, 1514, 1514, 1514, 175,
- 1514, 1514, 1514, 1514, 1514, 175, 1514, 175,
- 175, 175, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 175, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
-
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 106, 106, 175, 175,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1516, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1517, 1515, 1515, 1515, 1515,
- 1515, 1515, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1516, 1515, 1515, 1515, 1515,
-
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1517, 1515, 1515,
- 1515, 1515, 1515, 1515, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1516, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1517,
- 1515, 1515, 1515, 1515, 1515, 1515, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1516,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1517, 1515, 1515, 1515, 1515, 1515, 1515,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
- 1514, 1516, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515,
- 1515, 1515, 1515, 1517, 1515, 1515, 1515, 1515,
- 1515, 1515, 1518, 1221, 175, 175, 1519, 1520,
- 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528,
- 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526,
- 1527, 1528, 1519, 1520, 1521, 1522, 1523, 1524,
- 1525, 1526, 1527, 1528, 1519, 1520, 1521, 1522,
- 1523, 1524, 1525, 1526, 1527, 1528, 1519, 1520,
- 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528,
-
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
- 252, 252, 252, 252, 252, 252, 252, 252,
-
- 1529, 1529, 1529, 1529, 284, 1529, 1529, 1529,
- 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
- 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
- 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
- 284, 1529, 1529, 284, 1529, 284, 284, 1529,
- 284, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
- 1529, 1529, 1529, 284, 1529, 1529, 1529, 1529,
- 284, 1529, 284, 1529, 284, 284, 284, 284,
- 284, 284, 1529, 284, 284, 284, 284, 1529,
- 284, 1529, 284, 1529, 284, 1529, 1529, 1529,
- 284, 1529, 1529, 284, 1529, 284, 284, 1529,
- 284, 1529, 284, 1529, 284, 1529, 284, 1529,
- 284, 1529, 1529, 284, 1529, 284, 284, 1529,
- 1529, 1529, 1529, 284, 1529, 1529, 1529, 1529,
- 1529, 1529, 1529, 284, 1529, 1529, 1529, 1529,
- 284, 1529, 1529, 1529, 1529, 284, 1529, 284,
- 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
- 1529, 1529, 284, 1529, 1529, 1529, 1529, 1529,
- 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
- 1529, 1529, 1529, 1529, 284, 284, 284, 284,
- 284, 1529, 1529, 1529, 284, 1529, 1529, 1529,
- 1529, 1529, 284, 1529, 1529, 1529, 1529, 1529,
- 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
- 1529, 1529, 1529, 1529, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
- 1530, 1530, 284, 284, 284, 284, 284, 284,
- 284, 284, 284, 284, 284, 284, 284, 284,
+ 1513, 1513, 1513, 1514, 1515, 1515, 1514, 1514,
+ 1516, 1516, 1513, 1517, 1517, 1514, 1518, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 1519, 1519, 1519, 1519, 1519, 1519, 177,
+ 177, 1519, 1519, 1519, 1519, 1519, 1519, 177,
+ 177, 1519, 1519, 1519, 1519, 1519, 1519, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1519, 1519, 1519, 1519, 1519, 1519, 1519, 177,
+ 1519, 1519, 1519, 1519, 1519, 1519, 1519, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,
+ 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,
+ 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,
+ 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,
+
+ 1520, 1520, 1520, 1521, 1521, 1522, 1521, 1521,
+ 1522, 1521, 1521, 1523, 1521, 1524, 177, 177,
+ 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532,
+ 1533, 1534, 177, 177, 177, 177, 177, 177,
+
+ 1535, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1535, 1536, 1536, 1536,
+
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1535, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1535, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1535, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1535, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1535, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+
+ 1536, 1536, 1536, 1536, 1535, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+ 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
+
+ 1536, 1536, 1536, 1536, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 735, 735, 735, 735, 735, 735, 735, 735,
+ 735, 735, 735, 735, 735, 735, 735, 735,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 175, 175, 175, 175,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1181, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 175,
- 175, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 175,
- 175, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 175, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1531, 1531, 1532, 1533, 1534, 1535, 1536, 1537,
- 1538, 1539, 1540, 175, 175, 175, 175, 175,
- 681, 681, 681, 681, 681, 681, 681, 681,
- 681, 681, 681, 681, 681, 681, 681, 681,
- 681, 681, 681, 681, 681, 681, 681, 681,
- 681, 681, 681, 681, 681, 681, 681, 175,
- 1541, 681, 1541, 1541, 1541, 1541, 1541, 1541,
- 1541, 1541, 1541, 1541, 1541, 681, 1541, 681,
- 1541, 1541, 681, 1541, 1541, 1541, 681, 1541,
- 1541, 1541, 681, 681, 681, 681, 681, 1541,
- 1541, 1541, 1541, 1541, 1541, 1541, 1541, 681,
- 1541, 1541, 1541, 1541, 1541, 1541, 1541, 681,
- 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541,
- 1541, 1541, 1542, 1542, 175, 175, 175, 175,
- 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541,
- 1541, 681, 1541, 681, 681, 1541, 1541, 681,
- 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541,
- 1541, 1541, 681, 681, 681, 681, 1541, 1541,
- 681, 1541, 1541, 1541, 1541, 1541, 1541, 1541,
- 1541, 1541, 1541, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 1543, 1543,
- 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543,
- 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543,
- 1543, 1543, 1543, 1543, 1543, 1543, 1543, 1543,
-
- 1293, 1544, 1544, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
- 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
- 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
- 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
- 1293, 1293, 1544, 1544, 1544, 1544, 1544, 1544,
- 1544, 1544, 1544, 175, 175, 175, 175, 175,
- 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
- 1293, 175, 175, 175, 175, 175, 175, 175,
- 1544, 1544, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1151, 1151, 1151, 1151, 1151, 1151, 175, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 175, 175, 175,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1150, 1150, 1151,
- 1151, 1151, 1151, 1151, 1150, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 175, 1151, 1151,
- 1151, 1151, 1151, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 175,
- 1151, 175, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1150, 1151, 1150, 1151, 1150, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1150,
- 1151, 1150, 1150, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 175, 1151, 1151, 1151, 1151, 175, 175, 175,
-
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 175, 175,
- 1542, 1542, 1542, 1542, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 1151, 1151, 1151, 1151, 1151,
-
- 1545, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1545, 1151, 1151, 1151, 1545, 1151, 1545,
- 1151, 1545, 1151, 1545, 1151, 1151, 1151, 1545,
- 1151, 1151, 1151, 1151, 1151, 1151, 1545, 1545,
- 1151, 1151, 1151, 1151, 1545, 1151, 1545, 1545,
- 1151, 1151, 1151, 1151, 1545, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 175, 175, 175, 175, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
-
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 1546, 1546,
-
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
-
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
-
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
- 1302, 1302, 1302, 1302, 1302, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
-
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
- 1503, 1503, 1503, 1503, 1503, 1503, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
- 1547, 1547, 1547, 1547, 1547, 1547, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
-
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1299, 1299, 1299, 1299, 1299, 1299, 1546, 1546,
-
- 1083, 1509, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
+ 735, 735, 735, 735, 735, 735, 735, 177,
+ 177, 177, 177, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 177, 177, 177, 177,
+
+ 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537,
+ 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537,
+ 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537,
+ 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537,
+
+ 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
+ 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
+ 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
+ 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
+
+ 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
+ 1373, 1373, 1373, 1373, 1373, 1373, 1377, 1377,
+ 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539,
+ 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539,
+
+ 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539,
+ 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539,
+ 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539,
+ 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539,
+
+ 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539,
+ 1539, 1539, 1539, 1376, 1376, 1376, 1372, 1372,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
+ 1374, 1374, 1372, 1372, 1372, 1372, 1372, 1372,
+
+ 1540, 1541, 1542, 1543, 1544, 1545, 1545, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 1546, 1547, 1548, 1549, 1550,
+ 177, 177, 177, 177, 177, 1551, 1552, 283,
+
+ 283, 283, 283, 283, 283, 283, 283, 283,
+ 283, 1553, 283, 283, 283, 283, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 256,
+ 283, 283, 283, 283, 283, 256, 283, 256,
+
+ 283, 283, 256, 283, 283, 256, 283, 283,
+ 283, 283, 283, 283, 283, 283, 283, 283,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 1554, 1554, 1554, 1554, 1554, 1554,
+ 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554,
+
+ 1554, 1554, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 1105, 1331,
+
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 288, 288, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555,
+ 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555,
+
+ 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555,
+ 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 1556, 1177, 288, 288,
+
+ 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557,
+ 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557,
+ 1558, 1559, 1560, 1561, 1562, 1563, 1563, 1564,
+ 1565, 1566, 177, 177, 177, 177, 177, 177,
+
+ 153, 153, 153, 153, 981, 981, 981, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1326, 1567, 1567, 1568, 1568, 1105, 1331, 1105,
+ 1331, 1105, 1331, 1105, 1331, 1105, 1331, 1105,
+
+ 1331, 1105, 1331, 1105, 1331, 1341, 1341, 1569,
+ 1570, 1326, 1326, 1326, 1326, 1568, 1568, 1568,
+ 1571, 1572, 1573, 177, 1574, 1575, 9, 9,
+ 1567, 16, 1124, 16, 1124, 16, 1124, 1576,
+
+ 1326, 1326, 1577, 1578, 1579, 1580, 1581, 177,
+ 1326, 12, 13, 1326, 177, 177, 177, 177,
+ 304, 304, 304, 1582, 304, 288, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 304, 304, 304,
+ 304, 304, 304, 304, 304, 288, 288, 1583,
+
+ 177, 9, 1326, 1576, 12, 13, 1326, 1584,
+ 16, 1124, 1326, 1577, 1571, 1578, 1573, 1585,
+ 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593,
+ 1594, 1595, 1575, 1574, 1596, 1581, 1597, 9,
+
+ 1326, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
+ 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
+ 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598,
+ 1598, 1598, 1598, 39, 1326, 46, 1599, 1568,
+
+ 1599, 1600, 1600, 1600, 1600, 1600, 1600, 1600,
+ 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600,
+ 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600,
+ 1600, 1600, 1600, 39, 1581, 46, 1581, 1245,
+
+ 1246, 1325, 16, 1124, 1324, 1352, 1601, 1350,
+ 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
+ 1353, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
+ 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
+
+ 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
+ 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
+ 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
+ 1601, 1601, 1601, 1601, 1601, 1601, 1602, 1602,
+
+ 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603,
+ 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603,
+ 1603, 1603, 1603, 1603, 1603, 1603, 1603, 1603,
+ 1603, 1603, 1603, 1603, 1603, 1603, 1603, 177,
+
+ 177, 177, 1603, 1603, 1603, 1603, 1603, 1603,
+ 177, 177, 1603, 1603, 1603, 1603, 1603, 1603,
+ 177, 177, 1603, 1603, 1603, 1603, 1603, 1603,
+ 177, 177, 1603, 1603, 1603, 177, 177, 177,
+
+ 50, 12, 1581, 1599, 1206, 12, 12, 177,
+ 51, 36, 36, 36, 36, 51, 51, 177,
+ 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
+ 1138, 1604, 1604, 1604, 1605, 51, 1606, 1606,
+
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 177, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 177,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 177, 1607, 1607, 177, 1607,
+
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 177, 177,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 177, 177,
+
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
+ 1607, 1607, 1607, 177, 177, 177, 177, 177,
+
+ 1608, 1609, 1608, 177, 177, 177, 177, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
+ 1610, 1610, 1610, 1610, 177, 177, 177, 1611,
+ 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611,
+
+ 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
+ 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
+ 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
+ 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
+
+ 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
+ 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
+ 1612, 1612, 1612, 1612, 1612, 1613, 1613, 1613,
+ 1613, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1613, 177, 177, 177, 177, 177,
+ 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239,
+ 1239, 1239, 1239, 1239, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+ 1185, 1185, 1185, 1185, 1185, 984, 177, 177,
+
+ 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615,
+ 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615,
+ 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615,
+ 1615, 1615, 1615, 1615, 1615, 177, 177, 177,
+
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
+ 1616, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617,
+ 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617,
+ 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617,
+ 1617, 1617, 1617, 1617, 1617, 1617, 1617, 177,
+
+ 1618, 1618, 1618, 1618, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619,
+ 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619,
+
+ 1619, 1620, 1619, 1619, 1619, 1619, 1619, 1619,
+ 1619, 1619, 1620, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621,
+ 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621,
+ 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621,
+ 1621, 1621, 1621, 1621, 1621, 1621, 177, 1622,
+
+ 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623,
+ 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623,
+ 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623,
+ 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623,
+
+ 1623, 1623, 1623, 1623, 177, 177, 177, 177,
+ 1623, 1623, 1623, 1623, 1623, 1623, 1623, 1623,
+ 1624, 1625, 1625, 1625, 1625, 1625, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
+ 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
+ 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
+ 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
+
+ 1626, 1626, 1626, 1626, 1626, 1626, 1627, 1627,
+ 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628,
+ 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628,
+ 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628,
+
+ 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628,
+ 1628, 1628, 1628, 1628, 1628, 1628, 1629, 1629,
+ 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
+ 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
+
+ 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
+ 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
+ 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
+ 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
+
+ 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631,
+ 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631,
+ 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631,
+ 1631, 1631, 1631, 1631, 1631, 1631, 177, 177,
+
+ 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639,
+ 1640, 1641, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1642, 1642, 1642, 1642, 1642, 1642, 256, 256,
+ 1642, 256, 1642, 1642, 1642, 1642, 1642, 1642,
+ 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
+ 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
+
+ 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
+ 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
+ 1642, 1642, 1642, 1642, 1642, 1642, 256, 1642,
+ 1642, 256, 256, 256, 1642, 256, 256, 1642,
+
+ 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
+ 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
+ 1643, 1643, 1643, 1643, 1643, 1643, 256, 1644,
+ 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645,
+
+ 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646,
+ 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646,
+ 1646, 1646, 1646, 1646, 1646, 1646, 1647, 1647,
+ 1647, 1647, 1648, 1648, 256, 256, 256, 1649,
+
+ 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650,
+ 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650,
+ 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650,
+ 1650, 1650, 256, 256, 256, 256, 256, 1651,
+
+ 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652,
+ 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652,
+ 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652,
+ 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652,
+
+ 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653,
+ 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653,
+ 1653, 1653, 1653, 1653, 1653, 1653, 1653, 1653,
+ 256, 256, 256, 256, 256, 256, 1653, 1653,
+
+ 1654, 1655, 1655, 1655, 256, 1655, 1655, 256,
+ 256, 256, 256, 256, 1655, 1656, 1655, 1657,
+ 1654, 1654, 1654, 1654, 256, 1654, 1654, 1654,
+ 256, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
+
+ 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
+ 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
+ 1654, 1654, 1654, 1654, 256, 256, 256, 256,
+ 1657, 1658, 1656, 256, 256, 256, 256, 1659,
+
+ 1660, 1661, 1662, 1663, 1664, 1664, 1664, 1664,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 1665, 1665, 1665, 1665, 1665, 1665, 1666, 1666,
+ 1667, 256, 256, 256, 256, 256, 256, 256,
+
+ 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668,
+ 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668,
+ 1668, 1668, 1668, 1668, 1668, 1668, 1668, 1668,
+ 1668, 1668, 1668, 1668, 1668, 1669, 1669, 1670,
+
+ 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
+ 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
+ 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
+ 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
+
+ 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
+ 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
+ 1671, 1671, 1671, 1671, 1671, 1671, 256, 256,
+ 256, 1672, 1672, 1672, 1672, 1672, 1672, 1672,
+
+ 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673,
+ 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673,
+ 1673, 1673, 1673, 1673, 1673, 1673, 256, 256,
+ 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674,
+
+ 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675,
+ 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675,
+ 1675, 1675, 1675, 256, 256, 256, 256, 256,
+ 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676,
+
+ 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677,
+ 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677,
+ 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677,
+ 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677,
+
+ 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677,
+ 1677, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+
+ 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685,
+ 1686, 1687, 1687, 1687, 1687, 1687, 1687, 1687,
+ 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687,
+ 1687, 1687, 1687, 1687, 1687, 1687, 1687, 256,
+
+ 1688, 1689, 1688, 1690, 1690, 1690, 1690, 1690,
+ 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
+ 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
+ 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
+ 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
+ 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
+ 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
+ 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689,
+ 1689, 1689, 1689, 1689, 1689, 1689, 1691, 1692,
+ 1692, 1693, 1693, 1693, 1693, 1693, 177, 177,
+ 177, 177, 1694, 1695, 1696, 1697, 1698, 1699,
+ 1700, 1701, 1702, 1703, 1703, 1703, 1703, 1703,
+ 1703, 1703, 1703, 1703, 1703, 1703, 1704, 1705,
+ 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1714, 1714, 1715, 1716, 1716, 1716, 1716, 1716,
+ 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716,
+ 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716,
+ 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716,
+ 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716,
+ 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716,
+ 1715, 1715, 1715, 1714, 1714, 1714, 1714, 1715,
+ 1715, 1717, 1718, 1719, 1719, 1720, 1721, 1721,
+ 1721, 1721, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722,
+ 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722,
+ 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722,
+ 1722, 177, 177, 177, 177, 177, 177, 177,
+ 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730,
+ 1731, 1732, 177, 177, 177, 177, 177, 177,
+
+ 1733, 1733, 1733, 1734, 1734, 1734, 1734, 1734,
+ 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734,
+ 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734,
+ 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734,
+ 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1735,
+ 1735, 1735, 1735, 1735, 1736, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1737, 1737, 177, 1738, 1739,
+ 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747,
+ 1748, 1749, 1749, 1749, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1750, 1750, 1751, 1752, 1752, 1752, 1752, 1752,
+ 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
+ 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
+ 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
+ 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
+ 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
+ 1752, 1752, 1752, 1751, 1751, 1751, 1750, 1750,
+ 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1751,
+ 1753, 1752, 1752, 1752, 1752, 1754, 1754, 1755,
+ 1756, 177, 177, 177, 177, 177, 177, 177,
+ 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764,
+ 1765, 1766, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
+ 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
+ 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
+ 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
+ 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
+ 1767, 1767, 1767, 1768, 1769, 1768, 1769, 1769,
+ 1768, 1768, 1768, 1768, 1768, 1768, 1770, 1771,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779,
+ 1780, 1781, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
+ 1782, 1782, 1782, 1782, 1782, 1782, 1782, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
+ 1783, 1783, 1783, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1784, 1784, 1784, 1784, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1786, 1786, 1786, 1787, 1787, 1787, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1787, 1785, 1785, 1785, 1786, 1787,
+ 1786, 1787, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1786, 1787, 1787, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
+ 1785, 1785, 1785, 1785, 1785, 1785, 1785, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
+ 1788, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
+ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
+ 1789, 1789, 1789, 1789, 1789, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1789, 1790, 1790, 1790, 1790, 1790, 1790, 1790,
+ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790,
+ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790,
+ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790,
+ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790,
+ 1790, 1790, 1790, 1790, 1790, 1790, 1790, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 1791,
+ 1791, 1791, 1791, 1792, 1792, 1792, 1792, 1792,
+ 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1793, 1794, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 177,
+ 177, 1185, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1796, 1797, 1798,
+ 1798, 1798, 1795, 1795, 1795, 1799, 1796, 1796,
+ 1796, 1796, 1796, 1800, 1800, 1800, 1800, 1800,
+ 1800, 1800, 1800, 1801, 1801, 1801, 1801, 1801,
+ 1801, 1801, 1801, 1795, 1795, 1802, 1802, 1802,
+ 1802, 1802, 1801, 1801, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1802, 1802, 1802, 1802, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
+ 1795, 1795, 1795, 1795, 1795, 1795, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
+ 1614, 1614, 1803, 1803, 1803, 1614, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
-
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
- 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
-
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
-
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549,
- 1549, 1549, 1549, 1549, 1549, 1549, 1546, 1546,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804,
+ 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804,
+ 1804, 1804, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 177, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1805, 177, 1805, 1805,
+ 177, 177, 1805, 177, 177, 1805, 1805, 177,
+ 177, 1805, 1805, 1805, 1805, 177, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1806, 1806,
+ 1806, 1806, 177, 1806, 177, 1806, 1806, 1806,
+ 1806, 1807, 1806, 1806, 177, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+
+ 1806, 1806, 1806, 1806, 1805, 1805, 177, 1805,
+ 1805, 1805, 1805, 177, 177, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 177, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 177, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1805, 1805, 177, 1805, 1805, 1805, 1805, 177,
+ 1805, 1805, 1805, 1805, 1805, 177, 1805, 177,
+ 177, 177, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 177, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1178, 1178, 177, 177,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1808, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1809, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1808, 1806, 1806, 1806, 1806,
+
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1809, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1808, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1809,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1808,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1809, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
+ 1805, 1808, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1806, 1809, 1806, 1806, 1806, 1806,
+ 1806, 1806, 1810, 1811, 177, 177, 1812, 1813,
+ 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821,
+ 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819,
+ 1820, 1821, 1812, 1813, 1814, 1815, 1816, 1817,
+ 1818, 1819, 1820, 1821, 1812, 1813, 1814, 1815,
+ 1816, 1817, 1818, 1819, 1820, 1821, 1812, 1813,
+ 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821,
+
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+ 256, 256, 256, 256, 256, 256, 256, 256,
+
+ 1822, 1822, 1822, 1822, 288, 1822, 1822, 1822,
+ 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
+ 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
+ 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
+ 288, 1822, 1822, 288, 1822, 288, 288, 1822,
+ 288, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
+ 1822, 1822, 1822, 288, 1822, 1822, 1822, 1822,
+ 288, 1822, 288, 1822, 288, 288, 288, 288,
+ 288, 288, 1822, 288, 288, 288, 288, 1822,
+ 288, 1822, 288, 1822, 288, 1822, 1822, 1822,
+ 288, 1822, 1822, 288, 1822, 288, 288, 1822,
+ 288, 1822, 288, 1822, 288, 1822, 288, 1822,
+ 288, 1822, 1822, 288, 1822, 288, 288, 1822,
+ 1822, 1822, 1822, 288, 1822, 1822, 1822, 1822,
+ 1822, 1822, 1822, 288, 1822, 1822, 1822, 1822,
+ 288, 1822, 1822, 1822, 1822, 288, 1822, 288,
+ 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
+ 1822, 1822, 288, 1822, 1822, 1822, 1822, 1822,
+ 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
+ 1822, 1822, 1822, 1822, 288, 288, 288, 288,
+ 288, 1822, 1822, 1822, 288, 1822, 1822, 1822,
+ 1822, 1822, 288, 1822, 1822, 1822, 1822, 1822,
+ 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
+ 1822, 1822, 1822, 1822, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+ 1823, 1823, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288,
+
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 177, 177, 177, 177,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 177,
+ 177, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 177,
+ 177, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 177, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1824, 1824, 1825, 1826, 1827, 1828, 1829, 1830,
+ 1831, 1832, 1833, 177, 177, 177, 177, 177,
+ 685, 685, 685, 685, 685, 685, 685, 685,
+ 685, 685, 685, 685, 685, 685, 685, 685,
+ 685, 685, 685, 685, 685, 685, 685, 685,
+ 685, 685, 685, 685, 685, 685, 685, 177,
+ 1834, 685, 1834, 1834, 1834, 1834, 1834, 1834,
+ 1834, 1834, 1834, 1834, 1834, 685, 1834, 685,
+ 1834, 1834, 685, 1834, 1834, 1834, 685, 1834,
+ 1834, 1834, 685, 685, 685, 685, 685, 1834,
+ 1834, 1834, 1834, 1834, 1834, 1834, 1834, 685,
+ 1834, 1834, 1834, 1834, 1834, 1834, 1834, 685,
+ 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834,
+ 1834, 1834, 1835, 1835, 177, 177, 177, 177,
+ 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834,
+ 1834, 685, 1834, 685, 685, 1834, 1834, 685,
+ 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834,
+ 1834, 1834, 685, 685, 685, 685, 1834, 1834,
+ 685, 1834, 1834, 1834, 1834, 1834, 1834, 1834,
+ 1834, 1834, 1834, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 1836, 1836,
+ 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836,
+ 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836,
+ 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836,
+
+ 1837, 1838, 1838, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
+ 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
+ 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
+ 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
+ 1366, 1366, 1838, 1838, 1838, 1838, 1838, 1838,
+ 1838, 1838, 1838, 177, 177, 177, 177, 177,
+ 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
+ 1366, 177, 177, 177, 177, 177, 177, 177,
+ 1838, 1838, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1212, 1212, 1212, 1212, 1212, 1212, 177, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 177, 177, 177,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1211, 1211, 1212,
+ 1212, 1212, 1212, 1212, 1211, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 177, 1212, 1212,
+ 1212, 1212, 1212, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 177,
+ 1212, 177, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1211, 1212, 1211, 1212, 1211, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1211,
+ 1212, 1211, 1211, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 177, 1212, 1212, 1212, 1212, 177, 177, 177,
+
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 177, 177,
+ 1835, 1835, 1835, 1835, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 1212, 1212, 1212, 1212, 1212,
+
+ 1839, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1839, 1212, 1212, 1212, 1839, 1212, 1839,
+ 1212, 1839, 1212, 1839, 1212, 1212, 1212, 1839,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1839, 1839,
+ 1212, 1212, 1212, 1212, 1839, 1212, 1839, 1839,
+ 1212, 1212, 1212, 1212, 1839, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 177, 177, 177, 177, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
+ 1211, 1211, 1211, 1211, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 1840, 1840,
+
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
+ 1376, 1376, 1376, 1376, 1376, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
+ 1842, 1842, 1842, 1842, 1842, 1842, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
+ 1841, 1841, 1841, 1841, 1841, 1841, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1372,