diff options
author | Liang Qi <liang.qi@qt.io> | 2016-12-14 08:54:22 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-12-14 08:54:57 +0100 |
commit | 172260ebef6b830768468317deee5e05743f92f3 (patch) | |
tree | f5bf99ecfecddcf0d07c5017b27d3e8f14d41176 /src/qml/parser | |
parent | 9fbc5aa8866bbc19cc0db9f5f247276f36f3e283 (diff) | |
parent | 8bf579d8d4feb13ca8651e98dd762b28483abe9e (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Change-Id: I905dcd29377bf1b2e0ee086823b54277d18e78dd
Diffstat (limited to 'src/qml/parser')
-rw-r--r-- | src/qml/parser/qqmljs.g | 102 | ||||
-rw-r--r-- | src/qml/parser/qqmljsgrammar.cpp | 1781 | ||||
-rw-r--r-- | src/qml/parser/qqmljsgrammar_p.h | 12 | ||||
-rw-r--r-- | src/qml/parser/qqmljsparser.cpp | 389 | ||||
-rw-r--r-- | src/qml/parser/qqmljsparser_p.h | 4 |
5 files changed, 1201 insertions, 1087 deletions
diff --git a/src/qml/parser/qqmljs.g b/src/qml/parser/qqmljs.g index 161c8ffcde..a3ca9c44d0 100644 --- a/src/qml/parser/qqmljs.g +++ b/src/qml/parser/qqmljs.g @@ -5,27 +5,33 @@ -- -- This file is part of the QtQml module of the Qt Toolkit. -- --- $QT_BEGIN_LICENSE:LGPL21$ +-- $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 The Qt Company. For licensing terms --- and conditions see http://www.qt.io/terms-conditions. For further --- information use the contact form at http://www.qt.io/contact-us. +-- and conditions see https://www.qt.io/terms-conditions. For further +-- information use the contact form at https://www.qt.io/contact-us. -- -- GNU Lesser General Public License Usage -- Alternatively, this file may be used under the terms of the GNU Lesser --- General Public License version 2.1 or version 3 as published by the Free --- Software Foundation and appearing in the file LICENSE.LGPLv21 and --- LICENSE.LGPLv3 included in the packaging of this file. Please review the --- following information to ensure the GNU Lesser General Public License --- requirements will be met: https://www.gnu.org/licenses/lgpl.html and --- http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +-- General Public License version 3 as published by the Free Software +-- Foundation and appearing in the file LICENSE.LGPL3 included in the +-- packaging of this file. Please review the following information to +-- ensure the GNU Lesser General Public License version 3 requirements +-- will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -- --- As a special exception, The Qt Company gives you certain additional --- rights. These rights are described in The Qt Company 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 2.0 or (at your option) the GNU General +-- Public license version 3 or any later version approved by the KDE Free +-- Qt Foundation. The licenses are as published by the Free Software +-- Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +-- included in the packaging of this file. Please review the following +-- information to ensure the GNU General Public License requirements will +-- be met: https://www.gnu.org/licenses/gpl-2.0.html and +-- https://www.gnu.org/licenses/gpl-3.0.html. -- -- $QT_END_LICENSE$ -- @@ -136,6 +142,57 @@ ** ****************************************************************************/ +#include "qqmljsengine_p.h" +#include "qqmljslexer_p.h" +#include "qqmljsast_p.h" +#include "qqmljsmemorypool_p.h" + +#include <QtCore/qdebug.h> +#include <QtCore/qcoreapplication.h> + +#include <string.h> + +./ + +/:/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtQml 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 The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + // // W A R N I N G @@ -273,7 +330,7 @@ public: inline DiagnosticMessage diagnosticMessage() const { - foreach (const DiagnosticMessage &d, diagnostic_messages) { + for (const DiagnosticMessage &d : diagnostic_messages) { if (d.kind != DiagnosticMessage::Warning) return d; } @@ -969,6 +1026,23 @@ case $rule_number: { } break; ./ +UiObjectMember: T_DEFAULT T_PROPERTY T_IDENTIFIER T_LT UiPropertyType T_GT JsIdentifier T_AUTOMATIC_SEMICOLON ; +UiObjectMember: T_DEFAULT T_PROPERTY T_IDENTIFIER T_LT UiPropertyType T_GT JsIdentifier T_SEMICOLON ; +/. +case $rule_number: { + AST::UiPublicMember *node = new (pool) AST::UiPublicMember(stringRef(5), stringRef(7)); + node->isDefaultMember = true; + node->defaultToken = loc(1); + node->typeModifier = stringRef(3); + node->propertyToken = loc(2); + node->typeModifierToken = loc(2); + node->typeToken = loc(4); + node->identifierToken = loc(7); + node->semicolonToken = loc(8); + sym(1).Node = node; +} break; +./ + UiObjectMember: T_PROPERTY UiPropertyType JsIdentifier T_COLON UiScriptStatement ; /. case $rule_number: { @@ -3003,7 +3077,7 @@ PropertyAssignmentListOpt: PropertyAssignmentList ; yylloc.startColumn += yylloc.length; yylloc.length = 0; - //const QString msg = qApp->translate("QQmlParser", "Missing `;'"); + //const QString msg = QCoreApplication::translate("QQmlParser", "Missing `;'"); //diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Warning, yylloc, msg)); first_token = &token_buffer[0]; diff --git a/src/qml/parser/qqmljsgrammar.cpp b/src/qml/parser/qqmljsgrammar.cpp index d7fea7d815..fdcd94b472 100644 --- a/src/qml/parser/qqmljsgrammar.cpp +++ b/src/qml/parser/qqmljsgrammar.cpp @@ -63,35 +63,35 @@ const short QQmlJSGrammar::lhs [] = { 130, 130, 130, 130, 130, 130, 130, 111, 138, 138, 138, 139, 139, 140, 140, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 124, 124, 124, 124, 124, 124, 124, + 111, 111, 111, 111, 111, 124, 124, 124, 124, 124, + 124, 124, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 129, 145, - 145, 145, 145, 144, 144, 149, 149, 149, 147, 147, - 150, 150, 150, 150, 153, 153, 153, 153, 153, 153, + 129, 145, 145, 145, 145, 144, 144, 149, 149, 149, + 147, 147, 150, 150, 150, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 154, 154, 120, 120, 120, - 120, 120, 157, 157, 158, 158, 158, 158, 156, 156, - 159, 159, 160, 160, 161, 161, 161, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, - 163, 164, 164, 164, 165, 165, 165, 165, 166, 166, - 166, 166, 166, 166, 166, 167, 167, 167, 167, 167, - 167, 168, 168, 168, 168, 168, 169, 169, 169, 169, - 169, 170, 170, 171, 171, 172, 172, 173, 173, 174, - 174, 175, 175, 176, 176, 177, 177, 178, 178, 179, - 179, 180, 180, 181, 181, 148, 148, 182, 182, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 109, 109, 184, 184, 185, 185, 186, 186, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 131, 195, 195, 194, 194, 142, - 142, 196, 196, 197, 197, 199, 199, 198, 200, 203, - 201, 201, 204, 202, 202, 132, 133, 133, 134, 134, - 187, 187, 187, 187, 187, 187, 187, 187, 188, 188, - 188, 188, 189, 189, 189, 189, 190, 190, 135, 136, - 205, 205, 208, 208, 206, 206, 209, 207, 191, 192, - 192, 137, 137, 137, 210, 211, 193, 193, 212, 141, - 155, 155, 213, 213, 152, 152, 151, 151, 214, 112, - 112, 215, 215, 110, 110, 146, 146, 216}; + 153, 153, 153, 153, 153, 153, 153, 154, 154, 120, + 120, 120, 120, 120, 157, 157, 158, 158, 158, 158, + 156, 156, 159, 159, 160, 160, 161, 161, 161, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, + 163, 163, 163, 164, 164, 164, 165, 165, 165, 165, + 166, 166, 166, 166, 166, 166, 166, 167, 167, 167, + 167, 167, 167, 168, 168, 168, 168, 168, 169, 169, + 169, 169, 169, 170, 170, 171, 171, 172, 172, 173, + 173, 174, 174, 175, 175, 176, 176, 177, 177, 178, + 178, 179, 179, 180, 180, 181, 181, 148, 148, 182, + 182, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 109, 109, 184, 184, 185, 185, 186, + 186, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 131, 195, 195, 194, + 194, 142, 142, 196, 196, 197, 197, 199, 199, 198, + 200, 203, 201, 201, 204, 202, 202, 132, 133, 133, + 134, 134, 187, 187, 187, 187, 187, 187, 187, 187, + 188, 188, 188, 188, 189, 189, 189, 189, 190, 190, + 135, 136, 205, 205, 208, 208, 206, 206, 209, 207, + 191, 192, 192, 137, 137, 137, 210, 211, 193, 193, + 212, 141, 155, 155, 213, 213, 152, 152, 151, 151, + 214, 112, 112, 215, 215, 110, 110, 146, 146, 216}; const short QQmlJSGrammar::rhs [] = { 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, @@ -100,111 +100,112 @@ const short QQmlJSGrammar::rhs [] = { 2, 1, 3, 2, 3, 2, 1, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 0, 1, 2, 4, 6, 6, 3, 3, 7, - 7, 4, 4, 5, 5, 5, 6, 6, 10, 6, - 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 7, 4, 4, 5, 5, 8, 8, 5, 6, 6, + 10, 6, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 3, 3, 4, 5, 3, 4, 3, 1, 1, - 2, 3, 4, 1, 2, 3, 7, 8, 1, 3, + 1, 1, 2, 3, 3, 4, 5, 3, 4, 3, + 1, 1, 2, 3, 4, 1, 2, 3, 7, 8, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, - 3, 5, 1, 2, 4, 4, 4, 3, 0, 1, - 1, 3, 1, 1, 1, 2, 2, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 3, 3, - 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, - 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, - 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, + 1, 4, 3, 5, 1, 2, 4, 4, 4, 3, + 0, 1, 1, 3, 1, 1, 1, 2, 2, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, + 3, 3, 3, 1, 3, 3, 1, 3, 3, 3, + 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, + 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, + 3, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 5, 1, 5, 1, 3, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 1, 1, 3, 0, 1, 1, + 3, 1, 3, 1, 5, 1, 5, 1, 3, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 0, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 2, 0, 1, 3, - 3, 1, 1, 1, 3, 1, 3, 2, 2, 2, - 0, 1, 2, 0, 1, 1, 2, 2, 7, 5, - 7, 7, 7, 5, 9, 10, 7, 8, 2, 2, - 3, 3, 2, 2, 3, 3, 3, 3, 5, 5, - 3, 5, 1, 2, 0, 1, 4, 3, 3, 3, - 3, 3, 3, 4, 5, 2, 2, 2, 1, 8, - 8, 7, 1, 3, 0, 1, 0, 1, 1, 1, - 1, 1, 2, 1, 1, 0, 1, 2}; + 1, 1, 1, 1, 1, 1, 3, 1, 2, 0, + 1, 3, 3, 1, 1, 1, 3, 1, 3, 2, + 2, 2, 0, 1, 2, 0, 1, 1, 2, 2, + 7, 5, 7, 7, 7, 5, 9, 10, 7, 8, + 2, 2, 3, 3, 2, 2, 3, 3, 3, 3, + 5, 5, 3, 5, 1, 2, 0, 1, 4, 3, + 3, 3, 3, 3, 3, 4, 5, 2, 2, 2, + 1, 8, 8, 7, 1, 3, 0, 1, 0, 1, + 1, 1, 1, 1, 2, 1, 1, 0, 1, 2}; const short QQmlJSGrammar::action_default [] = { - 0, 0, 28, 0, 0, 0, 28, 0, 185, 252, - 216, 224, 220, 164, 236, 212, 3, 149, 82, 165, - 228, 232, 153, 182, 163, 168, 148, 202, 189, 0, - 89, 90, 85, 0, 79, 74, 356, 0, 0, 0, - 0, 87, 0, 0, 83, 86, 78, 0, 0, 75, - 77, 80, 76, 88, 81, 0, 84, 0, 0, 178, - 0, 0, 165, 184, 167, 166, 0, 0, 0, 180, - 181, 179, 183, 0, 213, 0, 0, 0, 0, 203, - 0, 0, 0, 0, 0, 0, 193, 0, 0, 0, - 187, 188, 186, 191, 195, 194, 192, 190, 205, 204, - 206, 0, 221, 0, 217, 0, 0, 159, 146, 158, - 147, 115, 116, 117, 142, 118, 143, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 144, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 145, 0, 0, 157, 253, 160, 0, 161, 0, - 162, 156, 0, 249, 242, 240, 247, 248, 246, 245, - 251, 244, 243, 241, 250, 237, 0, 225, 0, 0, - 229, 0, 0, 233, 0, 0, 159, 151, 0, 150, - 0, 155, 169, 0, 345, 345, 346, 0, 343, 0, - 344, 0, 347, 260, 267, 266, 274, 262, 0, 263, - 0, 348, 0, 355, 264, 265, 82, 270, 268, 352, - 349, 354, 271, 0, 282, 0, 0, 0, 0, 339, - 0, 356, 254, 296, 0, 0, 0, 283, 0, 0, - 272, 273, 0, 261, 269, 297, 298, 0, 345, 0, - 0, 347, 0, 340, 341, 0, 329, 353, 0, 313, - 314, 315, 316, 0, 309, 310, 311, 312, 337, 338, - 0, 0, 0, 0, 0, 301, 302, 303, 258, 256, - 218, 226, 222, 238, 214, 259, 0, 165, 230, 234, - 207, 196, 0, 0, 215, 0, 0, 0, 0, 208, - 0, 0, 0, 0, 0, 200, 198, 201, 199, 197, - 210, 209, 211, 0, 223, 0, 219, 0, 257, 165, - 0, 239, 254, 255, 0, 254, 0, 0, 305, 0, - 0, 0, 307, 0, 227, 0, 0, 231, 0, 0, - 235, 294, 0, 286, 295, 289, 0, 293, 0, 254, - 287, 0, 254, 0, 0, 306, 0, 0, 0, 308, - 0, 0, 0, 300, 0, 299, 82, 109, 357, 0, - 0, 114, 276, 279, 0, 115, 282, 118, 143, 120, - 121, 85, 125, 126, 79, 127, 130, 83, 86, 254, - 80, 88, 133, 81, 135, 84, 137, 138, 283, 140, - 141, 145, 0, 111, 110, 113, 97, 112, 96, 0, - 106, 277, 275, 0, 0, 0, 347, 0, 107, 153, - 154, 159, 0, 152, 0, 317, 318, 0, 345, 0, - 0, 347, 0, 108, 0, 0, 0, 320, 325, 323, - 326, 0, 0, 324, 325, 0, 321, 0, 322, 278, - 328, 0, 278, 327, 0, 330, 331, 0, 278, 332, - 333, 0, 0, 334, 0, 0, 0, 335, 336, 171, - 170, 0, 0, 0, 304, 0, 0, 0, 319, 291, - 284, 0, 292, 288, 0, 290, 280, 0, 281, 285, - 0, 0, 347, 0, 342, 100, 0, 0, 104, 91, - 0, 93, 102, 0, 94, 103, 105, 95, 101, 92, - 0, 98, 175, 173, 177, 174, 172, 176, 350, 6, - 351, 4, 2, 72, 99, 0, 0, 75, 77, 76, - 37, 5, 0, 73, 0, 51, 50, 49, 0, 0, - 64, 0, 65, 41, 42, 43, 44, 46, 47, 68, - 45, 0, 51, 0, 0, 0, 0, 0, 60, 0, - 61, 0, 0, 32, 0, 0, 69, 33, 0, 36, - 34, 30, 0, 35, 31, 0, 62, 0, 63, 153, - 0, 66, 70, 0, 0, 0, 0, 153, 278, 0, - 67, 82, 115, 282, 118, 143, 120, 121, 85, 125, - 126, 127, 130, 83, 86, 254, 88, 133, 81, 135, - 84, 137, 138, 283, 140, 141, 145, 71, 0, 58, - 52, 59, 53, 0, 0, 0, 0, 55, 0, 56, - 57, 54, 0, 0, 0, 0, 48, 0, 38, 39, - 0, 40, 8, 0, 0, 9, 0, 11, 0, 10, - 0, 1, 27, 15, 14, 26, 13, 12, 29, 7, - 0, 18, 0, 19, 0, 24, 25, 0, 20, 21, - 0, 22, 23, 16, 17, 358}; + 0, 0, 28, 0, 0, 0, 28, 0, 187, 254, + 218, 226, 222, 166, 238, 214, 3, 151, 84, 167, + 230, 234, 155, 184, 165, 170, 150, 204, 191, 0, + 91, 92, 87, 0, 81, 76, 358, 0, 0, 0, + 0, 89, 0, 0, 85, 88, 80, 0, 0, 77, + 79, 82, 78, 90, 83, 0, 86, 0, 0, 180, + 0, 0, 167, 186, 169, 168, 0, 0, 0, 182, + 183, 181, 185, 0, 215, 0, 0, 0, 0, 205, + 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, + 189, 190, 188, 193, 197, 196, 194, 192, 207, 206, + 208, 0, 223, 0, 219, 0, 0, 161, 148, 160, + 149, 117, 118, 119, 144, 120, 145, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 146, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 147, 0, 0, 159, 255, 162, 0, 163, 0, + 164, 158, 0, 251, 244, 242, 249, 250, 248, 247, + 253, 246, 245, 243, 252, 239, 0, 227, 0, 0, + 231, 0, 0, 235, 0, 0, 161, 153, 0, 152, + 0, 157, 171, 0, 347, 347, 348, 0, 345, 0, + 346, 0, 349, 262, 269, 268, 276, 264, 0, 265, + 0, 350, 0, 357, 266, 267, 84, 272, 270, 354, + 351, 356, 273, 0, 284, 0, 0, 0, 0, 341, + 0, 358, 256, 298, 0, 0, 0, 285, 0, 0, + 274, 275, 0, 263, 271, 299, 300, 0, 347, 0, + 0, 349, 0, 342, 343, 0, 331, 355, 0, 315, + 316, 317, 318, 0, 311, 312, 313, 314, 339, 340, + 0, 0, 0, 0, 0, 303, 304, 305, 260, 258, + 220, 228, 224, 240, 216, 261, 0, 167, 232, 236, + 209, 198, 0, 0, 217, 0, 0, 0, 0, 210, + 0, 0, 0, 0, 0, 202, 200, 203, 201, 199, + 212, 211, 213, 0, 225, 0, 221, 0, 259, 167, + 0, 241, 256, 257, 0, 256, 0, 0, 307, 0, + 0, 0, 309, 0, 229, 0, 0, 233, 0, 0, + 237, 296, 0, 288, 297, 291, 0, 295, 0, 256, + 289, 0, 256, 0, 0, 308, 0, 0, 0, 310, + 0, 0, 0, 302, 0, 301, 84, 111, 359, 0, + 0, 116, 278, 281, 0, 117, 284, 120, 145, 122, + 123, 87, 127, 128, 81, 129, 132, 85, 88, 256, + 82, 90, 135, 83, 137, 86, 139, 140, 285, 142, + 143, 147, 0, 113, 112, 115, 99, 114, 98, 0, + 108, 279, 277, 0, 0, 0, 349, 0, 109, 155, + 156, 161, 0, 154, 0, 319, 320, 0, 347, 0, + 0, 349, 0, 110, 0, 0, 0, 322, 327, 325, + 328, 0, 0, 326, 327, 0, 323, 0, 324, 280, + 330, 0, 280, 329, 0, 332, 333, 0, 280, 334, + 335, 0, 0, 336, 0, 0, 0, 337, 338, 173, + 172, 0, 0, 0, 306, 0, 0, 0, 321, 293, + 286, 0, 294, 290, 0, 292, 282, 0, 283, 287, + 0, 0, 349, 0, 344, 102, 0, 0, 106, 93, + 0, 95, 104, 0, 96, 105, 107, 97, 103, 94, + 0, 100, 177, 175, 179, 176, 174, 178, 352, 6, + 353, 4, 2, 74, 101, 0, 0, 77, 79, 78, + 37, 5, 0, 75, 0, 51, 50, 49, 0, 0, + 51, 0, 0, 0, 66, 67, 0, 64, 0, 65, + 41, 42, 43, 44, 46, 47, 70, 45, 0, 51, + 0, 0, 0, 0, 0, 60, 0, 61, 0, 0, + 32, 0, 0, 71, 33, 0, 36, 34, 30, 0, + 35, 31, 0, 62, 0, 63, 155, 0, 68, 72, + 0, 0, 0, 0, 155, 280, 0, 69, 84, 117, + 284, 120, 145, 122, 123, 87, 127, 128, 129, 132, + 85, 88, 256, 90, 135, 83, 137, 86, 139, 140, + 285, 142, 143, 147, 73, 0, 58, 52, 59, 53, + 0, 0, 0, 0, 55, 0, 56, 57, 54, 0, + 0, 0, 0, 48, 0, 38, 39, 0, 40, 8, + 0, 0, 9, 0, 11, 0, 10, 0, 1, 27, + 15, 14, 26, 13, 12, 29, 7, 0, 18, 0, + 19, 0, 24, 25, 0, 20, 21, 0, 22, 23, + 16, 17, 360}; const short QQmlJSGrammar::goto_default [] = { - 7, 641, 211, 198, 209, 521, 509, 636, 649, 508, - 635, 639, 637, 645, 22, 642, 640, 638, 18, 520, - 562, 552, 559, 554, 539, 193, 197, 199, 204, 234, - 212, 231, 543, 613, 612, 203, 233, 26, 487, 486, + 7, 648, 211, 198, 209, 521, 509, 643, 656, 508, + 642, 646, 644, 652, 22, 649, 647, 645, 18, 520, + 569, 559, 566, 561, 546, 193, 197, 199, 204, 234, + 212, 231, 550, 620, 619, 203, 233, 26, 487, 486, 359, 358, 9, 357, 360, 202, 480, 361, 109, 17, 147, 24, 13, 146, 19, 25, 59, 23, 8, 28, 27, 280, 15, 274, 10, 270, 12, 272, 11, 271, @@ -215,870 +216,896 @@ const short QQmlJSGrammar::goto_default [] = { 0}; const short QQmlJSGrammar::action_index [] = { - 264, 1225, 2708, 2708, 2606, 938, 94, 104, 119, -106, - 92, 79, 81, 262, -106, 263, 78, -106, -106, 654, - 89, 125, 259, 229, -106, -106, -106, 322, 314, 1225, - -106, -106, -106, 412, -106, -106, 2300, 1713, 1225, 1225, - 1225, -106, 842, 1225, -106, -106, -106, 1225, 1225, -106, - -106, -106, -106, -106, -106, 1225, -106, 1225, 1225, -106, - 1225, 1225, 141, 216, -106, -106, 1225, 1225, 1225, -106, - -106, -106, 209, 1225, 281, 1225, 1225, 1225, 1225, 367, - 1225, 1225, 1225, 1225, 1225, 1225, 219, 1225, 1225, 1225, - 101, 102, 115, 314, 314, 314, 314, 314, 357, 347, - 337, 1225, 71, 1225, 70, 2198, 1225, 1225, -106, -106, + 282, 1392, 2773, 2773, 2875, 1105, 102, 105, 129, -106, + -1, 23, -23, 224, -106, 378, 26, -106, -106, 718, + 39, 87, 207, 222, -106, -106, -106, 342, 290, 1392, + -106, -106, -106, 502, -106, -106, 2569, 1880, 1392, 1392, + 1392, -106, 1009, 1392, -106, -106, -106, 1392, 1392, -106, + -106, -106, -106, -106, -106, 1392, -106, 1392, 1392, -106, + 1392, 1392, 97, 236, -106, -106, 1392, 1392, 1392, -106, + -106, -106, 233, 1392, 378, 1392, 1392, 1392, 1392, 461, + 1392, 1392, 1392, 1392, 1392, 1392, 290, 1392, 1392, 1392, + 144, 124, 115, 290, 290, 290, 290, 290, 461, 461, + 363, 1392, -78, 1392, 81, 2365, 1392, 1392, -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, -106, -106, -106, - -106, -106, 98, 1225, -106, -106, 66, 65, -106, 1225, - -106, -106, 1225, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, -106, -106, -106, 1225, 44, 1225, 1225, - 64, 57, 1225, -106, 2198, 1225, 1225, -106, 137, -106, - 49, -106, -106, 93, 344, 474, 95, 86, -106, 390, - -106, 85, 2708, -106, -106, -106, -106, -106, 189, -106, - 474, -106, 80, -106, -106, -106, 83, -106, -106, -106, - 2708, -106, -106, 490, -106, 551, 130, 2606, 46, 51, - 52, 2912, 1225, -106, 63, 1225, 56, -106, 58, 60, - -106, -106, 474, -106, -106, -106, -106, 61, 474, 62, - 67, 2708, 68, -106, -106, 2606, -106, -106, 87, -106, - -106, -106, -106, 110, -106, -106, -106, -106, -106, -106, - -24, 69, 1225, 122, 143, -106, -106, -106, 1419, -106, - 74, 76, 77, -106, 269, 73, 72, 611, 75, 114, - 397, 314, 474, 1225, 287, 1225, 1225, 1225, 1225, 397, - 1225, 1225, 1225, 1225, 1225, 218, 215, 198, 192, 182, - 397, 397, 312, 1225, 55, 1225, 59, 1225, -106, 654, - 1225, -106, 1225, 54, 53, 1225, 50, 2606, -106, 1225, - 124, 2606, -106, 1225, 90, 1225, 1225, 105, 88, 1225, - -106, 84, 157, -27, -106, -106, 1225, -106, 474, 1225, - -106, 82, 1225, 91, 2606, -106, 1225, 120, 2606, -106, - 1225, 103, 2606, -9, 2606, -106, -2, -106, 11, -30, - 17, -106, -106, 2606, -37, 469, 15, 551, 138, 1225, - 2606, 14, -16, 433, 2402, -20, 842, 6, 5, 1324, - 2402, 4, -36, 2, 1225, 7, -18, 1225, 10, 1225, - -26, -13, 2504, -106, -106, -106, -106, -106, -106, 1225, - -106, -106, -106, -33, -59, -25, 2708, 23, -106, 197, - -106, 1225, -12, -106, 140, -106, -106, 22, 474, -4, - 26, 2708, 12, -106, 1225, 113, 30, -106, 142, -106, - 142, 121, 1225, -106, -3, 45, -106, -5, -106, 2606, - -106, 108, 2606, -106, 207, -106, -106, 106, 2606, 37, - -106, 25, 36, -106, 474, 38, 40, -106, -106, -106, - -106, 1225, 136, 2606, -106, 1225, 166, 2606, -106, 13, - -106, 200, -106, -106, 1225, -106, -106, 474, -106, -106, - -17, 16, 2708, -11, -106, -106, 131, 1811, -106, -106, - 1615, -106, -106, 1517, -106, -106, -106, -106, -106, -106, - 109, -106, -106, -106, -106, -106, -106, -106, -106, -106, - 2708, -106, -106, -106, 233, -19, 748, 152, -60, 41, - -106, -106, 191, -106, 177, -106, -106, -106, 387, 203, - -106, 1906, -106, -106, -106, -106, -106, -106, -106, -106, - -106, 180, 43, 376, 174, 48, 474, 240, -106, 8, - -106, 748, 111, -106, -1, 748, -106, -106, 1130, -106, - -106, -106, 1034, -106, -106, 228, -106, 1906, -106, 295, - 21, -106, -106, 184, 379, 39, 2001, 288, 2810, 18, - -106, 34, 482, 33, 551, 138, 1225, 2606, 31, 9, - 399, 3, 643, 19, 29, 1324, 28, 1, 27, 1225, - 24, 0, 1225, 20, 1225, -7, -8, -106, 193, -106, - 205, -106, 47, 42, 329, 208, 319, -106, 128, -106, - -106, -106, 2096, 748, 1713, 35, -106, 132, -106, -106, - 32, -106, -106, 748, 748, 94, 748, -106, 250, -106, - 116, -106, -106, 233, 233, -106, -106, -106, -106, -106, - 393, -106, 214, -106, 100, -106, -106, 474, -106, -106, - 96, -106, -106, -106, -106, -106, + -106, -106, 143, 1392, -106, -106, 78, 60, -106, 1392, + -106, -106, 1392, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, 1392, -25, 1392, 1392, + 92, 85, 1392, -106, 2365, 1392, 1392, -106, 146, -106, + 46, -106, -106, 52, 359, 362, 104, 86, -106, 438, + -106, 56, 2773, -106, -106, -106, -106, -106, 164, -106, + 393, -106, 41, -106, -106, -106, 53, -106, -106, -106, + 2773, -106, -106, 600, -106, 597, 147, 2875, 64, 82, + 48, 3079, 1392, -106, 90, 1392, 66, -106, 33, 68, + -106, -106, 538, -106, -106, -106, -106, 88, 538, 35, + 40, 2773, 47, -106, -106, 2875, -106, -106, 151, -106, + -106, -106, -106, 145, -106, -106, -106, -106, -106, -106, + 72, 65, 1392, 107, 155, -106, -106, -106, 1586, -106, + 58, 59, 50, -106, 279, 75, 62, 821, 89, 93, + 295, 234, 447, 1392, 291, 1392, 1392, 1392, 1392, 316, + 1392, 1392, 1392, 1392, 1392, 290, 290, 290, 290, 290, + 322, 326, 332, 1392, 50, 1392, 74, 1392, -106, 718, + 1392, -106, 1392, 55, 42, 1392, 38, 2875, -106, 1392, + 132, 2875, -106, 1392, 84, 1392, 1392, 209, 106, 1392, + -106, 80, 130, 77, -106, -106, 1392, -106, 407, 1392, + -106, -48, 1392, -43, 2875, -106, 1392, 126, 2875, -106, + 1392, 128, 2875, 3, 2875, -106, 8, -106, 6, -34, + 15, -106, -106, 2875, -31, 615, 18, 546, 100, 1392, + 2875, 19, -8, 493, 2467, -16, 707, 5, 4, 1491, + 2467, 2, -28, 0, 1392, -2, -30, 1392, -5, 1392, + -32, -26, 2671, -106, -106, -106, -106, -106, -106, 1392, + -106, -106, -106, 21, -17, 22, 2773, -6, -106, 206, + -106, 1392, -10, -106, 91, -106, -106, 17, 538, 30, + 31, 2773, -3, -106, 1392, 111, 34, -106, 24, -106, + 25, 101, 1392, -106, 27, 28, -106, -22, -106, 2875, + -106, 120, 2875, -106, 227, -106, -106, 125, 2875, 16, + -106, 12, 13, -106, 453, -20, 14, -106, -106, -106, + -106, 1392, 160, 2875, -106, 1392, 113, 2875, -106, 37, + -106, 171, -106, -106, 1392, -106, -106, 441, -106, -106, + -33, -27, 2773, -4, -106, -106, 109, 1684, -106, -106, + 1978, -106, -106, 1782, -106, -106, -106, -106, -106, -106, + 127, -106, -106, -106, -106, -106, -106, -106, -106, -106, + 2773, -106, -106, -106, 148, -24, 915, 176, -29, 10, + -106, -106, 240, -106, 208, 1, -106, -106, 349, 195, + -106, 20, 339, 135, -106, -106, 191, -106, 2073, -106, + -106, -106, -106, -106, -106, -106, -106, -106, 221, 29, + 538, 152, 7, 538, 167, -106, 11, -106, 915, 114, + -106, 32, 915, -106, -106, 1201, -106, -106, -106, 1297, + -106, -106, 169, -106, 2073, -106, 280, -15, -106, -106, + 181, 457, 9, 2263, 271, 2977, 83, -106, 103, 615, + 67, 557, 116, 1392, 2875, 61, 43, 526, 45, 1009, + 51, 73, 1491, 71, 49, 69, 1392, 63, 44, 1392, + 54, 1392, 36, 57, -106, 213, -106, 217, -106, 79, + 70, 343, 194, 346, -106, 96, -106, -106, -106, 2168, + 799, 1880, 76, -106, 134, -106, -106, -15, -106, -106, + 915, 915, 112, 915, -106, 259, -106, 153, -106, -106, + 110, 99, -106, -106, -106, -106, -106, 450, -106, 157, + -106, 98, -106, -106, 538, -106, -106, 139, -106, -106, + -106, -106, -106, - -111, 15, 71, 87, 80, 305, -6, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -42, - -111, -111, -111, -111, -111, -111, -111, -111, -111, 95, - -111, -111, -111, 3, -111, -111, -5, -11, 9, 109, - 91, -111, 62, 45, -111, -111, -111, 50, 63, -111, - -111, -111, -111, -111, -111, 32, -111, 203, 197, -111, - 189, 178, -111, -111, -111, -111, 182, 185, 188, -111, - -111, -111, -111, 193, -111, 198, 168, 113, 114, -111, - 133, 116, 123, 129, 130, 132, -111, 136, 139, 142, + -111, 6, 66, 84, 80, 306, 43, -111, -111, -111, + -111, -111, -111, -111, -111, -111, -111, -111, -111, -23, + -111, -111, -111, -111, -111, -111, -111, -111, -111, 96, + -111, -111, -111, 51, -111, -111, 60, 35, 61, 95, + 92, -111, 93, 72, -111, -111, -111, 86, 85, -111, + -111, -111, -111, -111, -111, 82, -111, 81, 136, -111, + 77, 76, -111, -111, -111, -111, 73, 89, 127, -111, + -111, -111, -111, 125, -111, 124, 54, 120, 99, -111, + 113, 111, 110, 109, 107, 103, -111, 102, 100, 119, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, 148, -111, 151, -111, 186, 6, -37, -111, -111, + -111, 52, -111, 49, -111, 62, 44, 28, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, 42, -111, -111, -111, -111, -111, 22, - -111, -111, 2, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, 96, -111, 66, 21, - -111, -111, 0, -111, 274, 35, 88, -111, -111, -111, - -111, -111, -111, -111, 41, 75, -111, -111, -111, 49, - -111, -111, 48, -111, -111, -111, -111, -111, -111, -111, - 57, -111, -111, -111, -111, -111, -111, -111, -111, -111, - 77, -111, -111, 54, -111, 27, -111, 243, -111, 25, - -111, 160, 36, -111, -111, 169, 40, -111, -111, -111, - -111, -111, 56, -111, -111, -111, -111, -111, 180, -111, - -111, 163, -111, -111, -111, 246, -111, -111, -111, -111, + -111, -111, -111, 25, -111, -111, -111, -111, -111, 18, + -111, -111, 16, -111, -111, -111, -111, -111, -111, -111, + -111, -111, -111, -111, -111, -111, 57, -111, 40, 13, + -111, -111, 4, -111, 269, 42, 70, -111, -111, -111, + -111, -111, -111, -111, 26, 69, -111, -111, -111, 22, + -111, -111, 15, -111, -111, -111, -111, -111, -111, -111, + 14, -111, -111, -111, -111, -111, -111, -111, -111, -111, + 75, -111, -111, 10, -111, 32, -111, 74, -111, 24, + -111, 225, 46, -111, -111, 50, 41, -111, -111, -111, + -111, -111, 47, -111, -111, -111, -111, -111, 214, -111, + -111, 224, -111, -111, -111, 246, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, 8, -111, -111, -111, -111, -111, 69, -111, + -111, -111, 27, -111, -111, -111, -111, -111, 117, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, 61, 211, -111, 272, 257, 256, 236, -111, - 81, 83, 85, 68, 94, -111, -111, -111, -111, -111, - -111, -111, -111, 235, -111, 218, -111, 209, -111, -111, - 244, -111, 227, -111, -111, 228, -111, 238, -111, 33, - -111, 167, -111, 245, -111, 253, 254, -111, -111, 225, - -111, -111, -111, -111, -111, -111, 217, -111, 194, 213, - -111, -111, 208, -111, 207, -111, 52, -111, 205, -111, - 55, -111, 201, -111, 199, -111, -111, -111, -111, -111, - -111, -111, -111, 278, -111, 39, -111, 34, -111, 173, - 219, -111, -111, 53, 231, -111, 73, -111, -111, 44, - 59, -111, -111, -111, 47, -111, 24, 102, -111, 101, - -111, -111, 111, -111, -111, -111, -111, -111, -111, 26, - -111, -111, -111, -111, -111, -111, 65, -111, -111, -111, - -111, 76, -111, -111, -111, -111, -111, -111, 79, -111, - -111, 89, -111, -111, 51, -111, -111, -111, -111, -111, - -62, -111, 37, -111, -63, -111, -111, -111, -111, 387, - -111, -111, 264, -111, -111, -111, -111, -111, 158, -54, - -111, -111, 28, -111, 38, -111, 23, -111, -111, -111, - -111, 43, -111, 78, -111, 58, -111, 67, -111, -111, - -111, -111, -111, -111, 18, -111, -111, 195, -111, -111, - -111, -111, 161, -111, -111, -111, -111, 20, -111, -111, - 157, -111, -111, 31, -111, -111, -111, -111, -111, -111, + -111, -111, 17, 236, -111, 239, 242, 250, 254, -111, + 199, 171, 200, 202, 203, -111, -111, -111, -111, -111, + -111, -111, -111, 264, -111, 265, -111, 213, -111, -111, + 267, -111, 260, -111, -111, 262, -111, 253, -111, 45, + -111, 83, -111, 222, -111, 223, 226, -111, -111, 229, + -111, -111, -111, -111, -111, -111, 238, -111, 105, 118, + -111, -111, 129, -111, 87, -111, 36, -111, 183, -111, + 34, -111, 187, -111, 192, -111, -111, -111, -111, -111, + -111, -111, -111, 193, -111, 9, -111, 23, -111, 144, + 195, -111, -111, 20, 184, -111, 189, -111, -111, 31, + 164, -111, -111, -111, 21, -111, 11, 158, -111, 161, + -111, -111, 188, -111, -111, -111, -111, -111, -111, 33, + -111, -111, -111, -111, -111, -111, 191, -111, -111, -111, + -111, 176, -111, -111, -111, -111, -111, -111, 198, -111, + -111, 201, -111, -111, 65, -111, -111, -111, -111, -111, + -29, -111, 58, -111, -27, -111, -111, -111, -111, 268, + -111, -111, 266, -111, -111, -111, -111, -111, 219, -46, + -111, -111, 38, -111, 39, -111, 37, -111, -111, -111, + -111, 53, -111, 220, -111, 48, -111, 221, -111, -111, + -111, -111, -111, -111, 30, -111, -111, 137, -111, -111, + -111, -111, 206, -111, -111, -111, -111, 29, -111, -111, + 207, -111, -111, 1, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - 206, -111, -111, -111, -111, -111, -7, -111, -111, -111, - -111, -111, -111, -111, -24, -111, -111, -111, -12, -111, - -111, 342, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -16, -32, -111, 5, -111, -111, -111, - -111, 152, -111, -111, -111, 248, -111, -111, 330, -111, - -111, -111, 324, -111, -111, -111, -111, 385, -111, -111, - -21, -111, -111, 1, 14, -111, 367, -111, 232, 12, - -111, -111, 11, -111, 10, -111, 164, 141, -111, -111, - 7, -111, 64, -111, -111, 19, -111, -111, -111, 17, - -111, -1, 60, -111, 46, -111, -111, -111, -111, -111, - -15, -111, -111, -111, -2, -17, -4, -111, -111, -111, - -111, -111, 484, 138, 313, -3, -111, -111, -111, -111, - 4, -111, -111, 13, 16, 97, 127, -111, -111, -111, + 216, -111, -111, -111, -111, -111, 0, -111, -111, -111, + -111, -111, -111, -111, -30, -111, -111, -111, -11, -13, + -111, -111, 5, -111, -111, -111, -111, -111, 336, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -14, -111, -111, -111, -111, -111, -111, -8, -111, -111, - -111, -111, -111, -111, -111, -111}; + 7, -3, -111, -8, -111, -111, -111, -111, 174, -111, + -111, -111, 172, -111, -111, 323, -111, -111, -111, 334, + -111, -111, -111, -111, 372, -111, -111, -5, -111, -111, + -24, -7, -111, 439, -111, 248, -9, -111, -111, 8, + -111, -17, -111, 179, 342, -111, -111, 2, -111, 190, + -111, -111, 19, -111, -111, -111, 12, -111, -20, 68, + -111, 63, -111, -111, -111, -111, -111, -26, -111, -111, + -111, 3, -1, 79, -111, -111, -111, -111, -111, 354, + 67, 313, -4, -111, -111, -111, -111, -19, -111, -111, + -14, -10, 88, 233, -111, -111, -111, -111, -111, -111, + -111, -111, -111, -111, -111, -111, -111, -6, -111, -111, + -111, -111, -111, -111, -2, -111, -111, -111, -111, -111, + -111, -111, -111}; const short QQmlJSGrammar::action_info [] = { - 424, 405, 432, 404, 346, 245, 573, 354, 406, -134, - 461, -112, -113, -131, -136, 448, 350, -139, 402, 392, - 268, -123, -142, 465, 399, 398, -131, -139, 465, 461, - 474, -136, 558, 448, -134, -112, -113, 424, -123, 350, - -142, 245, 551, 481, 484, 268, 576, 524, 413, 482, - 438, 558, 439, 261, 558, 615, 420, 452, 418, 421, - 283, 454, 143, 428, 172, 558, 166, 423, 558, 448, - 608, 73, 546, 448, 149, 283, 0, 323, 408, 0, - 544, 307, 268, 0, 0, 0, 143, 184, 350, 448, - 245, 166, 101, 73, 461, 329, 465, 238, 456, 424, - 241, 336, 618, 189, 665, 262, 143, 323, 0, 181, - 317, 143, 451, 0, 315, 442, 143, 143, 192, 555, - 0, 143, 240, 243, 303, 151, 452, 101, 143, 185, - 143, 435, 143, 312, 305, 244, 0, 0, 303, 490, - 555, 60, 60, 342, 143, 143, 191, 432, 252, 251, - 103, 344, 61, 61, 144, 60, 305, 662, 661, 60, - 103, 656, 655, 352, 325, 338, 61, 556, 326, 501, - 61, 257, 256, 426, 143, 168, 436, 664, 663, 169, - 348, 542, 264, 64, 321, 633, 634, 491, 628, 620, - 619, 259, 258, 179, 65, 174, 463, 143, 622, 259, - 258, 416, 415, 525, 267, 265, 525, 87, 477, 88, - 531, 0, 174, 525, 175, 143, 411, 87, 339, 88, - 89, 66, 0, 87, 558, 88, 467, 527, 66, 610, - 89, 175, 266, 411, 525, 567, 89, 525, 526, 0, - 87, 66, 88, 87, 87, 88, 88, 549, 174, 527, - 236, 235, 527, 89, 611, 609, 89, 89, 0, 527, - 526, 478, 476, 526, 532, 530, 67, 175, 446, 445, - 526, 0, 68, 67, 174, 659, 658, 105, 0, 68, - 527, 75, 76, 527, 0, 623, 67, 285, 286, 568, - 566, 526, 68, 175, 526, 176, 106, 652, 107, 75, - 76, 550, 548, 174, 0, 285, 286, 657, 77, 78, - 174, 653, 651, 0, 287, 288, 0, 0, 0, 0, - 0, -99, 175, 0, 176, 0, 77, 78, -99, 175, - 0, 176, 287, 288, 0, 290, 291, 0, 0, 87, - 0, 88, 0, 650, 292, 80, 81, 293, 35, 294, - 0, 0, 89, 82, 83, 0, 0, 84, 35, 85, - 80, 81, 6, 5, 4, 1, 3, 2, 82, 83, - 80, 81, 84, 35, 85, 0, 0, 0, 82, 83, - 80, 81, 84, 0, 85, 49, 52, 50, 82, 83, - 80, 81, 84, 0, 85, 49, 52, 50, 82, 83, - 0, 0, 84, 0, 85, 35, 0, 0, 35, 0, - 49, 52, 50, 46, 34, 51, 35, 0, 0, 35, - 290, 291, 35, 46, 34, 51, 0, 0, 35, 292, - 0, 0, 293, 0, 294, 184, 0, 0, 46, 34, - 51, 35, 49, 52, 50, 49, 52, 50, 184, 0, + 73, 103, -141, 448, 461, -138, 482, -136, 424, -114, + 465, -115, -133, 342, 392, 245, 583, 344, 565, 354, + 350, 398, 399, 101, 402, -144, -125, 481, 268, 432, + 432, 553, 432, 438, 143, 439, 452, 580, 529, 615, + 456, 166, 524, 405, 532, 558, 448, 448, 454, 408, + 413, 484, 423, 418, 474, 406, 103, 404, -133, 283, + 245, -141, 0, 143, 421, 565, 551, 428, -125, 461, + -138, 101, 461, 241, -144, 283, -136, 448, -114, 268, + -115, 350, 73, 307, 350, 424, 149, 622, 185, 192, + 420, 323, 172, 465, 166, 240, 244, 336, 317, 448, + 268, 262, 243, 315, 465, 672, 181, 303, 346, 565, + 245, 435, 189, 329, 174, 143, 565, 490, 184, 143, + 151, 143, 562, 312, 238, 174, 424, 442, 143, 305, + 625, 451, 303, 175, 143, 143, 143, 168, 338, 64, + 143, 169, 562, 325, 175, 452, 191, 326, 0, 261, + 65, 143, 416, 415, 143, 60, 436, 627, 626, 663, + 662, 259, 258, 174, 60, 491, 61, 264, 143, 60, + 563, 426, 143, 467, 556, 61, 574, 259, 258, 477, + 61, 530, 175, 0, 60, 0, 348, 501, 352, 0, + 635, 339, 321, 640, 641, 61, 535, 534, 538, 144, + 669, 668, 179, 640, 641, 549, 257, 256, 259, 258, + 530, 323, 252, 251, 671, 670, 267, 265, 666, 665, + 463, 174, 174, 530, 530, 236, 235, 527, 557, 555, + 575, 573, 478, 476, 66, 143, 174, 525, 526, 105, + 175, 175, 411, 176, 266, 66, 530, 629, 66, 617, + 664, 527, 539, 537, 0, 175, 527, 411, 106, 87, + 107, 88, 526, 0, 0, 0, 0, 526, 0, 527, + 527, 0, 89, 565, 618, 616, 0, 0, 0, 67, + 526, 526, 0, 527, 0, 68, 174, 0, 446, 445, + 67, 0, 527, 67, 526, 174, 68, 285, 286, 68, + 0, 0, 0, 526, -101, 175, 659, 176, 0, 285, + 286, 0, 0, -101, 175, 87, 176, 88, 290, 291, + 660, 658, 0, 0, 287, 288, 0, 292, 89, 0, + 293, 0, 294, 0, 630, 0, 287, 288, 0, 290, + 291, 0, 0, 0, 0, 290, 291, 0, 292, 290, + 291, 293, 657, 294, 292, 290, 291, 293, 292, 294, + 0, 293, 0, 294, 292, 80, 81, 293, 35, 294, + 0, 0, 35, 82, 83, 35, 0, 84, 35, 85, + 6, 5, 4, 1, 3, 2, 80, 81, 35, 0, + 0, 35, 0, 0, 82, 83, 75, 76, 84, 0, + 85, 0, 0, 0, 0, 49, 52, 50, 0, 49, + 52, 50, 49, 52, 50, 49, 52, 50, 0, 0, + 0, 0, 35, 77, 78, 49, 52, 50, 49, 52, + 50, 0, 0, 46, 34, 51, 35, 46, 34, 51, + 46, 34, 51, 46, 34, 51, 0, 0, 0, 0, + 0, 0, 0, 46, 34, 51, 46, 34, 51, 49, + 52, 50, 0, 0, 0, 0, 0, 35, 0, 0, + 35, 0, 0, 49, 52, 50, 35, 0, 0, 35, + 0, 0, 35, 0, 80, 81, 35, 46, 34, 51, + 0, 0, 82, 83, 0, 0, 84, 0, 85, 0, + 0, 46, 34, 51, 49, 52, 50, 49, 52, 50, 0, 0, 0, 49, 52, 50, 49, 52, 50, 49, - 52, 50, 35, 0, 0, 49, 52, 50, 0, 184, - 46, 34, 51, 46, 34, 51, 0, 0, 49, 52, - 50, 46, 34, 51, 46, 34, 51, 46, 34, 51, - 0, 0, 0, 46, 34, 51, 0, 0, 35, 49, - 52, 50, 0, 35, 0, 0, 46, 34, 51, 0, - 0, 35, 0, 0, 0, 0, 0, 0, 0, 35, - 0, 0, 0, 0, 0, 0, 0, 46, 34, 51, - 250, 249, 0, 0, 0, 49, 52, 50, 0, 0, - 49, 52, 50, 250, 249, 0, 0, 0, 49, 52, - 50, 250, 249, 0, 0, 0, 49, 52, 50, 0, - 0, 0, 0, 46, 34, 51, 0, 0, 46, 34, - 51, 0, 0, 0, 0, 0, 46, 34, 51, 0, - 35, 0, 0, 0, 46, 34, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 255, 254, 153, 0, 0, 49, 52, 50, - 0, 0, 0, 0, 154, 0, 0, 0, 155, 0, - 0, 0, 0, 0, 0, 0, 0, 156, 0, 157, - 0, 0, 319, 0, 0, 46, 34, 51, 0, 0, - 158, 0, 159, 64, 0, 30, 31, 153, 0, 0, - 160, 0, 0, 161, 65, 33, 0, 154, 0, 162, - 0, 155, 35, 0, 0, 163, 36, 37, 0, 38, - 156, 0, 157, 0, 0, 0, 42, 0, 0, 0, - 45, 164, 0, 158, 0, 159, 64, 0, 0, 0, - 0, 0, 0, 160, 0, 0, 161, 65, 53, 49, - 52, 50, 162, 54, 0, 0, 0, 0, 163, 0, - 0, 0, 0, 0, 44, 56, 32, 0, 0, 0, - 41, 0, 0, 0, 164, 0, 0, 46, 34, 51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 35, 0, 0, - 0, 36, 37, 0, 38, 0, 0, 0, 0, 0, - 0, 516, 0, 0, 0, 45, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 53, 49, 52, 50, 0, 54, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 56, 32, 0, 0, 0, 41, 0, 0, 0, 0, + 52, 50, 35, 49, 52, 50, 0, 0, 0, 184, + 0, 35, 46, 34, 51, 46, 34, 51, 184, 0, + 0, 46, 34, 51, 46, 34, 51, 46, 34, 51, + 0, 46, 34, 51, 0, 35, 0, 0, 0, 49, + 52, 50, 184, 0, 0, 0, 0, 35, 49, 52, + 50, 0, 0, 0, 0, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 46, 34, 51, + 0, 0, 49, 52, 50, 0, 46, 34, 51, 0, + 0, 0, 0, 0, 49, 52, 50, 255, 254, 0, + 0, 0, 49, 52, 50, 0, 0, 0, 255, 254, + 46, 34, 51, 49, 52, 50, 35, 0, 0, 35, 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, - 0, 35, 0, 0, 0, 36, 37, 0, 38, 0, - 0, 0, 0, 0, 0, 42, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 53, 49, 52, - 50, 0, 54, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 56, 32, 0, 0, 0, 41, - 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, - 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 219, 0, 0, 0, 0, 0, 0, 35, 0, 0, - 0, 36, 37, 0, 38, 0, 0, 0, 0, 0, - 0, 516, 0, 0, 0, 45, 0, 0, 0, 0, + 46, 34, 51, 0, 35, 0, 0, 0, 0, 0, + 0, 46, 34, 51, 0, 0, 0, 0, 255, 254, + 0, 250, 249, 49, 52, 50, 49, 52, 50, 0, + 0, 0, 0, 0, 0, 0, 250, 249, 0, 0, + 0, 49, 52, 50, 0, 0, 0, 0, 0, 0, + 0, 46, 34, 51, 46, 34, 51, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, + 34, 51, 0, 0, 0, 0, 0, 0, 0, 30, + 31, 153, 0, 0, 0, 0, 0, 0, 0, 33, + 0, 154, 0, 0, 0, 155, 35, 0, 0, 0, + 36, 37, 0, 38, 156, 0, 157, 0, 0, 0, + 42, 0, 0, 0, 45, 0, 0, 158, 0, 159, + 64, 0, 0, 0, 0, 0, 0, 160, 0, 0, + 161, 65, 53, 49, 52, 50, 162, 54, 0, 0, + 0, 0, 163, 0, 0, 0, 0, 0, 44, 56, + 32, 0, 0, 0, 41, 0, 0, 0, 164, 0, + 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, + 0, 30, 31, 0, 0, 0, 0, 0, 0, 0, + 0, 33, 0, 0, 153, 0, 0, 0, 35, 0, + 0, 0, 36, 37, 154, 38, 0, 0, 155, 0, + 0, 0, 516, 0, 0, 0, 45, 156, 0, 157, + 0, 0, 319, 0, 0, 0, 0, 0, 0, 0, + 158, 0, 159, 64, 53, 49, 52, 50, 0, 54, + 160, 0, 0, 161, 65, 0, 0, 0, 0, 162, + 44, 56, 32, 0, 0, 163, 41, 0, 0, 0, + 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 53, 517, 519, 518, 0, 54, 0, - 0, 0, 0, 227, 0, 0, 0, 0, 0, 44, - 56, 32, 214, 0, 0, 41, 0, 0, 0, 0, - 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 515, 0, 30, 31, 0, 0, - 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, - 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, - 38, 0, 0, 0, 0, 0, 0, 516, 0, 0, - 0, 45, 0, 0, 0, 0, 0, 0, 0, 563, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, - 517, 519, 518, 0, 54, 0, 0, 0, 0, 227, - 0, 0, 0, 0, 0, 44, 56, 32, 214, 0, - 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 515, 0, 30, 31, 0, 0, 0, 0, 0, 0, - 0, 0, 219, 0, 0, 0, 0, 0, 0, 35, - 0, 0, 0, 36, 37, 0, 38, 0, 0, 0, - 0, 0, 0, 516, 0, 0, 0, 45, 0, 0, - 0, 0, 0, 0, 0, 560, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 53, 517, 519, 518, 0, - 54, 0, 0, 0, 0, 227, 0, 0, 0, 0, - 0, 44, 56, 32, 214, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 29, 30, 31, 0, + 0, 0, 0, 0, 0, 0, 0, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, - 0, 38, 0, 0, 0, 39, 0, 40, 42, 43, - 0, 0, 45, 0, 0, 0, 47, 0, 48, 0, + 0, 38, 0, 0, 0, 0, 0, 0, 516, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 49, 52, 50, 0, 54, 0, 55, 0, 57, - 0, 58, 0, 0, 0, 0, 44, 56, 32, 0, + 53, 49, 52, 50, 0, 54, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 56, 32, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -132, 0, 0, 0, 29, 30, 31, 0, 0, - 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, - 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, - 38, 0, 0, 0, 39, 0, 40, 42, 43, 0, - 0, 45, 0, 0, 0, 47, 0, 48, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, - 49, 52, 50, 0, 54, 0, 55, 0, 57, 0, - 58, 0, 0, 0, 0, 44, 56, 32, 0, 0, - 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 35, 0, - 0, 0, 36, 37, 0, 38, 0, 0, 0, 39, - 0, 40, 42, 43, 0, 0, 45, 0, 0, 0, - 47, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 36, 37, 0, 38, 0, 0, 0, 0, + 0, 0, 42, 0, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 49, 52, 50, 0, 54, - 0, 55, 0, 57, 282, 58, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 56, 32, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 496, 0, 0, 29, 30, - 31, 0, 0, 0, 0, 0, 0, 0, 0, 33, - 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, - 36, 37, 0, 38, 0, 0, 0, 39, 0, 40, - 42, 43, 0, 0, 45, 0, 0, 0, 47, 0, - 48, 0, 0, 497, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 49, 52, 50, 0, 54, 0, 55, - 0, 57, 0, 58, 0, 0, 0, 0, 44, 56, - 32, 0, 0, 0, 41, 0, 0, 0, 0, 0, - 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 488, 0, 0, 29, 30, 31, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, + 0, 0, 0, 0, 0, 515, 0, 30, 31, 0, + 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, - 0, 38, 0, 0, 0, 39, 0, 40, 42, 43, - 0, 0, 45, 0, 0, 0, 47, 0, 48, 0, - 0, 494, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 49, 52, 50, 0, 54, 0, 55, 0, 57, - 0, 58, 0, 0, 0, 0, 44, 56, 32, 0, + 0, 38, 0, 0, 0, 0, 0, 0, 516, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 53, 517, 519, 518, 0, 54, 0, 0, 0, 0, + 227, 0, 0, 0, 0, 0, 44, 56, 32, 214, 0, 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 488, 0, 0, 29, 30, 31, 0, 0, 0, - 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, - 0, 0, 35, 0, 0, 0, 36, 37, 0, 38, - 0, 0, 0, 39, 0, 40, 42, 43, 0, 0, - 45, 0, 0, 0, 47, 0, 48, 0, 0, 489, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 49, - 52, 50, 0, 54, 0, 55, 0, 57, 0, 58, - 0, 0, 0, 0, 44, 56, 32, 0, 0, 0, - 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 496, + 0, 515, 0, 30, 31, 0, 0, 0, 0, 0, + 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, + 35, 0, 0, 0, 36, 37, 0, 38, 0, 0, + 0, 0, 0, 0, 516, 0, 0, 0, 45, 0, + 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 53, 517, 519, 518, + 0, 54, 0, 0, 0, 0, 227, 0, 0, 0, + 0, 0, 44, 56, 32, 214, 0, 0, 41, 0, + 0, 0, 0, 0, 0, 46, 34, 51, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 515, 0, 30, + 31, 0, 0, 0, 0, 0, 0, 0, 0, 219, + 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, + 36, 37, 0, 38, 0, 0, 0, 0, 0, 0, + 516, 0, 0, 0, 45, 0, 0, 0, 0, 0, + 0, 0, 570, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 53, 517, 519, 518, 0, 54, 0, 0, + 0, 0, 227, 0, 0, 0, 0, 0, 44, 56, + 32, 214, 0, 0, 41, 0, 0, 0, 0, 0, + 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 30, 31, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 36, 37, 0, 38, 0, + 0, 0, 39, 0, 40, 42, 43, 0, 0, 45, + 0, 0, 0, 47, 0, 48, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 53, 49, 52, + 50, 0, 54, 0, 55, 0, 57, 0, 58, 0, + 0, 0, 0, 44, 56, 32, 0, 0, 0, 41, + 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -134, 0, 0, 0, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, 43, 0, 0, 45, 0, - 0, 0, 47, 0, 48, 0, 0, 499, 0, 0, + 0, 0, 47, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 49, 52, 50, 0, 54, 0, 55, 0, 57, 0, 58, 0, 0, 0, 0, 44, 56, 32, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 0, 0, 0, 0, 0, 35, 220, 0, 0, 221, + 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, 43, 0, 0, 45, 0, 0, 0, 47, 0, 48, - 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, - 0, 53, 49, 52, 50, 224, 54, 0, 55, 226, - 57, 0, 58, 0, 229, 0, 0, 44, 56, 32, - 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, - 46, 34, 51, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 0, 0, 0, 0, 0, - 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, - 35, 220, 0, 0, 578, 37, 0, 38, 0, 0, - 0, 39, 0, 40, 42, 43, 0, 0, 45, 0, - 0, 0, 47, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 223, 0, 0, 0, 53, 49, 52, 50, - 224, 54, 0, 55, 226, 57, 0, 58, 0, 229, - 0, 0, 44, 56, 32, 0, 0, 0, 41, 0, - 0, 0, 0, 0, 0, 46, 34, 51, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 0, 0, 0, 0, 0, 35, 220, 0, 0, 578, - 624, 0, 38, 0, 0, 0, 39, 0, 40, 42, - 43, 0, 0, 45, 0, 0, 0, 47, 0, 48, - 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, - 0, 53, 49, 52, 50, 224, 54, 0, 55, 226, - 57, 0, 58, 0, 229, 0, 0, 44, 56, 32, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 53, 49, 52, 50, 0, 54, 0, 55, 0, + 57, 282, 58, 0, 0, 0, 0, 44, 56, 32, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 111, 112, 113, 0, 0, 115, 117, 118, - 0, 0, 119, 0, 120, 0, 0, 0, 122, 123, - 124, 0, 0, 0, 0, 0, 0, 35, 125, 126, - 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, - 0, 0, 0, 0, 49, 52, 50, 132, 133, 134, - 0, 136, 137, 138, 139, 140, 141, 0, 0, 129, - 135, 121, 114, 116, 130, 0, 0, 0, 0, 0, - 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 111, 112, 113, 0, 0, 115, - 117, 118, 0, 0, 119, 0, 120, 0, 0, 0, - 122, 123, 124, 0, 0, 0, 0, 0, 0, 35, - 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 128, 0, 0, 0, 395, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 0, 0, 0, 0, 0, 397, 49, 52, 50, 132, - 133, 134, 0, 136, 137, 138, 139, 140, 141, 0, - 0, 129, 135, 121, 114, 116, 130, 0, 0, 0, - 0, 0, 0, 0, 46, 374, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 111, 112, 113, 0, - 0, 115, 117, 118, 0, 0, 119, 0, 120, 0, - 0, 0, 122, 123, 124, 0, 0, 0, 0, 0, - 0, 35, 125, 126, 127, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 0, 0, 0, 395, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 0, 0, 0, 0, 0, 397, 49, 52, - 50, 132, 133, 134, 0, 136, 137, 138, 139, 140, - 141, 0, 0, 129, 135, 121, 114, 116, 130, 0, + 0, 0, 496, 0, 0, 29, 30, 31, 0, 0, + 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, + 38, 0, 0, 0, 39, 0, 40, 42, 43, 0, + 0, 45, 0, 0, 0, 47, 0, 48, 0, 0, + 499, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 49, 52, 50, 0, 54, 0, 55, 0, 57, 0, + 58, 0, 0, 0, 0, 44, 56, 32, 0, 0, + 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, + 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 496, 0, 0, 29, 30, 31, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, + 0, 35, 0, 0, 0, 36, 37, 0, 38, 0, + 0, 0, 39, 0, 40, 42, 43, 0, 0, 45, + 0, 0, 0, 47, 0, 48, 0, 0, 497, 0, + 0, 0, 0, 0, 0, 0, 0, 53, 49, 52, + 50, 0, 54, 0, 55, 0, 57, 0, 58, 0, + 0, 0, 0, 44, 56, 32, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 111, 112, - 113, 0, 0, 115, 117, 118, 0, 0, 119, 0, - 120, 0, 0, 0, 122, 123, 124, 0, 0, 0, - 0, 0, 0, 35, 125, 126, 127, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, - 0, 395, 0, 0, 0, 0, 0, 0, 0, 396, - 0, 0, 0, 131, 0, 0, 0, 0, 0, 397, - 49, 52, 50, 132, 133, 134, 0, 136, 137, 138, - 139, 140, 141, 0, 0, 129, 135, 121, 114, 116, - 130, 0, 0, 0, 0, 0, 0, 0, 46, 374, - 380, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 0, 0, 0, 0, 215, 0, 29, 30, 31, - 217, 0, 0, 0, 0, 0, 0, 218, 33, 0, - 0, 0, 0, 0, 0, 35, 220, 0, 0, 221, - 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, - 43, 0, 0, 45, 0, 0, 0, 47, 0, 48, - 0, 0, 0, 0, 0, 222, 0, 223, 0, 0, - 0, 53, 49, 52, 50, 224, 54, 225, 55, 226, - 57, 227, 58, 228, 229, 0, 0, 44, 56, 32, - 214, 216, 0, 41, 0, 0, 0, 0, 0, 0, - 46, 34, 51, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 213, 0, 0, 0, 0, 215, 0, 29, - 30, 31, 217, 0, 0, 0, 0, 0, 0, 218, - 219, 0, 0, 0, 0, 0, 0, 35, 220, 0, - 0, 221, 37, 0, 38, 0, 0, 0, 39, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 488, 0, + 0, 29, 30, 31, 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 0, 0, 0, 0, 35, + 0, 0, 0, 36, 37, 0, 38, 0, 0, 0, + 39, 0, 40, 42, 43, 0, 0, 45, 0, 0, + 0, 47, 0, 48, 0, 0, 489, 0, 0, 0, + 0, 0, 0, 0, 0, 53, 49, 52, 50, 0, + 54, 0, 55, 0, 57, 0, 58, 0, 0, 0, + 0, 44, 56, 32, 0, 0, 0, 41, 0, 0, + 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 488, 0, 0, 29, + 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, + 33, 0, 0, 0, 0, 0, 0, 35, 0, 0, + 0, 36, 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, 43, 0, 0, 45, 0, 0, 0, 47, - 0, 48, 0, 0, 0, 0, 0, 222, 0, 223, - 0, 0, 0, 53, 49, 52, 50, 224, 54, 225, - 55, 226, 57, 227, 58, 228, 229, 0, 0, 44, - 56, 32, 214, 216, 0, 41, 0, 0, 0, 0, + 0, 48, 0, 0, 494, 0, 0, 0, 0, 0, + 0, 0, 0, 53, 49, 52, 50, 0, 54, 0, + 55, 0, 57, 0, 58, 0, 0, 0, 0, 44, + 56, 32, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 582, 112, 113, 0, 0, 584, - 117, 586, 30, 31, 587, 0, 120, 0, 0, 0, - 122, 589, 590, 0, 0, 0, 0, 0, 0, 35, - 591, 126, 127, 221, 37, 0, 38, 0, 0, 0, - 39, 0, 40, 592, 43, 0, 0, 594, 0, 0, - 0, 47, 0, 48, 0, 0, 0, 0, 0, 595, - 0, 223, 0, 0, 0, 596, 49, 52, 50, 597, - 598, 599, 55, 601, 602, 603, 604, 605, 606, 0, - 0, 593, 600, 588, 583, 585, 130, 41, 0, 0, - 0, 0, 0, 0, 46, 374, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 365, 112, 113, 0, - 0, 367, 117, 369, 30, 31, 370, 0, 120, 0, - 0, 0, 122, 372, 373, 0, 0, 0, 0, 0, - 0, 35, 375, 126, 127, 221, 37, 0, 38, 0, - 0, 0, 39, 0, 40, 376, 43, 0, 0, 378, - 0, 0, 0, 47, 0, 48, 0, -278, 0, 0, - 0, 379, 0, 223, 0, 0, 0, 381, 49, 52, - 50, 382, 383, 384, 55, 386, 387, 388, 389, 390, - 391, 0, 0, 377, 385, 371, 366, 368, 130, 41, - 0, 0, 0, 0, 0, 0, 46, 374, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - - 545, 572, 565, 632, 654, 148, 529, 541, 528, 142, - 660, 263, 500, 393, 617, 616, 621, 614, 16, 629, - 444, 183, 313, 547, 447, 183, 631, 643, 253, 248, - 644, 485, 575, 574, 607, 152, 320, 437, 178, 313, - 441, 433, 173, 183, 165, 253, 462, 313, 457, 447, - 444, 453, 253, 458, 425, 347, 455, 248, 351, 188, - 475, 466, 498, 171, 150, 447, 206, 190, 400, 468, - 0, 183, 248, 495, 469, 237, 409, 393, 409, 331, - 464, 247, 512, 206, 145, 206, 62, 409, 507, 206, - 0, 511, 0, 188, 0, 206, 206, 188, 206, 62, - 62, 504, 460, 417, 62, 206, 505, 206, 647, 646, - 407, 0, 0, 410, 62, 410, 459, 62, 148, 506, - 62, 187, 62, 277, 410, 419, 412, 298, 281, 393, - 148, 0, 0, 0, 422, 62, 170, 62, 180, 62, - 295, 514, 296, 260, 297, 62, 648, 503, 62, 62, - 62, 182, 514, 299, 394, 62, 62, 460, 459, 206, - 362, 630, 362, 62, 167, 502, 514, 62, 62, 322, - 62, 553, 444, 99, 100, 93, 206, 62, 356, 206, - 510, 206, 94, 62, 62, 206, 62, 62, 95, 96, - 62, 97, 86, 62, 90, 493, 62, 91, 188, 492, - 92, 355, 62, 353, 108, 62, 483, 349, 242, 345, - 247, 313, 331, 469, 102, 104, 313, 206, 62, 206, - 182, 260, 62, 206, 206, 206, 239, 62, 98, 182, - 313, 313, 62, 110, 362, 72, 62, 206, 69, 62, - 318, 70, 62, 62, 71, 260, 63, 62, 246, 393, - 581, 62, 62, 460, 0, 74, 206, 62, 79, 459, - 0, 206, 514, 309, 206, 62, 362, 557, 281, 0, - 281, 309, 62, 0, 284, 403, 281, 281, 0, 309, - 401, 0, 206, 306, 281, 308, 343, 479, 340, 62, - 62, 341, 108, 337, 281, 281, 206, 302, 309, 62, - 0, 330, 304, 281, 281, 314, 316, 62, 309, 0, - 62, 62, 281, 281, 324, 281, 281, 301, 300, 514, - 311, 110, 177, 0, 327, 0, 62, 569, 522, 564, - 328, 281, 553, 289, 627, 561, 0, 0, 514, 0, - 513, 523, 0, 0, 514, 0, 0, 522, 0, 0, - 0, 0, 443, 522, 0, 485, 0, 0, 0, 513, - 523, 0, 0, 0, 0, 513, 523, 533, 534, 535, - 536, 540, 537, 538, 0, 0, 0, 0, 0, 0, - 0, 577, 0, 0, 0, 0, 0, 0, 0, 362, - 579, 580, 533, 534, 535, 536, 540, 537, 538, 569, - 0, 0, 0, 0, 0, 206, 0, 0, 570, 571, - 533, 534, 535, 536, 540, 537, 538, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 30, 31, 0, 0, 0, + 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, + 0, 0, 35, 220, 0, 0, 221, 37, 0, 38, + 0, 0, 0, 39, 0, 40, 42, 43, 0, 0, + 45, 0, 0, 0, 47, 0, 48, 0, 0, 0, + 0, 0, 0, 0, 223, 0, 0, 0, 53, 49, + 52, 50, 224, 54, 0, 55, 226, 57, 0, 58, + 0, 229, 0, 0, 44, 56, 32, 0, 0, 0, + 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, + 33, 0, 0, 0, 0, 0, 0, 35, 220, 0, + 0, 585, 631, 0, 38, 0, 0, 0, 39, 0, + 40, 42, 43, 0, 0, 45, 0, 0, 0, 47, + 0, 48, 0, 0, 0, 0, 0, 0, 0, 223, + 0, 0, 0, 53, 49, 52, 50, 224, 54, 0, + 55, 226, 57, 0, 58, 0, 229, 0, 0, 44, + 56, 32, 0, 0, 0, 41, 0, 0, 0, 0, + 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 30, 31, 0, 0, 0, + 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, + 0, 0, 35, 220, 0, 0, 585, 37, 0, 38, + 0, 0, 0, 39, 0, 40, 42, 43, 0, 0, + 45, 0, 0, 0, 47, 0, 48, 0, 0, 0, + 0, 0, 0, 0, 223, 0, 0, 0, 53, 49, + 52, 50, 224, 54, 0, 55, 226, 57, 0, 58, + 0, 229, 0, 0, 44, 56, 32, 0, 0, 0, + 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, + 112, 113, 0, 0, 115, 117, 118, 0, 0, 119, + 0, 120, 0, 0, 0, 122, 123, 124, 0, 0, + 0, 0, 0, 0, 35, 125, 126, 127, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, + 0, 49, 52, 50, 132, 133, 134, 0, 136, 137, + 138, 139, 140, 141, 0, 0, 129, 135, 121, 114, + 116, 130, 0, 0, 0, 0, 0, 0, 0, 46, + 34, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 111, 112, 113, 0, 0, 115, 117, 118, 0, + 0, 119, 0, 120, 0, 0, 0, 122, 123, 124, + 0, 0, 0, 0, 0, 0, 35, 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 128, 0, 0, 0, 395, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, + 0, 0, 397, 49, 52, 50, 132, 133, 134, 0, + 136, 137, 138, 139, 140, 141, 0, 0, 129, 135, + 121, 114, 116, 130, 0, 0, 0, 0, 0, 0, + 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 111, 112, 113, 0, 0, 115, 117, + 118, 0, 0, 119, 0, 120, 0, 0, 0, 122, + 123, 124, 0, 0, 0, 0, 0, 0, 35, 125, + 126, 127, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 395, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, + 0, 0, 0, 0, 397, 49, 52, 50, 132, 133, + 134, 0, 136, 137, 138, 139, 140, 141, 0, 0, + 129, 135, 121, 114, 116, 130, 0, 0, 0, 0, + 0, 0, 0, 46, 374, 380, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 111, 112, 113, 0, 0, + 115, 117, 118, 0, 0, 119, 0, 120, 0, 0, + 0, 122, 123, 124, 0, 0, 0, 0, 0, 0, + 35, 125, 126, 127, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 0, 0, 0, 395, 0, + 0, 0, 0, 0, 0, 0, 396, 0, 0, 0, + 131, 0, 0, 0, 0, 0, 397, 49, 52, 50, + 132, 133, 134, 0, 136, 137, 138, 139, 140, 141, + 0, 0, 129, 135, 121, 114, 116, 130, 0, 0, + 0, 0, 0, 0, 0, 46, 374, 380, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, + 0, 0, 215, 0, 29, 30, 31, 217, 0, 0, + 0, 0, 0, 0, 218, 219, 0, 0, 0, 0, + 0, 0, 35, 220, 0, 0, 221, 37, 0, 38, + 0, 0, 0, 39, 0, 40, 42, 43, 0, 0, + 45, 0, 0, 0, 47, 0, 48, 0, 0, 0, + 0, 0, 222, 0, 223, 0, 0, 0, 53, 49, + 52, 50, 224, 54, 225, 55, 226, 57, 227, 58, + 228, 229, 0, 0, 44, 56, 32, 214, 216, 0, + 41, 0, 0, 0, 0, 0, 0, 46, 34, 51, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, + 0, 0, 0, 0, 215, 0, 29, 30, 31, 217, + 0, 0, 0, 0, 0, 0, 218, 33, 0, 0, + 0, 0, 0, 0, 35, 220, 0, 0, 221, 37, + 0, 38, 0, 0, 0, 39, 0, 40, 42, 43, + 0, 0, 45, 0, 0, 0, 47, 0, 48, 0, + 0, 0, 0, 0, 222, 0, 223, 0, 0, 0, + 53, 49, 52, 50, 224, 54, 225, 55, 226, 57, + 227, 58, 228, 229, 0, 0, 44, 56, 32, 214, + 216, 0, 41, 0, 0, 0, 0, 0, 0, 46, + 34, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 589, 112, 113, 0, 0, 591, 117, 593, 30, + 31, 594, 0, 120, 0, 0, 0, 122, 596, 597, + 0, 0, 0, 0, 0, 0, 35, 598, 126, 127, + 221, 37, 0, 38, 0, 0, 0, 39, 0, 40, + 599, 43, 0, 0, 601, 0, 0, 0, 47, 0, + 48, 0, 0, 0, 0, 0, 602, 0, 223, 0, + 0, 0, 603, 49, 52, 50, 604, 605, 606, 55, + 608, 609, 610, 611, 612, 613, 0, 0, 600, 607, + 595, 590, 592, 130, 41, 0, 0, 0, 0, 0, + 0, 46, 374, 380, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 365, 112, 113, 0, 0, 367, 117, + 369, 30, 31, 370, 0, 120, 0, 0, 0, 122, + 372, 373, 0, 0, 0, 0, 0, 0, 35, 375, + 126, 127, 221, 37, 0, 38, 0, 0, 0, 39, + 0, 40, 376, 43, 0, 0, 378, 0, 0, 0, + 47, 0, 48, 0, -280, 0, 0, 0, 379, 0, + 223, 0, 0, 0, 381, 49, 52, 50, 382, 383, + 384, 55, 386, 387, 388, 389, 390, 391, 0, 0, + 377, 385, 371, 366, 368, 130, 41, 0, 0, 0, + 0, 0, 0, 46, 374, 380, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + + 650, 253, 528, 638, 651, 447, 621, 536, 581, 16, + 554, 582, 661, 614, 548, 444, 667, 579, 636, 531, + 183, 628, 313, 533, 444, 572, 248, 248, 248, 552, + 263, 623, 237, 206, 313, 331, 447, 351, 183, 347, + 190, 253, 183, 495, 188, 178, 173, 142, 320, 313, + 253, 466, 639, 444, 152, 171, 462, 455, 165, 453, + 150, 441, 457, 458, 500, 469, 447, 145, 425, 183, + 148, 498, 475, 437, 433, 400, 260, 485, 393, 247, + 108, 514, 512, 0, 206, 322, 0, 188, 511, 345, + 637, 0, 206, 206, 62, 0, 0, 624, 206, 654, + 653, 206, 206, 62, 0, 206, 62, 409, 62, 110, + 170, 62, 148, 104, 98, 187, 0, 62, 102, 460, + 180, 313, 62, 331, 459, 167, 62, 62, 504, 69, + 62, 62, 313, 72, 63, 62, 62, 459, 507, 62, + 62, 506, 505, 62, 410, 70, 62, 0, 503, 62, + 62, 502, 182, 62, 62, 469, 62, 62, 91, 100, + 90, 62, 97, 62, 62, 62, 96, 62, 95, 94, + 93, 277, 86, 62, 62, 510, 281, 92, 62, 62, + 99, 62, 393, 71, 79, 349, 514, 74, 514, 353, + 62, 564, 460, 560, 355, 401, 341, 260, 62, 340, + 182, 206, 393, 409, 409, 206, 393, 343, 417, 206, + 206, 206, 62, 206, 459, 62, 188, 460, 148, 206, + 247, 362, 464, 468, 206, 62, 412, 362, 403, 479, + 296, 394, 188, 62, 206, 182, 407, 206, 206, 206, + 410, 410, 206, 356, 419, 493, 422, 514, 246, 492, + 362, 483, 655, 62, 62, 318, 62, 62, 295, 297, + 239, 298, 299, 313, 206, 313, 588, 309, 362, 242, + 362, 206, 281, 0, 0, 0, 62, 62, 0, 0, + 309, 281, 281, 309, 206, 281, 206, 108, 281, 308, + 62, 324, 309, 62, 327, 281, 62, 281, 281, 284, + 289, 281, 328, 300, 62, 330, 0, 0, 62, 281, + 0, 301, 0, 281, 337, 302, 110, 177, 62, 62, + 514, 309, 0, 281, 281, 0, 281, 576, 568, 522, + 306, 304, 560, 0, 634, 0, 0, 514, 314, 571, + 316, 513, 523, 311, 260, 0, 522, 0, 514, 0, + 0, 0, 0, 0, 443, 485, 440, 522, 513, 523, + 206, 540, 541, 542, 543, 547, 544, 545, 584, 513, + 523, 0, 0, 0, 0, 0, 0, 632, 633, 540, + 541, 542, 543, 547, 544, 545, 576, 0, 0, 0, + 0, 0, 0, 0, 0, 577, 578, 540, 541, 542, + 543, 547, 544, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, - 0, 0, 0, 0, 0, 0, 0, 625, 626, 533, - 534, 535, 536, 540, 537, 538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 584, 0, 0, 0, 0, 0, 0, + 0, 0, 586, 587, 540, 541, 542, 543, 547, 544, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0}; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; const short QQmlJSGrammar::action_check [] = { - 36, 60, 5, 36, 31, 7, 66, 16, 33, 7, - 36, 7, 7, 7, 7, 33, 36, 7, 55, 8, - 36, 7, 7, 36, 7, 55, 7, 7, 36, 36, - 17, 7, 33, 33, 7, 7, 7, 36, 7, 36, - 7, 7, 34, 60, 55, 36, 7, 66, 60, 33, - 55, 33, 7, 77, 33, 8, 60, 20, 36, 33, - 1, 36, 8, 33, 7, 33, 2, 55, 33, 33, - 29, 1, 24, 33, 8, 1, -1, 2, 55, -1, - 37, 8, 36, -1, -1, -1, 8, 36, 36, 33, - 7, 2, 48, 1, 36, 7, 36, 36, 60, 36, - 33, 17, 60, 8, 0, 36, 8, 2, -1, 60, - 60, 8, 6, -1, 61, 7, 8, 8, 33, 8, - -1, 8, 60, 55, 48, 60, 20, 48, 8, 36, - 8, 10, 8, 61, 79, 55, -1, -1, 48, 8, - 8, 40, 40, 61, 8, 8, 60, 5, 61, 62, - 79, 60, 51, 51, 56, 40, 79, 61, 62, 40, - 79, 61, 62, 60, 50, 8, 51, 56, 54, 60, - 51, 61, 62, 60, 8, 50, 55, 61, 62, 54, - 60, 29, 60, 42, 60, 91, 92, 56, 56, 61, - 62, 61, 62, 56, 53, 15, 60, 8, 7, 61, - 62, 61, 62, 29, 61, 62, 29, 25, 8, 27, - 7, -1, 15, 29, 34, 8, 36, 25, 61, 27, - 38, 12, -1, 25, 33, 27, 60, 75, 12, 36, - 38, 34, 89, 36, 29, 7, 38, 29, 86, -1, - 25, 12, 27, 25, 25, 27, 27, 7, 15, 75, - 61, 62, 75, 38, 61, 62, 38, 38, -1, 75, - 86, 61, 62, 86, 61, 62, 57, 34, 61, 62, - 86, -1, 63, 57, 15, 61, 62, 15, -1, 63, - 75, 18, 19, 75, -1, 94, 57, 18, 19, 61, - 62, 86, 63, 34, 86, 36, 34, 47, 36, 18, - 19, 61, 62, 15, -1, 18, 19, 93, 45, 46, - 15, 61, 62, -1, 45, 46, -1, -1, -1, -1, - -1, 33, 34, -1, 36, -1, 45, 46, 33, 34, - -1, 36, 45, 46, -1, 23, 24, -1, -1, 25, - -1, 27, -1, 93, 32, 23, 24, 35, 29, 37, - -1, -1, 38, 31, 32, -1, -1, 35, 29, 37, - 23, 24, 98, 99, 100, 101, 102, 103, 31, 32, - 23, 24, 35, 29, 37, -1, -1, -1, 31, 32, - 23, 24, 35, -1, 37, 66, 67, 68, 31, 32, - 23, 24, 35, -1, 37, 66, 67, 68, 31, 32, - -1, -1, 35, -1, 37, 29, -1, -1, 29, -1, - 66, 67, 68, 94, 95, 96, 29, -1, -1, 29, - 23, 24, 29, 94, 95, 96, -1, -1, 29, 32, - -1, -1, 35, -1, 37, 36, -1, -1, 94, 95, - 96, 29, 66, 67, 68, 66, 67, 68, 36, -1, + 1, 79, 7, 33, 36, 7, 33, 7, 36, 7, + 36, 7, 7, 61, 8, 7, 7, 60, 33, 16, + 36, 55, 7, 48, 55, 7, 7, 60, 36, 5, + 5, 24, 5, 55, 8, 7, 20, 66, 37, 29, + 60, 2, 66, 60, 24, 34, 33, 33, 36, 55, + 60, 55, 55, 36, 17, 33, 79, 36, 7, 1, + 7, 7, -1, 8, 33, 33, 37, 33, 7, 36, + 7, 48, 36, 33, 7, 1, 7, 33, 7, 36, + 7, 36, 1, 8, 36, 36, 8, 8, 36, 33, + 60, 2, 7, 36, 2, 60, 55, 17, 60, 33, + 36, 36, 55, 61, 36, 0, 60, 48, 31, 33, + 7, 10, 8, 7, 15, 8, 33, 8, 36, 8, + 60, 8, 8, 61, 36, 15, 36, 7, 8, 79, + 60, 6, 48, 34, 8, 8, 8, 50, 8, 42, + 8, 54, 8, 50, 34, 20, 60, 54, -1, 77, + 53, 8, 61, 62, 8, 40, 55, 61, 62, 61, + 62, 61, 62, 15, 40, 56, 51, 60, 8, 40, + 56, 60, 8, 60, 7, 51, 7, 61, 62, 8, + 51, 29, 34, -1, 40, -1, 60, 60, 60, -1, + 56, 61, 60, 91, 92, 51, 61, 62, 7, 56, + 61, 62, 56, 91, 92, 29, 61, 62, 61, 62, + 29, 2, 61, 62, 61, 62, 61, 62, 61, 62, + 60, 15, 15, 29, 29, 61, 62, 75, 61, 62, + 61, 62, 61, 62, 12, 8, 15, 29, 86, 15, + 34, 34, 36, 36, 89, 12, 29, 7, 12, 36, + 93, 75, 61, 62, -1, 34, 75, 36, 34, 25, + 36, 27, 86, -1, -1, -1, -1, 86, -1, 75, + 75, -1, 38, 33, 61, 62, -1, -1, -1, 57, + 86, 86, -1, 75, -1, 63, 15, -1, 61, 62, + 57, -1, 75, 57, 86, 15, 63, 18, 19, 63, + -1, -1, -1, 86, 33, 34, 47, 36, -1, 18, + 19, -1, -1, 33, 34, 25, 36, 27, 23, 24, + 61, 62, -1, -1, 45, 46, -1, 32, 38, -1, + 35, -1, 37, -1, 94, -1, 45, 46, -1, 23, + 24, -1, -1, -1, -1, 23, 24, -1, 32, 23, + 24, 35, 93, 37, 32, 23, 24, 35, 32, 37, + -1, 35, -1, 37, 32, 23, 24, 35, 29, 37, + -1, -1, 29, 31, 32, 29, -1, 35, 29, 37, + 98, 99, 100, 101, 102, 103, 23, 24, 29, -1, + -1, 29, -1, -1, 31, 32, 18, 19, 35, -1, + 37, -1, -1, -1, -1, 66, 67, 68, -1, 66, + 67, 68, 66, 67, 68, 66, 67, 68, -1, -1, + -1, -1, 29, 45, 46, 66, 67, 68, 66, 67, + 68, -1, -1, 94, 95, 96, 29, 94, 95, 96, + 94, 95, 96, 94, 95, 96, -1, -1, -1, -1, + -1, -1, -1, 94, 95, 96, 94, 95, 96, 66, + 67, 68, -1, -1, -1, -1, -1, 29, -1, -1, + 29, -1, -1, 66, 67, 68, 29, -1, -1, 29, + -1, -1, 29, -1, 23, 24, 29, 94, 95, 96, + -1, -1, 31, 32, -1, -1, 35, -1, 37, -1, + -1, 94, 95, 96, 66, 67, 68, 66, 67, 68, -1, -1, -1, 66, 67, 68, 66, 67, 68, 66, - 67, 68, 29, -1, -1, 66, 67, 68, -1, 36, - 94, 95, 96, 94, 95, 96, -1, -1, 66, 67, - 68, 94, 95, 96, 94, 95, 96, 94, 95, 96, - -1, -1, -1, 94, 95, 96, -1, -1, 29, 66, - 67, 68, -1, 29, -1, -1, 94, 95, 96, -1, - -1, 29, -1, -1, -1, -1, -1, -1, -1, 29, - -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, - 61, 62, -1, -1, -1, 66, 67, 68, -1, -1, - 66, 67, 68, 61, 62, -1, -1, -1, 66, 67, - 68, 61, 62, -1, -1, -1, 66, 67, 68, -1, - -1, -1, -1, 94, 95, 96, -1, -1, 94, 95, - 96, -1, -1, -1, -1, -1, 94, 95, 96, -1, - 29, -1, -1, -1, 94, 95, 96, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, 3, -1, -1, 66, 67, 68, - -1, -1, -1, -1, 13, -1, -1, -1, 17, -1, - -1, -1, -1, -1, -1, -1, -1, 26, -1, 28, - -1, -1, 31, -1, -1, 94, 95, 96, -1, -1, - 39, -1, 41, 42, -1, 12, 13, 3, -1, -1, - 49, -1, -1, 52, 53, 22, -1, 13, -1, 58, - -1, 17, 29, -1, -1, 64, 33, 34, -1, 36, - 26, -1, 28, -1, -1, -1, 43, -1, -1, -1, - 47, 80, -1, 39, -1, 41, 42, -1, -1, -1, - -1, -1, -1, 49, -1, -1, 52, 53, 65, 66, - 67, 68, 58, 70, -1, -1, -1, -1, 64, -1, - -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, - 87, -1, -1, -1, 80, -1, -1, 94, 95, 96, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, - 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, - -1, 33, 34, -1, 36, -1, -1, -1, -1, -1, - -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 65, 66, 67, 68, -1, 70, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, - 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, + 67, 68, 29, 66, 67, 68, -1, -1, -1, 36, + -1, 29, 94, 95, 96, 94, 95, 96, 36, -1, + -1, 94, 95, 96, 94, 95, 96, 94, 95, 96, + -1, 94, 95, 96, -1, 29, -1, -1, -1, 66, + 67, 68, 36, -1, -1, -1, -1, 29, 66, 67, + 68, -1, -1, -1, -1, 29, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 29, 94, 95, 96, + -1, -1, 66, 67, 68, -1, 94, 95, 96, -1, + -1, -1, -1, -1, 66, 67, 68, 61, 62, -1, + -1, -1, 66, 67, 68, -1, -1, -1, 61, 62, + 94, 95, 96, 66, 67, 68, 29, -1, -1, 29, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 12, 13, -1, -1, -1, -1, - -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, - -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, - -1, -1, -1, -1, -1, 43, -1, -1, -1, 47, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, - 68, -1, 70, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, - -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, - 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, - 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, - -1, 33, 34, -1, 36, -1, -1, -1, -1, -1, - -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, + 94, 95, 96, -1, 29, -1, -1, -1, -1, -1, + -1, 94, 95, 96, -1, -1, -1, -1, 61, 62, + -1, 61, 62, 66, 67, 68, 66, 67, 68, -1, + -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, + -1, 66, 67, 68, -1, -1, -1, -1, -1, -1, + -1, 94, 95, 96, 94, 95, 96, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, + 95, 96, -1, -1, -1, -1, -1, -1, -1, 12, + 13, 3, -1, -1, -1, -1, -1, -1, -1, 22, + -1, 13, -1, -1, -1, 17, 29, -1, -1, -1, + 33, 34, -1, 36, 26, -1, 28, -1, -1, -1, + 43, -1, -1, -1, 47, -1, -1, 39, -1, 41, + 42, -1, -1, -1, -1, -1, -1, 49, -1, -1, + 52, 53, 65, 66, 67, 68, 58, 70, -1, -1, + -1, -1, 64, -1, -1, -1, -1, -1, 81, 82, + 83, -1, -1, -1, 87, -1, -1, -1, 80, -1, + -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, + -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, 22, -1, -1, 3, -1, -1, -1, 29, -1, + -1, -1, 33, 34, 13, 36, -1, -1, 17, -1, + -1, -1, 43, -1, -1, -1, 47, 26, -1, 28, + -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, + 39, -1, 41, 42, 65, 66, 67, 68, -1, 70, + 49, -1, -1, 52, 53, -1, -1, -1, -1, 58, + 81, 82, 83, -1, -1, 64, 87, -1, -1, -1, + -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, + -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 65, 66, 67, 68, -1, 70, -1, - -1, -1, -1, 75, -1, -1, -1, -1, -1, 81, - 82, 83, 84, -1, -1, 87, -1, -1, -1, -1, - -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 10, -1, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, - -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, - 36, -1, -1, -1, -1, -1, -1, 43, -1, -1, - -1, 47, -1, -1, -1, -1, -1, -1, -1, 55, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - 66, 67, 68, -1, 70, -1, -1, -1, -1, 75, - -1, -1, -1, -1, -1, 81, 82, 83, 84, -1, - -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, - 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 10, -1, 12, 13, -1, -1, -1, -1, -1, -1, - -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, - -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, - -1, -1, -1, 43, -1, -1, -1, 47, -1, -1, - -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, 66, 67, 68, -1, - 70, -1, -1, -1, -1, 75, -1, -1, -1, -1, - -1, 81, 82, 83, 84, -1, -1, 87, -1, -1, - -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, + -1, -1, -1, -1, -1, -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, - -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, - -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, + -1, 36, -1, -1, -1, -1, -1, -1, 43, -1, + -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 65, 66, 67, 68, -1, 70, -1, 72, -1, 74, - -1, 76, -1, -1, -1, -1, 81, 82, 83, -1, + 65, 66, 67, 68, -1, 70, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 7, -1, -1, -1, 11, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, - -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, - 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, - -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - 66, 67, 68, -1, 70, -1, 72, -1, 74, -1, - 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, - -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, - 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, - -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, - -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, - 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 33, 34, -1, 36, -1, -1, -1, -1, + -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, -1, 70, - -1, 72, -1, 74, 75, 76, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 8, -1, -1, 11, 12, - 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, - -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, - 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, - 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, - 53, -1, -1, 56, -1, -1, -1, -1, -1, -1, - -1, -1, 65, 66, 67, 68, -1, 70, -1, 72, - -1, 74, -1, 76, -1, -1, -1, -1, 81, 82, - 83, -1, -1, -1, 87, -1, -1, -1, -1, -1, - -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 8, -1, -1, 11, 12, 13, -1, + -1, -1, -1, -1, -1, 10, -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, - -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, - -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, - -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, - 65, 66, 67, 68, -1, 70, -1, 72, -1, 74, - -1, 76, -1, -1, -1, -1, 81, 82, 83, -1, + -1, 36, -1, -1, -1, -1, -1, -1, 43, -1, + -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 65, 66, 67, 68, -1, 70, -1, -1, -1, -1, + 75, -1, -1, -1, -1, -1, 81, 82, 83, 84, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 8, -1, -1, 11, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, - -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, - -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, - 47, -1, -1, -1, 51, -1, 53, -1, -1, 56, - -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, - 67, 68, -1, 70, -1, 72, -1, 74, -1, 76, - -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, - 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, - -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, + -1, 10, -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, - -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, - -1, -1, 51, -1, 53, -1, -1, 56, -1, -1, + -1, -1, -1, -1, 43, -1, -1, -1, 47, -1, + -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, - -1, 70, -1, 72, -1, 74, -1, 76, -1, -1, - -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, + -1, 70, -1, -1, -1, -1, 75, -1, -1, -1, + -1, -1, 81, 82, 83, 84, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, - -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, - -1, -1, -1, -1, -1, 29, 30, -1, -1, 33, - 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, - 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, - -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, - -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, - 74, -1, 76, -1, 78, -1, -1, 81, 82, 83, - -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, - 94, 95, 96, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 10, -1, 12, + 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, + -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, + 33, 34, -1, 36, -1, -1, -1, -1, -1, -1, + 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 65, 66, 67, 68, -1, 70, -1, -1, + -1, -1, 75, -1, -1, -1, -1, -1, 81, 82, + 83, 84, -1, -1, 87, -1, -1, -1, -1, -1, + -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, + -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, + -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, + 68, -1, 70, -1, 72, -1, 74, -1, 76, -1, + -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, + -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, - 29, 30, -1, -1, 33, 34, -1, 36, -1, -1, + 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, 61, -1, -1, -1, 65, 66, 67, 68, - 69, 70, -1, 72, 73, 74, -1, 76, -1, 78, + -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, + -1, 70, -1, 72, -1, 74, -1, 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, - -1, -1, -1, -1, -1, 29, 30, -1, -1, 33, + -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, - -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, - -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, - 74, -1, 76, -1, 78, -1, -1, 81, 82, 83, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 65, 66, 67, 68, -1, 70, -1, 72, -1, + 74, 75, 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4, 5, 6, -1, -1, 9, 10, 11, - -1, -1, 14, -1, 16, -1, -1, -1, 20, 21, - 22, -1, -1, -1, -1, -1, -1, 29, 30, 31, - 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, - -1, -1, -1, -1, 66, 67, 68, 69, 70, 71, - -1, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, 83, 84, 85, 86, -1, -1, -1, -1, -1, - -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4, 5, 6, -1, -1, 9, - 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 43, -1, -1, -1, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - -1, -1, -1, -1, -1, 65, 66, 67, 68, 69, - 70, 71, -1, 73, 74, 75, 76, 77, 78, -1, - -1, 81, 82, 83, 84, 85, 86, -1, -1, -1, - -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4, 5, 6, -1, - -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, - -1, -1, 20, 21, 22, -1, -1, -1, -1, -1, - -1, 29, 30, 31, 32, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 43, -1, -1, -1, 47, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 59, -1, -1, -1, -1, -1, 65, 66, 67, - 68, 69, 70, 71, -1, 73, 74, 75, 76, 77, - 78, -1, -1, 81, 82, 83, 84, 85, 86, -1, - -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, - 6, -1, -1, 9, 10, 11, -1, -1, 14, -1, - 16, -1, -1, -1, 20, 21, 22, -1, -1, -1, - -1, -1, -1, 29, 30, 31, 32, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, - -1, 47, -1, -1, -1, -1, -1, -1, -1, 55, - -1, -1, -1, 59, -1, -1, -1, -1, -1, 65, - 66, 67, 68, 69, 70, 71, -1, 73, 74, 75, - 76, 77, 78, -1, -1, 81, 82, 83, 84, 85, - 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, + -1, -1, 8, -1, -1, 11, 12, 13, -1, -1, + -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, + -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, + 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, + -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, + 66, 67, 68, -1, 70, -1, 72, -1, 74, -1, + 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, + -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4, -1, -1, -1, -1, 9, -1, 11, 12, 13, - 14, -1, -1, -1, -1, -1, -1, 21, 22, -1, - -1, -1, -1, -1, -1, 29, 30, -1, -1, 33, - 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, - 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, - -1, -1, -1, -1, -1, 59, -1, 61, -1, -1, - -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, -1, -1, 81, 82, 83, - 84, 85, -1, 87, -1, -1, -1, -1, -1, -1, - 94, 95, 96, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4, -1, -1, -1, -1, 9, -1, 11, - 12, 13, 14, -1, -1, -1, -1, -1, -1, 21, + 8, -1, -1, 11, 12, 13, -1, -1, -1, -1, + -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, + -1, -1, -1, 51, -1, 53, -1, -1, 56, -1, + -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, + 68, -1, 70, -1, 72, -1, 74, -1, 76, -1, + -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, + -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, + -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, + -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, + -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, + 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, + -1, 51, -1, 53, -1, -1, 56, -1, -1, -1, + -1, -1, -1, -1, -1, 65, 66, 67, 68, -1, + 70, -1, 72, -1, 74, -1, 76, -1, -1, -1, + -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, + -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 8, -1, -1, 11, + 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, + 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, + -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, + 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, + -1, 53, -1, -1, 56, -1, -1, -1, -1, -1, + -1, -1, -1, 65, 66, 67, 68, -1, 70, -1, + 72, -1, 74, -1, 76, -1, -1, -1, -1, 81, + 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, + -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, + -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, + -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, + 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, 61, -1, -1, -1, 65, 66, + 67, 68, 69, 70, -1, 72, 73, 74, -1, 76, + -1, 78, -1, -1, 81, 82, 83, -1, -1, -1, + 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, + 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, - -1, 53, -1, -1, -1, -1, -1, 59, -1, 61, - -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, - 82, 83, 84, 85, -1, 87, -1, -1, -1, -1, + -1, 53, -1, -1, -1, -1, -1, -1, -1, 61, + -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, + 72, 73, 74, -1, 76, -1, 78, -1, -1, 81, + 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4, 5, 6, -1, -1, 9, - 10, 11, 12, 13, 14, -1, 16, -1, -1, -1, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, 33, 34, -1, 36, -1, -1, -1, - 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, - -1, 51, -1, 53, -1, -1, -1, -1, -1, 59, - -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, - -1, 81, 82, 83, 84, 85, 86, 87, -1, -1, - -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4, 5, 6, -1, - -1, 9, 10, 11, 12, 13, 14, -1, 16, -1, - -1, -1, 20, 21, 22, -1, -1, -1, -1, -1, - -1, 29, 30, 31, 32, 33, 34, -1, 36, -1, - -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, - -1, -1, -1, 51, -1, 53, -1, 55, -1, -1, - -1, 59, -1, 61, -1, -1, -1, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, -1, -1, 81, 82, 83, 84, 85, 86, 87, - -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - - 32, 22, 18, 9, 18, 42, 18, 14, 32, 3, - 18, 3, 3, 18, 18, 32, 18, 32, 3, 22, - 3, 18, 3, 18, 25, 18, 22, 14, 18, 18, - 14, 42, 18, 32, 22, 77, 3, 100, 3, 3, - 3, 103, 42, 18, 42, 18, 3, 3, 25, 25, - 3, 105, 18, 25, 3, 3, 18, 18, 3, 18, - 42, 3, 42, 42, 42, 25, 18, 18, 42, 2, - -1, 18, 18, 42, 18, 18, 14, 18, 14, 18, - 2, 4, 2, 18, 42, 18, 54, 14, 56, 18, - -1, 4, -1, 18, -1, 18, 18, 18, 18, 54, - 54, 56, 56, 44, 54, 18, 56, 18, 11, 12, - 45, -1, -1, 51, 54, 51, 56, 54, 42, 56, - 54, 46, 54, 54, 51, 46, 50, 59, 59, 18, - 42, -1, -1, -1, 45, 54, 70, 54, 50, 54, - 59, 14, 59, 2, 59, 54, 19, 56, 54, 54, - 54, 56, 14, 59, 43, 54, 54, 56, 56, 18, - 2, 23, 2, 54, 68, 56, 14, 54, 54, 2, - 54, 19, 3, 60, 60, 59, 18, 54, 18, 18, - 109, 18, 59, 54, 54, 18, 54, 54, 59, 59, - 54, 59, 59, 54, 58, 38, 54, 58, 18, 42, - 58, 2, 54, 2, 18, 54, 45, 2, 45, 2, - 4, 3, 18, 18, 66, 64, 3, 18, 54, 18, - 56, 2, 54, 18, 18, 18, 46, 54, 60, 56, - 3, 3, 54, 47, 2, 57, 54, 18, 56, 54, - 2, 56, 54, 54, 56, 2, 57, 54, 2, 18, - 18, 54, 54, 56, -1, 62, 18, 54, 60, 56, - -1, 18, 14, 54, 18, 54, 2, 19, 59, -1, - 59, 54, 54, -1, 63, 44, 59, 59, -1, 54, - 2, -1, 18, 65, 59, 76, 78, 92, 94, 54, - 54, 78, 18, 76, 59, 59, 18, 61, 54, 54, - -1, 76, 67, 59, 59, 78, 78, 54, 54, -1, - 54, 54, 59, 59, 69, 59, 59, 61, 61, 14, - 76, 47, 48, -1, 71, -1, 54, 14, 23, 5, - 76, 59, 19, 61, 21, 5, -1, -1, 14, -1, - 35, 36, -1, -1, 14, -1, -1, 23, -1, -1, - -1, -1, 88, 23, -1, 42, -1, -1, -1, 35, - 36, -1, -1, -1, -1, 35, 36, 25, 26, 27, - 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, - -1, 14, -1, -1, -1, -1, -1, -1, -1, 2, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 14, - -1, -1, -1, -1, -1, 18, -1, -1, 23, 24, - 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, + -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, + -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, + 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, 61, -1, -1, -1, 65, 66, + 67, 68, 69, 70, -1, 72, 73, 74, -1, 76, + -1, 78, -1, -1, 81, 82, 83, -1, -1, -1, + 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, + 5, 6, -1, -1, 9, 10, 11, -1, -1, 14, + -1, 16, -1, -1, -1, 20, 21, 22, -1, -1, + -1, -1, -1, -1, 29, 30, 31, 32, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, + -1, 66, 67, 68, 69, 70, 71, -1, 73, 74, + 75, 76, 77, 78, -1, -1, 81, 82, 83, 84, + 85, 86, -1, -1, -1, -1, -1, -1, -1, 94, + 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4, 5, 6, -1, -1, 9, 10, 11, -1, + -1, 14, -1, 16, -1, -1, -1, 20, 21, 22, + -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, + -1, -1, 65, 66, 67, 68, 69, 70, 71, -1, + 73, 74, 75, 76, 77, 78, -1, -1, 81, 82, + 83, 84, 85, 86, -1, -1, -1, -1, -1, -1, + -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, + 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, + -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, + 71, -1, 73, 74, 75, 76, 77, 78, -1, -1, + 81, 82, 83, 84, 85, 86, -1, -1, -1, -1, + -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4, 5, 6, -1, -1, + 9, 10, 11, -1, -1, 14, -1, 16, -1, -1, + -1, 20, 21, 22, -1, -1, -1, -1, -1, -1, + 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 43, -1, -1, -1, 47, -1, + -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, + 59, -1, -1, -1, -1, -1, 65, 66, 67, 68, + 69, 70, 71, -1, 73, 74, 75, 76, 77, 78, + -1, -1, 81, 82, 83, 84, 85, 86, -1, -1, + -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, + -1, -1, 9, -1, 11, 12, 13, 14, -1, -1, + -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, + -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, + -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, + 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, 59, -1, 61, -1, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, -1, -1, 81, 82, 83, 84, 85, -1, + 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, + -1, -1, -1, -1, 9, -1, 11, 12, 13, 14, + -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, + -1, -1, -1, -1, 29, 30, -1, -1, 33, 34, + -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, + -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, + -1, -1, -1, -1, 59, -1, 61, -1, -1, -1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, -1, -1, 81, 82, 83, 84, + 85, -1, 87, -1, -1, -1, -1, -1, -1, 94, + 95, 96, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4, 5, 6, -1, -1, 9, 10, 11, 12, + 13, 14, -1, 16, -1, -1, -1, 20, 21, 22, + -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, + 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, + 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, + 53, -1, -1, -1, -1, -1, 59, -1, 61, -1, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, -1, -1, 81, 82, + 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, + -1, 94, 95, 96, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, + 11, 12, 13, 14, -1, 16, -1, -1, -1, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, 33, 34, -1, 36, -1, -1, -1, 40, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, -1, 53, -1, 55, -1, -1, -1, 59, -1, + 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, -1, -1, + 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, + -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, + -1, -1, -1, -1, -1, + + 14, 18, 32, 22, 14, 25, 32, 18, 32, 3, + 18, 18, 18, 22, 14, 3, 18, 22, 22, 32, + 18, 18, 3, 18, 3, 18, 18, 18, 18, 32, + 3, 32, 18, 18, 3, 18, 25, 3, 18, 3, + 18, 18, 18, 42, 18, 3, 42, 3, 3, 3, + 18, 3, 9, 3, 77, 42, 3, 18, 42, 105, + 42, 3, 25, 25, 3, 18, 25, 42, 3, 18, + 42, 42, 42, 100, 103, 42, 2, 42, 18, 4, + 18, 14, 2, -1, 18, 2, -1, 18, 4, 2, + 23, -1, 18, 18, 54, -1, -1, 18, 18, 11, + 12, 18, 18, 54, -1, 18, 54, 14, 54, 47, + 70, 54, 42, 64, 60, 46, -1, 54, 66, 56, + 50, 3, 54, 18, 56, 68, 54, 54, 56, 56, + 54, 54, 3, 57, 57, 54, 54, 56, 56, 54, + 54, 56, 56, 54, 51, 56, 54, -1, 56, 54, + 54, 56, 56, 54, 54, 18, 54, 54, 58, 60, + 58, 54, 59, 54, 54, 54, 59, 54, 59, 59, + 59, 54, 59, 54, 54, 109, 59, 58, 54, 54, + 60, 54, 18, 56, 60, 2, 14, 62, 14, 2, + 54, 19, 56, 19, 2, 2, 78, 2, 54, 94, + 56, 18, 18, 14, 14, 18, 18, 78, 44, 18, + 18, 18, 54, 18, 56, 54, 18, 56, 42, 18, + 4, 2, 2, 2, 18, 54, 50, 2, 44, 92, + 59, 43, 18, 54, 18, 56, 45, 18, 18, 18, + 51, 51, 18, 18, 46, 38, 45, 14, 2, 42, + 2, 45, 19, 54, 54, 2, 54, 54, 59, 59, + 46, 59, 59, 3, 18, 3, 18, 54, 2, 45, + 2, 18, 59, -1, -1, -1, 54, 54, -1, -1, + 54, 59, 59, 54, 18, 59, 18, 18, 59, 76, + 54, 69, 54, 54, 71, 59, 54, 59, 59, 63, + 61, 59, 76, 61, 54, 76, -1, -1, 54, 59, + -1, 61, -1, 59, 76, 61, 47, 48, 54, 54, + 14, 54, -1, 59, 59, -1, 59, 14, 5, 23, + 65, 67, 19, -1, 21, -1, -1, 14, 78, 5, + 78, 35, 36, 76, 2, -1, 23, -1, 14, -1, + -1, -1, -1, -1, 88, 42, 88, 23, 35, 36, + 18, 25, 26, 27, 28, 29, 30, 31, 14, 35, + 36, -1, -1, -1, -1, -1, -1, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 14, -1, -1, -1, + -1, -1, -1, -1, -1, 23, 24, 25, 26, 27, + 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, 23, 24, 25, - 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, + -1, -1, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1}; + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; QT_END_NAMESPACE diff --git a/src/qml/parser/qqmljsgrammar_p.h b/src/qml/parser/qqmljsgrammar_p.h index fadbe80c64..244a807f24 100644 --- a/src/qml/parser/qqmljsgrammar_p.h +++ b/src/qml/parser/qqmljsgrammar_p.h @@ -167,15 +167,15 @@ public: T_XOR = 79, T_XOR_EQ = 80, - ACCEPT_STATE = 665, - RULE_COUNT = 358, - STATE_COUNT = 666, + ACCEPT_STATE = 672, + RULE_COUNT = 360, + STATE_COUNT = 673, TERMINAL_COUNT = 106, NON_TERMINAL_COUNT = 111, - GOTO_INDEX_OFFSET = 666, - GOTO_INFO_OFFSET = 3018, - GOTO_CHECK_OFFSET = 3018 + GOTO_INDEX_OFFSET = 673, + GOTO_INFO_OFFSET = 3185, + GOTO_CHECK_OFFSET = 3185 }; static const char *const spell []; diff --git a/src/qml/parser/qqmljsparser.cpp b/src/qml/parser/qqmljsparser.cpp index 92d12aee9c..ca5a09d22d 100644 --- a/src/qml/parser/qqmljsparser.cpp +++ b/src/qml/parser/qqmljsparser.cpp @@ -511,7 +511,20 @@ case 64: { sym(1).Node = node; } break; -case 65: { +case 66: { + AST::UiPublicMember *node = new (pool) AST::UiPublicMember(stringRef(5), stringRef(7)); + node->isDefaultMember = true; + node->defaultToken = loc(1); + node->typeModifier = stringRef(3); + node->propertyToken = loc(2); + node->typeModifierToken = loc(2); + node->typeToken = loc(4); + node->identifierToken = loc(7); + node->semicolonToken = loc(8); + sym(1).Node = node; +} break; + +case 67: { AST::UiPublicMember *node = new (pool) AST::UiPublicMember(stringRef(2), stringRef(3), sym(5).Statement); node->propertyToken = loc(1); @@ -521,7 +534,7 @@ case 65: { sym(1).Node = node; } break; -case 66: { +case 68: { AST::UiPublicMember *node = new (pool) AST::UiPublicMember(stringRef(3), stringRef(4), sym(6).Statement); node->isReadonlyMember = true; @@ -533,7 +546,7 @@ case 66: { sym(1).Node = node; } break; -case 67: { +case 69: { AST::UiPublicMember *node = new (pool) AST::UiPublicMember(stringRef(3), stringRef(4), sym(6).Statement); node->isDefaultMember = true; @@ -545,7 +558,7 @@ case 67: { sym(1).Node = node; } break; -case 68: { +case 70: { AST::UiPublicMember *node = new (pool) AST::UiPublicMember(stringRef(4), stringRef(6)); node->typeModifier = stringRef(2); node->propertyToken = loc(1); @@ -569,7 +582,7 @@ case 68: { sym(1).Node = node; } break; -case 69: { +case 71: { AST::UiPublicMember *node = new (pool) AST::UiPublicMember(stringRef(2), stringRef(3)); node->propertyToken = loc(1); node->typeToken = loc(2); @@ -589,7 +602,7 @@ case 69: { sym(1).Node = node; } break; -case 70: { +case 72: { AST::UiPublicMember *node = new (pool) AST::UiPublicMember(stringRef(3), stringRef(4)); node->isReadonlyMember = true; node->readonlyToken = loc(1); @@ -611,57 +624,57 @@ case 70: { sym(1).Node = node; } break; -case 71: { +case 73: { sym(1).Node = new (pool) AST::UiSourceElement(sym(1).Node); } break; -case 72: { +case 74: { sym(1).Node = new (pool) AST::UiSourceElement(sym(1).Node); } break; -case 80: { +case 82: { AST::ThisExpression *node = new (pool) AST::ThisExpression(); node->thisToken = loc(1); sym(1).Node = node; } break; -case 81: { +case 83: { AST::IdentifierExpression *node = new (pool) AST::IdentifierExpression(stringRef(1)); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 82: { +case 84: { AST::NullExpression *node = new (pool) AST::NullExpression(); node->nullToken = loc(1); sym(1).Node = node; } break; -case 83: { +case 85: { AST::TrueLiteral *node = new (pool) AST::TrueLiteral(); node->trueToken = loc(1); sym(1).Node = node; } break; -case 84: { +case 86: { AST::FalseLiteral *node = new (pool) AST::FalseLiteral(); node->falseToken = loc(1); sym(1).Node = node; } break; -case 85: { +case 87: { AST::NumericLiteral *node = new (pool) AST::NumericLiteral(sym(1).dval); node->literalToken = loc(1); sym(1).Node = node; } break; -case 86: -case 87: { +case 88: +case 89: { AST::StringLiteral *node = new (pool) AST::StringLiteral(stringRef(1)); node->literalToken = loc(1); sym(1).Node = node; } break; -case 88: { +case 90: { bool rx = lexer->scanRegExp(Lexer::NoPrefix); if (!rx) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); @@ -677,7 +690,7 @@ case 88: { sym(1).Node = node; } break; -case 89: { +case 91: { bool rx = lexer->scanRegExp(Lexer::EqualPrefix); if (!rx) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); @@ -693,28 +706,28 @@ case 89: { sym(1).Node = node; } break; -case 90: { +case 92: { AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral((AST::Elision *) 0); node->lbracketToken = loc(1); node->rbracketToken = loc(2); sym(1).Node = node; } break; -case 91: { +case 93: { AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).Elision->finish()); node->lbracketToken = loc(1); node->rbracketToken = loc(3); sym(1).Node = node; } break; -case 92: { +case 94: { AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish ()); node->lbracketToken = loc(1); node->rbracketToken = loc(3); sym(1).Node = node; } break; -case 93: { +case 95: { AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish (), (AST::Elision *) 0); node->lbracketToken = loc(1); @@ -723,7 +736,7 @@ case 93: { sym(1).Node = node; } break; -case 94: { +case 96: { AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish (), sym(4).Elision->finish()); node->lbracketToken = loc(1); @@ -732,7 +745,7 @@ case 94: { sym(1).Node = node; } break; -case 95: { +case 97: { AST::ObjectLiteral *node = 0; if (sym(2).Node) node = new (pool) AST::ObjectLiteral( @@ -744,7 +757,7 @@ case 95: { sym(1).Node = node; } break; -case 96: { +case 98: { AST::ObjectLiteral *node = new (pool) AST::ObjectLiteral( sym(2).PropertyAssignmentList->finish ()); node->lbraceToken = loc(1); @@ -752,14 +765,14 @@ case 96: { sym(1).Node = node; } break; -case 97: { +case 99: { AST::NestedExpression *node = new (pool) AST::NestedExpression(sym(2).Expression); node->lparenToken = loc(1); node->rparenToken = loc(3); sym(1).Node = node; } break; -case 98: { +case 100: { if (AST::ArrayMemberExpression *mem = AST::cast<AST::ArrayMemberExpression *>(sym(1).Expression)) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Warning, mem->lbracketToken, QLatin1String("Ignored annotation"))); @@ -779,48 +792,48 @@ case 98: { } } break; -case 99: { +case 101: { sym(1).Node = new (pool) AST::ElementList((AST::Elision *) 0, sym(1).Expression); } break; -case 100: { +case 102: { sym(1).Node = new (pool) AST::ElementList(sym(1).Elision->finish(), sym(2).Expression); } break; -case 101: { +case 103: { AST::ElementList *node = new (pool) AST::ElementList(sym(1).ElementList, (AST::Elision *) 0, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 102: { +case 104: { AST::ElementList *node = new (pool) AST::ElementList(sym(1).ElementList, sym(3).Elision->finish(), sym(4).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 103: { +case 105: { AST::Elision *node = new (pool) AST::Elision(); node->commaToken = loc(1); sym(1).Node = node; } break; -case 104: { +case 106: { AST::Elision *node = new (pool) AST::Elision(sym(1).Elision); node->commaToken = loc(2); sym(1).Node = node; } break; -case 105: { +case 107: { AST::PropertyNameAndValue *node = new (pool) AST::PropertyNameAndValue( sym(1).PropertyName, sym(3).Expression); node->colonToken = loc(2); sym(1).Node = node; } break; -case 106: { +case 108: { AST::PropertyGetterSetter *node = new (pool) AST::PropertyGetterSetter( sym(2).PropertyName, sym(6).FunctionBody); node->getSetToken = loc(1); @@ -831,7 +844,7 @@ case 106: { sym(1).Node = node; } break; -case 107: { +case 109: { AST::PropertyGetterSetter *node = new (pool) AST::PropertyGetterSetter( sym(2).PropertyName, sym(4).FormalParameterList, sym(7).FunctionBody); node->getSetToken = loc(1); @@ -842,56 +855,56 @@ case 107: { sym(1).Node = node; } break; -case 108: { +case 110: { sym(1).Node = new (pool) AST::PropertyAssignmentList(sym(1).PropertyAssignment); } break; -case 109: { +case 111: { AST::PropertyAssignmentList *node = new (pool) AST::PropertyAssignmentList( sym(1).PropertyAssignmentList, sym(3).PropertyAssignment); node->commaToken = loc(2); sym(1).Node = node; } break; -case 110: { +case 112: { AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1)); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 111: { +case 113: { AST::StringLiteralPropertyName *node = new (pool) AST::StringLiteralPropertyName(stringRef(1)); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 112: { +case 114: { AST::NumericLiteralPropertyName *node = new (pool) AST::NumericLiteralPropertyName(sym(1).dval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 113: { +case 115: { AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1)); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 149: { +case 151: { AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(3).Expression); node->lbracketToken = loc(2); node->rbracketToken = loc(4); sym(1).Node = node; } break; -case 150: { +case 152: { AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3)); node->dotToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 151: { +case 153: { AST::NewMemberExpression *node = new (pool) AST::NewMemberExpression(sym(2).Expression, sym(4).ArgumentList); node->newToken = loc(1); node->lparenToken = loc(3); @@ -899,316 +912,309 @@ case 151: { sym(1).Node = node; } break; -case 153: { +case 155: { AST::NewExpression *node = new (pool) AST::NewExpression(sym(2).Expression); node->newToken = loc(1); sym(1).Node = node; } break; -case 154: { +case 156: { AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(3).ArgumentList); node->lparenToken = loc(2); node->rparenToken = loc(4); sym(1).Node = node; } break; -case 155: { +case 157: { AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(3).ArgumentList); node->lparenToken = loc(2); node->rparenToken = loc(4); sym(1).Node = node; } break; -case 156: { +case 158: { AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(3).Expression); node->lbracketToken = loc(2); node->rbracketToken = loc(4); sym(1).Node = node; } break; -case 157: { +case 159: { AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3)); node->dotToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 158: { +case 160: { sym(1).Node = 0; } break; -case 159: { +case 161: { sym(1).Node = sym(1).ArgumentList->finish(); } break; -case 160: { +case 162: { sym(1).Node = new (pool) AST::ArgumentList(sym(1).Expression); } break; -case 161: { +case 163: { AST::ArgumentList *node = new (pool) AST::ArgumentList(sym(1).ArgumentList, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 165: { +case 167: { AST::PostIncrementExpression *node = new (pool) AST::PostIncrementExpression(sym(1).Expression); node->incrementToken = loc(2); sym(1).Node = node; } break; -case 166: { +case 168: { AST::PostDecrementExpression *node = new (pool) AST::PostDecrementExpression(sym(1).Expression); node->decrementToken = loc(2); sym(1).Node = node; } break; -case 168: { +case 170: { AST::DeleteExpression *node = new (pool) AST::DeleteExpression(sym(2).Expression); node->deleteToken = loc(1); sym(1).Node = node; } break; -case 169: { +case 171: { AST::VoidExpression *node = new (pool) AST::VoidExpression(sym(2).Expression); node->voidToken = loc(1); sym(1).Node = node; } break; -case 170: { +case 172: { AST::TypeOfExpression *node = new (pool) AST::TypeOfExpression(sym(2).Expression); node->typeofToken = loc(1); sym(1).Node = node; } break; -case 171: { +case 173: { AST::PreIncrementExpression *node = new (pool) AST::PreIncrementExpression(sym(2).Expression); node->incrementToken = loc(1); sym(1).Node = node; } break; -case 172: { +case 174: { AST::PreDecrementExpression *node = new (pool) AST::PreDecrementExpression(sym(2).Expression); node->decrementToken = loc(1); sym(1).Node = node; } break; -case 173: { +case 175: { AST::UnaryPlusExpression *node = new (pool) AST::UnaryPlusExpression(sym(2).Expression); node->plusToken = loc(1); sym(1).Node = node; } break; -case 174: { +case 176: { AST::UnaryMinusExpression *node = new (pool) AST::UnaryMinusExpression(sym(2).Expression); node->minusToken = loc(1); sym(1).Node = node; } break; -case 175: { +case 177: { AST::TildeExpression *node = new (pool) AST::TildeExpression(sym(2).Expression); node->tildeToken = loc(1); sym(1).Node = node; } break; -case 176: { +case 178: { AST::NotExpression *node = new (pool) AST::NotExpression(sym(2).Expression); node->notToken = loc(1); sym(1).Node = node; } break; -case 178: { +case 180: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Mul, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 179: { +case 181: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Div, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 180: { +case 182: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Mod, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 182: { +case 184: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Add, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 183: { +case 185: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Sub, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 185: { +case 187: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::LShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 186: { +case 188: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::RShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 187: { +case 189: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::URShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 189: { +case 191: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Lt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 190: { +case 192: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Gt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 191: { +case 193: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Le, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 192: { +case 194: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Ge, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 193: { +case 195: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 194: { +case 196: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::In, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 196: { +case 198: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Lt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 197: { +case 199: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Gt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 198: { +case 200: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Le, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 199: { +case 201: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Ge, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 200: { +case 202: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 202: { +case 204: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Equal, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 203: { +case 205: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 204: { +case 206: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 205: { +case 207: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 207: { +case 209: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Equal, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 208: { +case 210: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 209: { +case 211: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 210: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::StrictNotEqual, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - case 212: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitAnd, sym(3).Expression); + QSOperator::StrictNotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1222,7 +1228,7 @@ case 214: { case 216: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitXor, sym(3).Expression); + QSOperator::BitAnd, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1236,7 +1242,7 @@ case 218: { case 220: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitOr, sym(3).Expression); + QSOperator::BitXor, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1250,7 +1256,7 @@ case 222: { case 224: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::And, sym(3).Expression); + QSOperator::BitOr, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1264,7 +1270,7 @@ case 226: { case 228: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Or, sym(3).Expression); + QSOperator::And, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1277,6 +1283,13 @@ case 230: { } break; case 232: { + AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, + QSOperator::Or, sym(3).Expression); + node->operatorToken = loc(2); + sym(1).Node = node; +} break; + +case 234: { AST::ConditionalExpression *node = new (pool) AST::ConditionalExpression(sym(1).Expression, sym(3).Expression, sym(5).Expression); node->questionToken = loc(2); @@ -1284,7 +1297,7 @@ case 232: { sym(1).Node = node; } break; -case 234: { +case 236: { AST::ConditionalExpression *node = new (pool) AST::ConditionalExpression(sym(1).Expression, sym(3).Expression, sym(5).Expression); node->questionToken = loc(2); @@ -1292,112 +1305,112 @@ case 234: { sym(1).Node = node; } break; -case 236: { +case 238: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, sym(2).ival, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 238: { +case 240: { AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, sym(2).ival, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 239: { +case 241: { sym(1).ival = QSOperator::Assign; } break; -case 240: { +case 242: { sym(1).ival = QSOperator::InplaceMul; } break; -case 241: { +case 243: { sym(1).ival = QSOperator::InplaceDiv; } break; -case 242: { +case 244: { sym(1).ival = QSOperator::InplaceMod; } break; -case 243: { +case 245: { sym(1).ival = QSOperator::InplaceAdd; } break; -case 244: { +case 246: { sym(1).ival = QSOperator::InplaceSub; } break; -case 245: { +case 247: { sym(1).ival = QSOperator::InplaceLeftShift; } break; -case 246: { +case 248: { sym(1).ival = QSOperator::InplaceRightShift; } break; -case 247: { +case 249: { sym(1).ival = QSOperator::InplaceURightShift; } break; -case 248: { +case 250: { sym(1).ival = QSOperator::InplaceAnd; } break; -case 249: { +case 251: { sym(1).ival = QSOperator::InplaceXor; } break; -case 250: { +case 252: { sym(1).ival = QSOperator::InplaceOr; } break; -case 252: { +case 254: { AST::Expression *node = new (pool) AST::Expression(sym(1).Expression, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 253: { +case 255: { sym(1).Node = 0; } break; -case 256: { +case 258: { AST::Expression *node = new (pool) AST::Expression(sym(1).Expression, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 257: { +case 259: { sym(1).Node = 0; } break; -case 274: { +case 276: { AST::Block *node = new (pool) AST::Block(sym(2).StatementList); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 275: { +case 277: { sym(1).Node = new (pool) AST::StatementList(sym(1).Statement); } break; -case 276: { +case 278: { sym(1).Node = new (pool) AST::StatementList(sym(1).StatementList, sym(2).Statement); } break; -case 277: { +case 279: { sym(1).Node = 0; } break; -case 278: { +case 280: { sym(1).Node = sym(1).StatementList->finish (); } break; -case 280: { +case 282: { AST::VariableStatement *node = new (pool) AST::VariableStatement( sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST)); node->declarationKindToken = loc(1); @@ -1405,76 +1418,76 @@ case 280: { sym(1).Node = node; } break; -case 281: { +case 283: { sym(1).ival = T_CONST; } break; -case 282: { +case 284: { sym(1).ival = T_VAR; } break; -case 283: { +case 285: { sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclaration); } break; -case 284: { +case 286: { AST::VariableDeclarationList *node = new (pool) AST::VariableDeclarationList( sym(1).VariableDeclarationList, sym(3).VariableDeclaration); node->commaToken = loc(2); sym(1).Node = node; } break; -case 285: { +case 287: { sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclaration); } break; -case 286: { +case 288: { sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclarationList, sym(3).VariableDeclaration); } break; -case 287: { +case 289: { AST::VariableDeclaration *node = new (pool) AST::VariableDeclaration(stringRef(1), sym(2).Expression); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 288: { +case 290: { AST::VariableDeclaration *node = new (pool) AST::VariableDeclaration(stringRef(1), sym(2).Expression); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 289: { +case 291: { // ### TODO: AST for initializer sym(1) = sym(2); } break; -case 290: { +case 292: { sym(1).Node = 0; } break; -case 292: { +case 294: { // ### TODO: AST for initializer sym(1) = sym(2); } break; -case 293: { +case 295: { sym(1).Node = 0; } break; -case 295: { +case 297: { AST::EmptyStatement *node = new (pool) AST::EmptyStatement(); node->semicolonToken = loc(1); sym(1).Node = node; } break; -case 297: { +case 299: { AST::ExpressionStatement *node = new (pool) AST::ExpressionStatement(sym(1).Expression); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 298: { +case 300: { AST::IfStatement *node = new (pool) AST::IfStatement(sym(3).Expression, sym(5).Statement, sym(7).Statement); node->ifToken = loc(1); node->lparenToken = loc(2); @@ -1483,7 +1496,7 @@ case 298: { sym(1).Node = node; } break; -case 299: { +case 301: { AST::IfStatement *node = new (pool) AST::IfStatement(sym(3).Expression, sym(5).Statement); node->ifToken = loc(1); node->lparenToken = loc(2); @@ -1491,7 +1504,7 @@ case 299: { sym(1).Node = node; } break; -case 302: { +case 304: { AST::DoWhileStatement *node = new (pool) AST::DoWhileStatement(sym(2).Statement, sym(5).Expression); node->doToken = loc(1); node->whileToken = loc(3); @@ -1501,7 +1514,7 @@ case 302: { sym(1).Node = node; } break; -case 303: { +case 305: { AST::WhileStatement *node = new (pool) AST::WhileStatement(sym(3).Expression, sym(5).Statement); node->whileToken = loc(1); node->lparenToken = loc(2); @@ -1509,7 +1522,7 @@ case 303: { sym(1).Node = node; } break; -case 304: { +case 306: { AST::ForStatement *node = new (pool) AST::ForStatement(sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement); node->forToken = loc(1); @@ -1520,7 +1533,7 @@ case 304: { sym(1).Node = node; } break; -case 305: { +case 307: { AST::LocalForStatement *node = new (pool) AST::LocalForStatement( sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement); @@ -1533,7 +1546,7 @@ case 305: { sym(1).Node = node; } break; -case 306: { +case 308: { AST:: ForEachStatement *node = new (pool) AST::ForEachStatement(sym(3).Expression, sym(5).Expression, sym(7).Statement); node->forToken = loc(1); @@ -1543,7 +1556,7 @@ case 306: { sym(1).Node = node; } break; -case 307: { +case 309: { AST::LocalForEachStatement *node = new (pool) AST::LocalForEachStatement( sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); node->forToken = loc(1); @@ -1554,14 +1567,14 @@ case 307: { sym(1).Node = node; } break; -case 309: { +case 311: { AST::ContinueStatement *node = new (pool) AST::ContinueStatement(); node->continueToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 311: { +case 313: { AST::ContinueStatement *node = new (pool) AST::ContinueStatement(stringRef(2)); node->continueToken = loc(1); node->identifierToken = loc(2); @@ -1569,14 +1582,14 @@ case 311: { sym(1).Node = node; } break; -case 313: { +case 315: { AST::BreakStatement *node = new (pool) AST::BreakStatement(QStringRef()); node->breakToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 315: { +case 317: { AST::BreakStatement *node = new (pool) AST::BreakStatement(stringRef(2)); node->breakToken = loc(1); node->identifierToken = loc(2); @@ -1584,14 +1597,14 @@ case 315: { sym(1).Node = node; } break; -case 317: { +case 319: { AST::ReturnStatement *node = new (pool) AST::ReturnStatement(sym(2).Expression); node->returnToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 318: { +case 320: { AST::WithStatement *node = new (pool) AST::WithStatement(sym(3).Expression, sym(5).Statement); node->withToken = loc(1); node->lparenToken = loc(2); @@ -1599,7 +1612,7 @@ case 318: { sym(1).Node = node; } break; -case 319: { +case 321: { AST::SwitchStatement *node = new (pool) AST::SwitchStatement(sym(3).Expression, sym(5).CaseBlock); node->switchToken = loc(1); node->lparenToken = loc(2); @@ -1607,83 +1620,83 @@ case 319: { sym(1).Node = node; } break; -case 320: { +case 322: { AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 321: { +case 323: { AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(5); sym(1).Node = node; } break; -case 322: { +case 324: { sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClause); } break; -case 323: { +case 325: { sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClauses, sym(2).CaseClause); } break; -case 324: { +case 326: { sym(1).Node = 0; } break; -case 325: { +case 327: { sym(1).Node = sym(1).CaseClauses->finish (); } break; -case 326: { +case 328: { AST::CaseClause *node = new (pool) AST::CaseClause(sym(2).Expression, sym(4).StatementList); node->caseToken = loc(1); node->colonToken = loc(3); sym(1).Node = node; } break; -case 327: { +case 329: { AST::DefaultClause *node = new (pool) AST::DefaultClause(sym(3).StatementList); node->defaultToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 328: { +case 330: { AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 330: { +case 332: { AST::ThrowStatement *node = new (pool) AST::ThrowStatement(sym(2).Expression); node->throwToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 331: { +case 333: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch); node->tryToken = loc(1); sym(1).Node = node; } break; -case 332: { +case 334: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 333: { +case 335: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch, sym(4).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 334: { +case 336: { AST::Catch *node = new (pool) AST::Catch(stringRef(3), sym(5).Block); node->catchToken = loc(1); node->lparenToken = loc(2); @@ -1692,20 +1705,20 @@ case 334: { sym(1).Node = node; } break; -case 335: { +case 337: { AST::Finally *node = new (pool) AST::Finally(sym(2).Block); node->finallyToken = loc(1); sym(1).Node = node; } break; -case 337: { +case 339: { AST::DebuggerStatement *node = new (pool) AST::DebuggerStatement(); node->debuggerToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 339: { +case 341: { AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); node->identifierToken = loc(2); @@ -1716,7 +1729,7 @@ case 339: { sym(1).Node = node; } break; -case 340: { +case 342: { AST::FunctionExpression *node = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); if (! stringRef(2).isNull()) @@ -1728,7 +1741,7 @@ case 340: { sym(1).Node = node; } break; -case 341: { +case 343: { AST::FunctionExpression *node = new (pool) AST::FunctionExpression(QStringRef(), sym(3).FormalParameterList, sym(6).FunctionBody); node->functionToken = loc(1); node->lparenToken = loc(2); @@ -1738,56 +1751,56 @@ case 341: { sym(1).Node = node; } break; -case 342: { +case 344: { AST::FormalParameterList *node = new (pool) AST::FormalParameterList(stringRef(1)); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 343: { +case 345: { AST::FormalParameterList *node = new (pool) AST::FormalParameterList(sym(1).FormalParameterList, stringRef(3)); node->commaToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 344: { +case 346: { sym(1).Node = 0; } break; -case 345: { +case 347: { sym(1).Node = sym(1).FormalParameterList->finish (); } break; -case 346: { +case 348: { sym(1).Node = 0; } break; -case 348: { +case 350: { sym(1).Node = new (pool) AST::FunctionBody(sym(1).SourceElements->finish ()); } break; -case 350: { +case 352: { sym(1).Node = new (pool) AST::Program(sym(1).SourceElements->finish ()); } break; -case 351: { +case 353: { sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElement); } break; -case 352: { +case 354: { sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElements, sym(2).SourceElement); } break; -case 353: { +case 355: { sym(1).Node = new (pool) AST::StatementSourceElement(sym(1).Statement); } break; -case 354: { +case 356: { sym(1).Node = new (pool) AST::FunctionSourceElement(sym(1).FunctionDeclaration); } break; -case 355: { +case 357: { sym(1).Node = 0; } break; diff --git a/src/qml/parser/qqmljsparser_p.h b/src/qml/parser/qqmljsparser_p.h index 00ffb6aca3..7533750a53 100644 --- a/src/qml/parser/qqmljsparser_p.h +++ b/src/qml/parser/qqmljsparser_p.h @@ -246,9 +246,9 @@ protected: -#define J_SCRIPT_REGEXPLITERAL_RULE1 88 +#define J_SCRIPT_REGEXPLITERAL_RULE1 90 -#define J_SCRIPT_REGEXPLITERAL_RULE2 89 +#define J_SCRIPT_REGEXPLITERAL_RULE2 91 QT_QML_END_NAMESPACE |