From 39282ec584f5fbadbec08ac5335552e2a3696930 Mon Sep 17 00:00:00 2001 From: fm453 <393213759@qq.com> Date: Sun, 27 Oct 2024 08:54:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=99=BB=E9=99=86=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=85=A5=E5=BA=93=E9=94=99=E8=AF=AF=EF=BC=8C=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E9=83=A8=E5=88=86composer=E4=BE=9D=E8=B5=96=E9=A1=B9?= =?UTF-8?q?=EF=BC=9B=20=E4=B8=B4=E6=97=B6=E4=BF=AE=E5=A4=8D=E7=99=BB?= =?UTF-8?q?=E9=99=86=E9=80=9A=E7=9F=A5=E9=82=AE=E4=BB=B6=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E5=A4=9A=E5=8F=91=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + .idea/php.xml | 1 - YII.sublime-workspace | 3013 +++-------------- addons-ctms/config/db-local.php | 1 + common/config/main.php | 2 +- common/models/CLog.php | 5 +- common/models/Logs.php | 102 +- ctms-admin/controllers/Common.php | 5 + ctms-admin/controllers/IndexController.php | 3 +- ctms-admin/controllers/NewscatController.php | 3 +- ctms-admin/controllers/OrderController.php | 18 +- ctms-admin/models/LoginForm.php | 50 +- ctms-admin/runtime/logs/app.log | 2241 ++++++++++++ ctms-admin/web/404.html | 27 + dacms-api/views/layouts/dev.php | 8 - dacms-api/views/layouts/main.php | 211 -- dacms-api/views/layouts/msg.php | 32 - dacms-api/web/index.php | 2 +- dacms-api/web/index_test.php | 2 +- dacms-home/web/.gitignore | 4 +- front-hiluker/web/.gitignore | 3 +- vendor/autoload.php | 17 +- .../behat/gherkin/.github/workflows/build.yml | 47 - .../gherkin/.github/workflows/update.yml | 49 - vendor/behat/gherkin/CHANGES.md | 536 ++- vendor/behat/gherkin/composer.json | 12 +- vendor/behat/gherkin/i18n.php | 2 +- .../behat/gherkin/src/Behat/Gherkin/Lexer.php | 2 +- .../Gherkin/Loader/GherkinFileLoader.php | 2 +- .../src/Behat/Gherkin/Node/FeatureNode.php | 2 +- vendor/bin/codecept | 12 +- .../src/Codeception/Lib/ModuleContainer.php | 2 +- .../Codeception/Reporter/ReportPrinter.php | 2 +- .../src/Codeception/Subscriber/Console.php | 2 +- vendor/composer/ClassLoader.php | 137 +- vendor/composer/InstalledVersions.php | 31 +- vendor/composer/autoload_files.php | 1 - vendor/composer/autoload_psr4.php | 3 +- vendor/composer/autoload_real.php | 27 +- vendor/composer/autoload_static.php | 12 +- vendor/composer/installed.json | 239 +- vendor/composer/installed.php | 201 +- vendor/nikic/php-parser/README.md | 2 +- .../lib/PhpParser/Builder/ClassConst.php | 4 +- .../lib/PhpParser/Builder/EnumCase.php | 1 - .../lib/PhpParser/Builder/Param.php | 22 + .../lib/PhpParser/Builder/Property.php | 64 +- .../lib/PhpParser/BuilderFactory.php | 2 +- .../lib/PhpParser/BuilderHelpers.php | 7 +- .../lib/PhpParser/Internal/TokenStream.php | 17 +- .../lib/PhpParser/Lexer/Emulative.php | 8 +- .../Lexer/TokenEmulator/KeywordEmulator.php | 8 +- .../php-parser/lib/PhpParser/Modifiers.php | 68 +- .../php-parser/lib/PhpParser/NameContext.php | 2 +- .../php-parser/lib/PhpParser/Node/Param.php | 30 +- .../Node/Scalar/MagicConst/Property.php | 15 + .../lib/PhpParser/Node/Stmt/Property.php | 29 +- .../php-parser/lib/PhpParser/NodeDumper.php | 9 + .../PhpParser/NodeVisitor/NameResolver.php | 6 + .../php-parser/lib/PhpParser/Parser/Php7.php | 2524 +++++++------- .../php-parser/lib/PhpParser/Parser/Php8.php | 2486 +++++++------- .../lib/PhpParser/ParserAbstract.php | 141 +- .../php-parser/lib/PhpParser/PhpVersion.php | 2 +- .../lib/PhpParser/PrettyPrinter/Standard.php | 19 +- .../lib/PhpParser/PrettyPrinterAbstract.php | 58 +- .../lib/PhpParser/compatibility_tokens.php | 5 + .../php-code-coverage/ChangeLog-9.2.md | 7 + .../phpunit/php-code-coverage/composer.json | 18 +- .../phpunit/php-code-coverage/src/Version.php | 2 +- vendor/psr/log/src/LoggerAwareInterface.php | 4 - vendor/psr/log/src/LoggerAwareTrait.php | 4 - vendor/psr/log/src/LoggerInterface.php | 29 +- vendor/psr/log/src/LoggerTrait.php | 46 +- vendor/psr/log/src/NullLogger.php | 6 +- vendor/psy/psysh/src/Command/Command.php | 4 +- vendor/psy/psysh/src/Configuration.php | 14 +- .../psysh/src/Exception/ErrorException.php | 8 +- vendor/psy/psysh/src/Shell.php | 62 +- .../psysh/src/TabCompletion/AutoCompleter.php | 2 +- vendor/symfony/polyfill-ctype/composer.json | 2 +- .../polyfill-intl-grapheme/composer.json | 2 +- vendor/symfony/polyfill-intl-idn/Idn.php | 4 +- .../symfony/polyfill-intl-idn/composer.json | 5 +- .../polyfill-intl-normalizer/composer.json | 2 +- vendor/symfony/polyfill-mbstring/Mbstring.php | 12 - .../symfony/polyfill-mbstring/bootstrap80.php | 6 +- .../symfony/polyfill-mbstring/composer.json | 2 +- vendor/symfony/polyfill-php72/LICENSE | 19 - vendor/symfony/polyfill-php72/Php72.php | 218 -- vendor/symfony/polyfill-php72/README.md | 35 - vendor/symfony/polyfill-php72/bootstrap.php | 57 - vendor/symfony/polyfill-php72/composer.json | 32 - 数据库修改记录.sql | 9 +- 93 files changed, 6407 insertions(+), 6806 deletions(-) create mode 100755 ctms-admin/web/404.html delete mode 100755 dacms-api/views/layouts/dev.php delete mode 100755 dacms-api/views/layouts/main.php delete mode 100755 dacms-api/views/layouts/msg.php delete mode 100644 vendor/behat/gherkin/.github/workflows/build.yml delete mode 100644 vendor/behat/gherkin/.github/workflows/update.yml create mode 100644 vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php delete mode 100644 vendor/symfony/polyfill-php72/LICENSE delete mode 100644 vendor/symfony/polyfill-php72/Php72.php delete mode 100644 vendor/symfony/polyfill-php72/README.md delete mode 100644 vendor/symfony/polyfill-php72/bootstrap.php delete mode 100644 vendor/symfony/polyfill-php72/composer.json diff --git a/.gitignore b/.gitignore index 8b8153f..ca6c7a7 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ Temporary Items .well-known .gitee +runtime YII.sublime-project YII.sublime-workspace YII2改造开发手记.docx @@ -64,3 +65,4 @@ private.html /ctms-admin/web/assets/ /assets/ /admins/web/assets/ +/logs/ diff --git a/.idea/php.xml b/.idea/php.xml index 9913a7f..36cb55b 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -60,7 +60,6 @@ - diff --git a/YII.sublime-workspace b/YII.sublime-workspace index 5b6b59d..091454c 100644 --- a/YII.sublime-workspace +++ b/YII.sublime-workspace @@ -423,7 +423,7 @@ "file": "ctms-api/controllers/client/v1/NewsController.php", "settings": { - "buffer_size": 5835, + "buffer_size": 5558, "encoding": "UTF-8", "line_ending": "Unix" } @@ -432,7 +432,7 @@ "file": "ctms-api/controllers/gm/v1/Common.php", "settings": { - "buffer_size": 4007, + "buffer_size": 3584, "encoding": "UTF-8", "line_ending": "Unix" }, @@ -444,7 +444,7 @@ "left_delete", null, "AgAAAMwAAAAAAAAAzAAAAAAAAAADAAAA56uvywAAAAAAAADLAAAAAAAAAAMAAADliY0", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM0AAAAAAAAAzQAAAAAAAAAAAAAAAADwvw" ], [ 8, @@ -452,7 +452,7 @@ "", null, "AQAAAMsAAAAAAAAAzAAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADLAAAAAAAAAMsAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMsAAAAAAAAAywAAAAAAAAAAAAAAAADwvw" ], [ 9, @@ -460,7 +460,7 @@ "", null, "AQAAAMsAAAAAAAAAzQAAAAAAAAABAAAAdA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMwAAAAAAAAAzAAAAAAAAAAAAAAAAADwvw" ], [ 10, @@ -468,7 +468,7 @@ "", null, "AQAAAMsAAAAAAAAAzgAAAAAAAAACAAAAdGU", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM0AAAAAAAAAzQAAAAAAAAAAAAAAAADwvw" ], [ 11, @@ -476,7 +476,7 @@ "", null, "AQAAAMsAAAAAAAAAywAAAAAAAAADAAAAdGVn", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADOAAAAAAAAAM4AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM4AAAAAAAAAzgAAAAAAAAAAAAAAAADwvw" ], [ 12, @@ -486,7 +486,7 @@ "characters": "租" }, "AQAAAMsAAAAAAAAAzAAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADLAAAAAAAAAMsAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMsAAAAAAAAAywAAAAAAAAAAAAAAAADwvw" ], [ 13, @@ -494,7 +494,7 @@ "", null, "AQAAAMwAAAAAAAAAzQAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMwAAAAAAAAAzAAAAAAAAAAAAAAAAADwvw" ], [ 14, @@ -502,7 +502,7 @@ "", null, "AQAAAMwAAAAAAAAAzgAAAAAAAAABAAAAeQ", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM0AAAAAAAAAzQAAAAAAAAAAAAAAAADwvw" ], [ 15, @@ -510,7 +510,7 @@ "", null, "AQAAAMwAAAAAAAAAzAAAAAAAAAACAAAAeW4", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADOAAAAAAAAAM4AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM4AAAAAAAAAzgAAAAAAAAAAAAAAAADwvw" ], [ 16, @@ -520,7 +520,7 @@ "characters": "记" }, "AQAAAMwAAAAAAAAAzQAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMwAAAAAAAAAzAAAAAAAAAAAAAAAAADwvw" ], [ 17, @@ -528,7 +528,7 @@ "left_delete", null, "AQAAAMwAAAAAAAAAzAAAAAAAAAADAAAA6K6w", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM0AAAAAAAAAzQAAAAAAAAAAAAAAAADwvw" ], [ 18, @@ -536,7 +536,7 @@ "left_delete", null, "AQAAAMsAAAAAAAAAywAAAAAAAAADAAAA56ef", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMwAAAAAAAAAzAAAAAAAAAAAAAAAAADwvw" ], [ 19, @@ -544,7 +544,7 @@ "", null, "AQAAAMsAAAAAAAAAzAAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADLAAAAAAAAAMsAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMsAAAAAAAAAywAAAAAAAAAAAAAAAADwvw" ], [ 20, @@ -552,7 +552,7 @@ "", null, "AQAAAMsAAAAAAAAAzQAAAAAAAAABAAAAZw", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMAAAAAAAAAMwAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMwAAAAAAAAAzAAAAAAAAAAAAAAAAADwvw" ], [ 21, @@ -560,7 +560,7 @@ "", null, "AQAAAMsAAAAAAAAAzgAAAAAAAAACAAAAZ3U", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM0AAAAAAAAAzQAAAAAAAAAAAAAAAADwvw" ], [ 22, @@ -568,7 +568,7 @@ "", null, "AQAAAMsAAAAAAAAAzwAAAAAAAAADAAAAZ3Vj", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADOAAAAAAAAAM4AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM4AAAAAAAAAzgAAAAAAAAAAAAAAAADwvw" ], [ 23, @@ -576,7 +576,7 @@ "", null, "AQAAAMsAAAAAAAAAywAAAAAAAAAEAAAAZ3Vjaw", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADPAAAAAAAAAM8AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM8AAAAAAAAAzwAAAAAAAAAAAAAAAADwvw" ], [ 24, @@ -586,7 +586,7 @@ "characters": "平台" }, "AgAAAMsAAAAAAAAAzAAAAAAAAAAAAAAAzAAAAAAAAADNAAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADLAAAAAAAAAMsAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAMsAAAAAAAAAywAAAAAAAAAAAAAAAADwvw" ], [ 30, @@ -596,7 +596,7 @@ "path": "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/gm/v1/Common.php" }, "AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADNAAAAAAAAAM0AAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAM0AAAAAAAAAzQAAAAAAAAAAAAAAAADwvw" ], [ 33, @@ -607,7 +607,7 @@ "path": "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/gm/v1/Common.php" }, "AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACXAAAAAAAAAJcAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAJcAAAAAAAAAlwAAAAAAAAAAAAAAAADwvw" ], [ 36, @@ -617,2325 +617,175 @@ "path": "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/gm/v1/Common.php" }, "AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA", - "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAB4AAAAAAAAAHgAAAAAAAAAAAAAAAAA8L8" + "AwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAHgAAAAAAAAAeAAAAAAAAAAAAAAAAADwvw" ], [ 1, 1, "revert", null, - "AgAAAAAAAAAAAAAAAAAAAAAAAADREAAAPD9waHAKCiMgQEF1dGhvcjog5Zeo5Zmc5a6iKOS4ieS6mikgPGZtNDUzPgojIEBEYXRlOiAgIDIwMjItMDQtMTUgMjA6MjI6MDMKIyBARW1haWw6ICBmbTQ1M0BsdWtlZ3pzLmNvbQojIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGZtNDUzCiMgQExhc3QgbW9kaWZpZWQgdGltZTogMjAyNC0wNy0wOFQxNjowMjozMCswODowMAojIEBDb3B5cmlnaHQ6IHd3dy5oaWx1a2VyLmNuCi8v5bmz5Y+w55So5oi35YWl5Y+jCgpuYW1lc3BhY2UgYXBpXGNvbnRyb2xsZXJzXGdtXHYxOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIGNvbW1vblxtb2RlbHNcTWVtYmVyIGFzIFVzZXI7CnVzZSBhZGRvbnNcbW9kZWxzXEFjVXNlckV4dDsKdXNlIGFkZG9uc1xtb2RlbHNcQWNTdG9yZTsKdXNlIGFkZG9uc1xtb2RlbHNcQWNFbXBsb3llZTsKCmNsYXNzIENvbW1vbiBleHRlbmRzIENvbnRyb2xsZXIKewogICAgcHJvdGVjdGVkIGludCAkcGlkID0gMDsKICAgIHByb3RlY3RlZCBpbnQgJHVzZXJfaWQgPSAwOwogICAgcHJvdGVjdGVkIGludCAkc2l0ZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgaW50ICRzdG9yZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgaW50ICRlbXBsb3llZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgb2JqZWN0ICR1c2VyX2luZm87CiAgICBwcm90ZWN0ZWQgYXJyYXkgJHBvc3RkYXRhID0gW107CS8v6YeN5paw5pW055CG5LiA5LiL5a6i5oi356uv5Lyg6L6T55qE5pWw5o2uCiAgICBwcm90ZWN0ZWQgYm9vbCAkaW1nSHR0cCA9IHRydWU7CS8v5Zu+54mH6ZmE5Lu25Zyw5Z2A55Sf5oiQaHR0cChzKQkvL2ZhbHNlOuS4jeeUn+aIkGh0dHDnvZHlnYDvvJsgdHJ1ZTrku4XnlJ/miJBodHRw572R5Z2A77ybIGh0dHBzOueUn+aIkGh0dHBz572R5Z2ACiAgICBwcm90ZWN0ZWQgaW50ICRwYWdlID0gMTsJLy/lvZPliY3mlbDmja7liIbpobUKICAgIHByb3RlY3RlZCBpbnQgJHBhZ2VTaXplID0gMTA7CS8v6buY6K6k5pWw5o2u5YiG6aG15aSn5bCPCiAgICBwdWJsaWMgJGVuYWJsZUNzcmZWYWxpZGF0aW9uID0gZmFsc2U7CiAgICAvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCglwcm90ZWN0ZWQgaW50ICR0aW1lc3RhbXAgPSBUSU1FU1RBTVA7CiAgICAvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCgogICAgcHVibGljIGZ1bmN0aW9uIGluaXQoKQogICAgewogICAgICAgIHBhcmVudDo6aW5pdCgpOwogICAgICAgIC8v5Yik5pat6K+35rGC5YaF5a6557G75Z6LIGNvbnRlbnQtdHlwZSzmlK/mjIEganNvbuivt+axggogICAgICAgICRwb3N0ZGF0YSA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+cG9zdCgpOwogICAgICAgICRoZWFkZXJzID0gWWlpOjokYXBwLT5yZXF1ZXN0LT5oZWFkZXJzOwogICAgICAgICRjb250ZW50VHlwZSA9ICRoZWFkZXJzLT5nZXQoJ2NvbnRlbnQtdHlwZScpOwogICAgICAgIGlmICgkY29udGVudFR5cGU9PSJhcHBsaWNhdGlvbi9qc29uIikgewogICAgICAgICAgICAkcG9zdGRhdGEgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygncGhwOi8vaW5wdXQnKSwgdHJ1ZSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5wb3N0ZGF0YSA9ICRwb3N0ZGF0YTsKICAgICAgICAKICAgICAgICAkc2Vzc2lvbiA9IFlpaTo6JGFwcC0+c2Vzc2lvbjsKICAgICAgICBpZiAoaXNzZXQoJHBvc3RkYXRhWydwaWQnXSkpIHsKICAgICAgICAgICAgaWYgKChpbnQpJHBvc3RkYXRhWydwaWQnXT4wKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGlkID0gKGludCkkcG9zdGRhdGFbJ3BpZCddOwogICAgICAgICAgICAgICAgJHNlc3Npb24tPnNldCgncGlkJywgJHRoaXMtPnBpZCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmIChpc3NldCgkX0dFVFsncGlkJ10pKSB7CiAgICAgICAgICAgIGlmICgoaW50KSRfR0VUWydwaWQnXT4wKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGlkID0gJF9HRVRbJ3BpZCddOwogICAgICAgICAgICAgICAgJHNlc3Npb24tPnNldCgncGlkJywgJHRoaXMtPnBpZCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRzZXNzaW9uLT5zZXQoJ3BpZCcsIDApOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkdGhpcy0+c2l0ZV9pZCA9IFlpaTo6JGFwcC0+cGFyYW1zWydzaXRlSWQnXTsKICAgICAgICAKICAgICAgICBpZiAoaXNzZXQoJHBvc3RkYXRhWyd1aWQnXSkgJiYgKGludCkkcG9zdGRhdGFbJ3VpZCddPjApIHsKICAgICAgICAgICAgJHRoaXMtPnVzZXJfaWQgPSAoaW50KSRwb3N0ZGF0YVsndWlkJ107CiAgICAgICAgfQogICAgICAgIGlmICgkdGhpcy0+dXNlcl9pZCkgewogICAgICAgICAgICAkdXNlck1vZGVsID0gbmV3IFVzZXIoKTsKICAgICAgICAgICAgJHJlcyA9ICR1c2VyTW9kZWwtPmZpbmRPbmUoJHRoaXMtPnVzZXJfaWQpOwogICAgICAgICAgICBpZighJHJlcyl7CiAgICAgICAgICAgICAgICAkdGhpcy0+dXNlcl9pZCA9IDA7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgJHRoaXMtPnVzZXJfaW5mbyA9ICRyZXM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9UQkQg5ZCO5pyf6ZyA5Yqg5LiK5pu05aSa55m76ZmG6aqM6K+B6YC76L6RCiAgICAgICAgfQoJCSBpZiAoaXNzZXQoJHBvc3RkYXRhWydlbXBsb3llZV9pZCddKSAmJiAoaW50KSRwb3N0ZGF0YVsnZW1wbG95ZWVfaWQnXT4wKSB7CiAgICAgICAgICAgICR0aGlzLT5lbXBsb3llZV9pZCA9IChpbnQpJHBvc3RkYXRhWydlbXBsb3llZV9pZCddOwogICAgICAgIH0KCiAgICAgICAgJHBhZ2UgPSBpc3NldCgkcG9zdGRhdGFbJ3BhZ2UnXSkgPyAoaW50KSRwb3N0ZGF0YVsncGFnZSddIDogMTsKICAgICAgICAkdGhpcy0+cGFnZSA9ICRwYWdlPD0wID8gMSA6ICRwYWdlOwogICAgICAgICRwYWdlU2l6ZSA9IGlzc2V0KCRwb3N0ZGF0YVsncHNpemUnXSkgPyAoaW50KSRwb3N0ZGF0YVsncHNpemUnXSA6IDEwOwogICAgICAgICR0aGlzLT5wYWdlU2l6ZSA9ICRwYWdlU2l6ZTw9MCA/IDEwIDogJHBhZ2VTaXplOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXN1bHQoJG1zZywgJGRhdGE9bnVsbCwgJGNvZGU9MCkKICAgIHsKICAgICAgICAkcmV0dXJuID0gW107CiAgICAgICAgJHJldHVyblsnY29kZSddID0gJGNvZGU7CiAgICAgICAgJHJldHVyblsnbXNnJ10gPSAkbXNnOwogICAgICAgIGlmICgkZGF0YSkgewogICAgICAgICAgICAkcmV0dXJuWydkYXRhJ10gPSAkZGF0YTsKICAgICAgICB9CiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkcmV0dXJuLCBKU09OX1VORVNDQVBFRF9VTklDT0RFKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUb2tlbigkdXNlcj1bXSwgJHJlZnJlc2g9ZmFsc2UsICRleHBpcmUgPSBudWxsKXsKICAgICAgICAvL+eUn+aIkHRva2Vu77yI55So5oi35pWw5o2u77yM5piv5ZCm5by65Yi25pu05paw77yM6L+H5pyf5pe26Ze0ICAvLyAgICBUQkQg5YW35L2T5pa55rOV5pyJ5b6F5LyY5YyWCiAgICAgICAgJGV4cGlyZSA9ICRleHBpcmUgPyAkZXhwaXJlIDogJysxIGRheSc7CiAgICAgICAgJHRva2VuID0gWWlpOjokYXBwLT5zZXNzaW9uLT5nZXQoJ3VzZXJUb2tlbicpOwogICAgICAgICR0b2tlbkV4cGlyZWQgPSBZaWk6OiRhcHAtPnNlc3Npb24tPmdldCgndXNlclRva2VuRXhwaXJlZCcpOwogICAgICAgIGlmKCEkdG9rZW4gfHwgJHJlZnJlc2gpewogICAgICAgICAgICAkdG9rZW5FeHBpcmVkID0gc3RydG90aW1lKCRleHBpcmUpKjEwMDA7CiAgICAgICAgICAgICR0b2tlbiA9IG1kNSgndXNlcm5hbWU9Jy4kdXNlclsndXNlcm5hbWUnXS4nJm1vYmlsZT0nLiR1c2VyWydtb2JpbGUnXS4nJnRpbWU9Jy4kdG9rZW5FeHBpcmVkKTsKICAgICAgICAgICAgWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ3VzZXJUb2tlbicsJHRva2VuKTsKICAgICAgICAgICAgWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ3VzZXJUb2tlbkV4cGlyZWQnLCR0b2tlbkV4cGlyZWQpOwogICAgICAgIH0KICAgICAgICAkdXNlclsndG9rZW4nXSA9ICR0b2tlbjsgICAgCiAgICAgICAgJHVzZXJbJ3Rva2VuRXhwaXJlZCddID0gJHRva2VuRXhwaXJlZDsKICAgICAgICByZXR1cm4gJHVzZXI7CiAgICB9Cn0KAAAAAAAAAACnDwAAAAAAAAAAAAA", - "AQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/" + "AwAAAAAAAAAAAAAAAAAAAAAAAADREAAAPD9waHAKCiMgQEF1dGhvcjog5Zeo5Zmc5a6iKOS4ieS6mikgPGZtNDUzPgojIEBEYXRlOiAgIDIwMjItMDQtMTUgMjA6MjI6MDMKIyBARW1haWw6ICBmbTQ1M0BsdWtlZ3pzLmNvbQojIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGZtNDUzCiMgQExhc3QgbW9kaWZpZWQgdGltZTogMjAyNC0wNy0wOFQxNjowMjozMCswODowMAojIEBDb3B5cmlnaHQ6IHd3dy5oaWx1a2VyLmNuCi8v5bmz5Y+w55So5oi35YWl5Y+jCgpuYW1lc3BhY2UgYXBpXGNvbnRyb2xsZXJzXGdtXHYxOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIGNvbW1vblxtb2RlbHNcTWVtYmVyIGFzIFVzZXI7CnVzZSBhZGRvbnNcbW9kZWxzXEFjVXNlckV4dDsKdXNlIGFkZG9uc1xtb2RlbHNcQWNTdG9yZTsKdXNlIGFkZG9uc1xtb2RlbHNcQWNFbXBsb3llZTsKCmNsYXNzIENvbW1vbiBleHRlbmRzIENvbnRyb2xsZXIKewogICAgcHJvdGVjdGVkIGludCAkcGlkID0gMDsKICAgIHByb3RlY3RlZCBpbnQgJHVzZXJfaWQgPSAwOwogICAgcHJvdGVjdGVkIGludCAkc2l0ZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgaW50ICRzdG9yZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgaW50ICRlbXBsb3llZV9pZCA9IDA7CiAgICBwcm90ZWN0ZWQgb2JqZWN0ICR1c2VyX2luZm87CiAgICBwcm90ZWN0ZWQgYXJyYXkgJHBvc3RkYXRhID0gW107CS8v6YeN5paw5pW055CG5LiA5LiL5a6i5oi356uv5Lyg6L6T55qE5pWw5o2uCiAgICBwcm90ZWN0ZWQgYm9vbCAkaW1nSHR0cCA9IHRydWU7CS8v5Zu+54mH6ZmE5Lu25Zyw5Z2A55Sf5oiQaHR0cChzKQkvL2ZhbHNlOuS4jeeUn+aIkGh0dHDnvZHlnYDvvJsgdHJ1ZTrku4XnlJ/miJBodHRw572R5Z2A77ybIGh0dHBzOueUn+aIkGh0dHBz572R5Z2ACiAgICBwcm90ZWN0ZWQgaW50ICRwYWdlID0gMTsJLy/lvZPliY3mlbDmja7liIbpobUKICAgIHByb3RlY3RlZCBpbnQgJHBhZ2VTaXplID0gMTA7CS8v6buY6K6k5pWw5o2u5YiG6aG15aSn5bCPCiAgICBwdWJsaWMgJGVuYWJsZUNzcmZWYWxpZGF0aW9uID0gZmFsc2U7CiAgICAvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCglwcm90ZWN0ZWQgaW50ICR0aW1lc3RhbXAgPSBUSU1FU1RBTVA7CiAgICAvL+abv+S7o+W4uOinhOeahF9jb25zdHJ1Y3Qg5p6Q5p6E5Ye95pWw77yb5YW25LuW5pa55rOV6LCD55So5YmN5omn6KGMCgogICAgcHVibGljIGZ1bmN0aW9uIGluaXQoKQogICAgewogICAgICAgIHBhcmVudDo6aW5pdCgpOwogICAgICAgIC8v5Yik5pat6K+35rGC5YaF5a6557G75Z6LIGNvbnRlbnQtdHlwZSzmlK/mjIEganNvbuivt+axggogICAgICAgICRwb3N0ZGF0YSA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+cG9zdCgpOwogICAgICAgICRoZWFkZXJzID0gWWlpOjokYXBwLT5yZXF1ZXN0LT5oZWFkZXJzOwogICAgICAgICRjb250ZW50VHlwZSA9ICRoZWFkZXJzLT5nZXQoJ2NvbnRlbnQtdHlwZScpOwogICAgICAgIGlmICgkY29udGVudFR5cGU9PSJhcHBsaWNhdGlvbi9qc29uIikgewogICAgICAgICAgICAkcG9zdGRhdGEgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygncGhwOi8vaW5wdXQnKSwgdHJ1ZSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5wb3N0ZGF0YSA9ICRwb3N0ZGF0YTsKICAgICAgICAKICAgICAgICAkc2Vzc2lvbiA9IFlpaTo6JGFwcC0+c2Vzc2lvbjsKICAgICAgICBpZiAoaXNzZXQoJHBvc3RkYXRhWydwaWQnXSkpIHsKICAgICAgICAgICAgaWYgKChpbnQpJHBvc3RkYXRhWydwaWQnXT4wKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGlkID0gKGludCkkcG9zdGRhdGFbJ3BpZCddOwogICAgICAgICAgICAgICAgJHNlc3Npb24tPnNldCgncGlkJywgJHRoaXMtPnBpZCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmIChpc3NldCgkX0dFVFsncGlkJ10pKSB7CiAgICAgICAgICAgIGlmICgoaW50KSRfR0VUWydwaWQnXT4wKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+cGlkID0gJF9HRVRbJ3BpZCddOwogICAgICAgICAgICAgICAgJHNlc3Npb24tPnNldCgncGlkJywgJHRoaXMtPnBpZCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkc2Vzc2lvbi0+c2V0KCdwaWQnLCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRzZXNzaW9uLT5zZXQoJ3BpZCcsIDApOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkdGhpcy0+c2l0ZV9pZCA9IFlpaTo6JGFwcC0+cGFyYW1zWydzaXRlSWQnXTsKICAgICAgICAKICAgICAgICBpZiAoaXNzZXQoJHBvc3RkYXRhWyd1aWQnXSkgJiYgKGludCkkcG9zdGRhdGFbJ3VpZCddPjApIHsKICAgICAgICAgICAgJHRoaXMtPnVzZXJfaWQgPSAoaW50KSRwb3N0ZGF0YVsndWlkJ107CiAgICAgICAgfQogICAgICAgIGlmICgkdGhpcy0+dXNlcl9pZCkgewogICAgICAgICAgICAkdXNlck1vZGVsID0gbmV3IFVzZXIoKTsKICAgICAgICAgICAgJHJlcyA9ICR1c2VyTW9kZWwtPmZpbmRPbmUoJHRoaXMtPnVzZXJfaWQpOwogICAgICAgICAgICBpZighJHJlcyl7CiAgICAgICAgICAgICAgICAkdGhpcy0+dXNlcl9pZCA9IDA7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgJHRoaXMtPnVzZXJfaW5mbyA9ICRyZXM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9UQkQg5ZCO5pyf6ZyA5Yqg5LiK5pu05aSa55m76ZmG6aqM6K+B6YC76L6RCiAgICAgICAgfQoJCSBpZiAoaXNzZXQoJHBvc3RkYXRhWydlbXBsb3llZV9pZCddKSAmJiAoaW50KSRwb3N0ZGF0YVsnZW1wbG95ZWVfaWQnXT4wKSB7CiAgICAgICAgICAgICR0aGlzLT5lbXBsb3llZV9pZCA9IChpbnQpJHBvc3RkYXRhWydlbXBsb3llZV9pZCddOwogICAgICAgIH0KCiAgICAgICAgJHBhZ2UgPSBpc3NldCgkcG9zdGRhdGFbJ3BhZ2UnXSkgPyAoaW50KSRwb3N0ZGF0YVsncGFnZSddIDogMTsKICAgICAgICAkdGhpcy0+cGFnZSA9ICRwYWdlPD0wID8gMSA6ICRwYWdlOwogICAgICAgICRwYWdlU2l6ZSA9IGlzc2V0KCRwb3N0ZGF0YVsncHNpemUnXSkgPyAoaW50KSRwb3N0ZGF0YVsncHNpemUnXSA6IDEwOwogICAgICAgICR0aGlzLT5wYWdlU2l6ZSA9ICRwYWdlU2l6ZTw9MCA/IDEwIDogJHBhZ2VTaXplOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXN1bHQoJG1zZywgJGRhdGE9bnVsbCwgJGNvZGU9MCkKICAgIHsKICAgICAgICAkcmV0dXJuID0gW107CiAgICAgICAgJHJldHVyblsnY29kZSddID0gJGNvZGU7CiAgICAgICAgJHJldHVyblsnbXNnJ10gPSAkbXNnOwogICAgICAgIGlmICgkZGF0YSkgewogICAgICAgICAgICAkcmV0dXJuWydkYXRhJ10gPSAkZGF0YTsKICAgICAgICB9CiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkcmV0dXJuLCBKU09OX1VORVNDQVBFRF9VTklDT0RFKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHVzZXJUb2tlbigkdXNlcj1bXSwgJHJlZnJlc2g9ZmFsc2UsICRleHBpcmUgPSBudWxsKXsKICAgICAgICAvL+eUn+aIkHRva2Vu77yI55So5oi35pWw5o2u77yM5piv5ZCm5by65Yi25pu05paw77yM6L+H5pyf5pe26Ze0ICAvLyAgICBUQkQg5YW35L2T5pa55rOV5pyJ5b6F5LyY5YyWCiAgICAgICAgJGV4cGlyZSA9ICRleHBpcmUgPyAkZXhwaXJlIDogJysxIGRheSc7CiAgICAgICAgJHRva2VuID0gWWlpOjokYXBwLT5zZXNzaW9uLT5nZXQoJ3VzZXJUb2tlbicpOwogICAgICAgICR0b2tlbkV4cGlyZWQgPSBZaWk6OiRhcHAtPnNlc3Npb24tPmdldCgndXNlclRva2VuRXhwaXJlZCcpOwogICAgICAgIGlmKCEkdG9rZW4gfHwgJHJlZnJlc2gpewogICAgICAgICAgICAkdG9rZW5FeHBpcmVkID0gc3RydG90aW1lKCRleHBpcmUpKjEwMDA7CiAgICAgICAgICAgICR0b2tlbiA9IG1kNSgndXNlcm5hbWU9Jy4kdXNlclsndXNlcm5hbWUnXS4nJm1vYmlsZT0nLiR1c2VyWydtb2JpbGUnXS4nJnRpbWU9Jy4kdG9rZW5FeHBpcmVkKTsKICAgICAgICAgICAgWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ3VzZXJUb2tlbicsJHRva2VuKTsKICAgICAgICAgICAgWWlpOjokYXBwLT5zZXNzaW9uLT5zZXQoJ3VzZXJUb2tlbkV4cGlyZWQnLCR0b2tlbkV4cGlyZWQpOwogICAgICAgIH0KICAgICAgICAkdXNlclsndG9rZW4nXSA9ICR0b2tlbjsgICAgCiAgICAgICAgJHVzZXJbJ3Rva2VuRXhwaXJlZCddID0gJHRva2VuRXhwaXJlZDsKICAgICAgICByZXR1cm4gJHVzZXI7CiAgICB9Cn0KAAAAAAAAAACnDwAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAA", + "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8" ] ] }, { - "file": "ctms-admin/views/layouts/main.php", + "file": "ctms-admin/controllers/SiteController.php", "settings": { - "buffer_size": 8417, + "buffer_size": 3070, "encoding": "UTF-8", "line_ending": "Unix" }, "undo_stack": [ [ - 20, + 3, 1, - "insert", + "toggle_comment", { - "characters": "\n" + "block": false }, - "AQAAALwAAAAAAAAAvQAAAAAAAAAAAAAA", - "AQAAAAAAAAABAAAAvAAAAAAAAAC8AAAAAAAAAAAAAAAAAPC/" + "AQAAAJMKAAAAAAAAlgoAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAApgoAAAAAAACmCgAAAAAAAAAAAAAAAPC/" + ], + [ + 4, + 1, + "add_file_header", + { + "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/SiteController.php" + }, + "AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAAqQoAAAAAAACpCgAAAAAAAAAAAAAAAPC/" + ], + [ + 5, + 1, + "toggle_comment", + { + "block": false + }, + "AQAAAJMKAAAAAAAAkwoAAAAAAAADAAAALy8g", + "AQAAAAAAAAABAAAAqQoAAAAAAACpCgAAAAAAAAAAAAAAAPC/" + ], + [ + 6, + 1, + "add_file_header", + { + "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/SiteController.php" + }, + "AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAApgoAAAAAAACmCgAAAAAAAAAAAAAAAPC/" + ], + [ + 9, + 1, + "revert", + null, + "AgAAAAAAAAAAAAAAAAAAAAAAAABQDAAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDE4LTA0LTIzIDE0OjI5OjU2CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTEgMDc6NTI6MDYKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXGNvbnRyb2xsZXJzOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIHlpaVxmaWx0ZXJzXFZlcmJGaWx0ZXI7CnVzZSB5aWlcZmlsdGVyc1xBY2Nlc3NDb250cm9sOwp1c2UgYmFja2VuZFxtb2RlbHNcTG9naW5Gb3JtOwp1c2UgYmFja2VuZFxtb2RlbHNcTWVudTsKCnVzZSBiYWNrZW5kXGNvbXBvbmVudHNcSGVscGVyOwoKLyoqCiAqIFNpdGUgY29udHJvbGxlcgogKi8KY2xhc3MgU2l0ZUNvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyCnsKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJlaGF2aW9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2FjY2VzcycgPT4gWwogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiBBY2Nlc3NDb250cm9sOjpjbGFzc05hbWUoKSwKICAgICAgICAgICAgICAgICdydWxlcycgPT4gWwogICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbnMnID0+IFsnbG9naW4nLCAnZXJyb3InXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWydsb2dvdXQnLCAnaW5kZXgnXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAncm9sZXMnID0+IFsnQCddLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgICAgICAndmVyYnMnID0+IFsKICAgICAgICAgICAgICAgICdjbGFzcycgPT4gVmVyYkZpbHRlcjo6Y2xhc3NOYW1lKCksCiAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWwogICAgICAgICAgICAgICAgICAgICdsb2dvdXQnID0+IFsnZ2V0J10sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgIF07CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2Vycm9yJyA9PiBbCiAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICd5aWlcd2ViXEVycm9yQWN0aW9uJywKICAgICAgICAgICAgXSwKICAgICAgICBdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpCiAgICB7CiAgICAgICAgJHVzZXJfaWQ9WWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+Z2V0SWQoKTsKICAgICAgICAkdXNlcl9pbmZvID0gWWlpOjokYXBwLT5hdXRoTWFuYWdlci0+Z2V0Um9sZXNCeVVzZXIoJHVzZXJfaWQpOwogICAgICAgICRyb2xlVHlwZSA9IGtleSgkdXNlcl9pbmZvKTsKICAgICAgICAkbWVudSA9IGFycmF5KCk7CiAgICAgICAgLy8gJG1lbnUyID0gbmV3IE1lbnUoKTsKICAgICAgICAvLyAkbWVudTIgPSAkbWVudTItPmdldExlZnRNZW51TGlzdCgpOwogICAgICAgIC8vIHByaW50X3IoJG1lbnUyWycyJ10pO2RpZTsKICAgICAgICBpZihpc3NldCgkX0dFVFsnZGVidWcnXSkgJiYgJF9HRVRbJ2RlYnVnJ10pewogICAgICAgICAgICBpZihpbl9hcnJheSgkcm9sZVR5cGUsWyfnq5nplb8nLCfotoXnuqfnrqHnkIblkZgnXSkpeyAgICAvL+WPquacieWcqOS7peermemVv+aIlui2hee6p+euoeeQhuWRmOi6q+S7veaJi+WKqOW8gOWQr+iwg+ivleaooeW8j++8jOaJjeWPr+S7peS9v+eUqOeuoeeQhuadg+mZkOiPnOWNlQogICAgICAgICAgICAgICAgJG1lbnUgPSB5aWlcaGVscGVyc1xBcnJheUhlbHBlcjo6bWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZShZaWk6OmdldEFsaWFzKCdAYmFja2VuZCcpLicvbWVudXMvJy4nMC5waHAnKSwKICAgICAgICAgICAgICAgICAgICByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLidhZG1pbi5waHAnKQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkbWVudSA9IHJlcXVpcmUoWWlpOjpnZXRBbGlhcygnQGJhY2tlbmQnKS4nL21lbnVzLycuJzAucGhwJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJG1lbnUgPSByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLicwLnBocCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2luZGV4JyxbCiAgICAgICAgICAgICdtZW51JyA9PiAkbWVudSwKICAgICAgICAgICAgJ3VzZXJfaW5mbycgPT4gJHJvbGVUeXBlCiAgICAgICAgXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoIVlpaTo6JGFwcC0+dXNlci0+aXNHdWVzdCkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdvSG9tZSgpOwogICAgICAgIH0KCiAgICAgICAgJG1vZGVsID0gbmV3IExvZ2luRm9ybSgpOwogICAgICAgIGlmICgkbW9kZWwtPmxvYWQoWWlpOjokYXBwLT5yZXF1ZXN0LT5wb3N0KCkpICYmICRtb2RlbC0+bG9naW4oKSkgewogICAgICAgICAgICAkbW9kZWwtPmxvZ2luTG9nKCk7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z29CYWNrKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2xvZ2luJywgWwogICAgICAgICAgICAgICAgJ21vZGVsJyA9PiAkbW9kZWwsCiAgICAgICAgICAgIF0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uTG9nb3V0KCkKICAgIHsKICAgICAgICBZaWk6OiRhcHAtPnVzZXItPmxvZ291dCgpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z29Ib21lKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkVycm9yKCRlKXsKICAgICAgICBlY2hvICRlOwogICAgfQoKfQoAAAAAAAAAABwMAAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAAGQoAAAAAAAAZCgAAAAAAAAAAAAAAAPC/" + ], + [ + 10, + 1, + "revert", + null, + "AgAAAAAAAAAAAAAAAAAAAAAAAABuDAAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDE4LTA0LTIzIDE0OjI5OjU2CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTEgMDc6NTI6MDYKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXGNvbnRyb2xsZXJzOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIHlpaVxmaWx0ZXJzXFZlcmJGaWx0ZXI7CnVzZSB5aWlcZmlsdGVyc1xBY2Nlc3NDb250cm9sOwp1c2UgYmFja2VuZFxtb2RlbHNcTG9naW5Gb3JtOwp1c2UgYmFja2VuZFxtb2RlbHNcTWVudTsKCnVzZSBiYWNrZW5kXGNvbXBvbmVudHNcSGVscGVyOwoKLyoqCiAqIFNpdGUgY29udHJvbGxlcgogKi8KY2xhc3MgU2l0ZUNvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyCnsKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJlaGF2aW9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2FjY2VzcycgPT4gWwogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiBBY2Nlc3NDb250cm9sOjpjbGFzc05hbWUoKSwKICAgICAgICAgICAgICAgICdydWxlcycgPT4gWwogICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbnMnID0+IFsnbG9naW4nLCAnZXJyb3InXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWydsb2dvdXQnLCAnaW5kZXgnXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAncm9sZXMnID0+IFsnQCddLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgICAgICAndmVyYnMnID0+IFsKICAgICAgICAgICAgICAgICdjbGFzcycgPT4gVmVyYkZpbHRlcjo6Y2xhc3NOYW1lKCksCiAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWwogICAgICAgICAgICAgICAgICAgICdsb2dvdXQnID0+IFsnZ2V0J10sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgIF07CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2Vycm9yJyA9PiBbCiAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICd5aWlcd2ViXEVycm9yQWN0aW9uJywKICAgICAgICAgICAgXSwKICAgICAgICBdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpCiAgICB7CiAgICAgICAgJHVzZXJfaWQ9WWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+Z2V0SWQoKTsKICAgICAgICAkdXNlcl9pbmZvID0gWWlpOjokYXBwLT5hdXRoTWFuYWdlci0+Z2V0Um9sZXNCeVVzZXIoJHVzZXJfaWQpOwogICAgICAgICRyb2xlVHlwZSA9IGtleSgkdXNlcl9pbmZvKTsKICAgICAgICAkbWVudSA9IGFycmF5KCk7CiAgICAgICAgLy8gJG1lbnUyID0gbmV3IE1lbnUoKTsKICAgICAgICAvLyAkbWVudTIgPSAkbWVudTItPmdldExlZnRNZW51TGlzdCgpOwogICAgICAgIC8vIHByaW50X3IoJG1lbnUyWycyJ10pO2RpZTsKICAgICAgICBpZihpc3NldCgkX0dFVFsnZGVidWcnXSkgJiYgJF9HRVRbJ2RlYnVnJ10pewogICAgICAgICAgICBpZihpbl9hcnJheSgkcm9sZVR5cGUsWyfnq5nplb8nLCfotoXnuqfnrqHnkIblkZgnXSkpeyAgICAvL+WPquacieWcqOS7peermemVv+aIlui2hee6p+euoeeQhuWRmOi6q+S7veaJi+WKqOW8gOWQr+iwg+ivleaooeW8j++8jOaJjeWPr+S7peS9v+eUqOeuoeeQhuadg+mZkOiPnOWNlQogICAgICAgICAgICAgICAgJG1lbnUgPSB5aWlcaGVscGVyc1xBcnJheUhlbHBlcjo6bWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZShZaWk6OmdldEFsaWFzKCdAYmFja2VuZCcpLicvbWVudXMvJy4nMC5waHAnKSwKICAgICAgICAgICAgICAgICAgICByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLidhZG1pbi5waHAnKQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkbWVudSA9IHJlcXVpcmUoWWlpOjpnZXRBbGlhcygnQGJhY2tlbmQnKS4nL21lbnVzLycuJzAucGhwJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJG1lbnUgPSByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLicwLnBocCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2luZGV4JyxbCiAgICAgICAgICAgICdtZW51JyA9PiAkbWVudSwKICAgICAgICAgICAgJ3VzZXJfaW5mbycgPT4gJHJvbGVUeXBlCiAgICAgICAgXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoIVlpaTo6JGFwcC0+dXNlci0+aXNHdWVzdCkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdvSG9tZSgpOwogICAgICAgIH0KCiAgICAgICAgJG1vZGVsID0gbmV3IExvZ2luRm9ybSgpOwogICAgICAgIGlmICgkbW9kZWwtPmxvYWQoWWlpOjokYXBwLT5yZXF1ZXN0LT5wb3N0KCkpICYmICRtb2RlbC0+bG9naW4oKSkgewogICAgICAgICAgICAkcmVzID0gJG1vZGVsLT5sb2dpbkxvZygpOwoJCQl2YXJfZHVtcCgkcmVzKTtkaWU7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z29CYWNrKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2xvZ2luJywgWwogICAgICAgICAgICAgICAgJ21vZGVsJyA9PiAkbW9kZWwsCiAgICAgICAgICAgIF0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uTG9nb3V0KCkKICAgIHsKICAgICAgICBZaWk6OiRhcHAtPnVzZXItPmxvZ291dCgpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z29Ib21lKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkVycm9yKCRlKXsKICAgICAgICBlY2hvICRlOwogICAgfQoKfQoAAAAAAAAAABwMAAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAAGQoAAAAAAAAZCgAAAAAAAAAAAAAAAPC/" + ], + [ + 11, + 1, + "revert", + null, + "AgAAAAAAAAAAAAAAAAAAAAAAAABuDAAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDE4LTA0LTIzIDE0OjI5OjU2CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTEgMDc6NTI6MDYKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXGNvbnRyb2xsZXJzOwoKdXNlIFlpaTsKdXNlIHlpaVx3ZWJcQ29udHJvbGxlcjsKdXNlIHlpaVxmaWx0ZXJzXFZlcmJGaWx0ZXI7CnVzZSB5aWlcZmlsdGVyc1xBY2Nlc3NDb250cm9sOwp1c2UgYmFja2VuZFxtb2RlbHNcTG9naW5Gb3JtOwp1c2UgYmFja2VuZFxtb2RlbHNcTWVudTsKCnVzZSBiYWNrZW5kXGNvbXBvbmVudHNcSGVscGVyOwoKLyoqCiAqIFNpdGUgY29udHJvbGxlcgogKi8KY2xhc3MgU2l0ZUNvbnRyb2xsZXIgZXh0ZW5kcyBDb250cm9sbGVyCnsKICAgIC8qKgogICAgICogQGluaGVyaXRkb2MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJlaGF2aW9ycygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2FjY2VzcycgPT4gWwogICAgICAgICAgICAgICAgJ2NsYXNzJyA9PiBBY2Nlc3NDb250cm9sOjpjbGFzc05hbWUoKSwKICAgICAgICAgICAgICAgICdydWxlcycgPT4gWwogICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbnMnID0+IFsnbG9naW4nLCAnZXJyb3InXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWydsb2dvdXQnLCAnaW5kZXgnXSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbG93JyA9PiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAncm9sZXMnID0+IFsnQCddLAogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgICAgICAndmVyYnMnID0+IFsKICAgICAgICAgICAgICAgICdjbGFzcycgPT4gVmVyYkZpbHRlcjo6Y2xhc3NOYW1lKCksCiAgICAgICAgICAgICAgICAnYWN0aW9ucycgPT4gWwogICAgICAgICAgICAgICAgICAgICdsb2dvdXQnID0+IFsnZ2V0J10sCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICBdLAogICAgICAgIF07CiAgICB9CgogICAgLyoqCiAgICAgKiBAaW5oZXJpdGRvYwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9ucygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgJ2Vycm9yJyA9PiBbCiAgICAgICAgICAgICAgICAnY2xhc3MnID0+ICd5aWlcd2ViXEVycm9yQWN0aW9uJywKICAgICAgICAgICAgXSwKICAgICAgICBdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpCiAgICB7CiAgICAgICAgJHVzZXJfaWQ9WWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+Z2V0SWQoKTsKICAgICAgICAkdXNlcl9pbmZvID0gWWlpOjokYXBwLT5hdXRoTWFuYWdlci0+Z2V0Um9sZXNCeVVzZXIoJHVzZXJfaWQpOwogICAgICAgICRyb2xlVHlwZSA9IGtleSgkdXNlcl9pbmZvKTsKICAgICAgICAkbWVudSA9IGFycmF5KCk7CiAgICAgICAgLy8gJG1lbnUyID0gbmV3IE1lbnUoKTsKICAgICAgICAvLyAkbWVudTIgPSAkbWVudTItPmdldExlZnRNZW51TGlzdCgpOwogICAgICAgIC8vIHByaW50X3IoJG1lbnUyWycyJ10pO2RpZTsKICAgICAgICBpZihpc3NldCgkX0dFVFsnZGVidWcnXSkgJiYgJF9HRVRbJ2RlYnVnJ10pewogICAgICAgICAgICBpZihpbl9hcnJheSgkcm9sZVR5cGUsWyfnq5nplb8nLCfotoXnuqfnrqHnkIblkZgnXSkpeyAgICAvL+WPquacieWcqOS7peermemVv+aIlui2hee6p+euoeeQhuWRmOi6q+S7veaJi+WKqOW8gOWQr+iwg+ivleaooeW8j++8jOaJjeWPr+S7peS9v+eUqOeuoeeQhuadg+mZkOiPnOWNlQogICAgICAgICAgICAgICAgJG1lbnUgPSB5aWlcaGVscGVyc1xBcnJheUhlbHBlcjo6bWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZShZaWk6OmdldEFsaWFzKCdAYmFja2VuZCcpLicvbWVudXMvJy4nMC5waHAnKSwKICAgICAgICAgICAgICAgICAgICByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLidhZG1pbi5waHAnKQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkbWVudSA9IHJlcXVpcmUoWWlpOjpnZXRBbGlhcygnQGJhY2tlbmQnKS4nL21lbnVzLycuJzAucGhwJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgJG1lbnUgPSByZXF1aXJlKFlpaTo6Z2V0QWxpYXMoJ0BiYWNrZW5kJykuJy9tZW51cy8nLicwLnBocCcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2luZGV4JyxbCiAgICAgICAgICAgICdtZW51JyA9PiAkbWVudSwKICAgICAgICAgICAgJ3VzZXJfaW5mbycgPT4gJHJvbGVUeXBlCiAgICAgICAgXSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoIVlpaTo6JGFwcC0+dXNlci0+aXNHdWVzdCkgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmdvSG9tZSgpOwogICAgICAgIH0KCiAgICAgICAgJG1vZGVsID0gbmV3IExvZ2luRm9ybSgpOwogICAgICAgIGlmICgkbW9kZWwtPmxvYWQoWWlpOjokYXBwLT5yZXF1ZXN0LT5wb3N0KCkpICYmICRtb2RlbC0+bG9naW4oKSkgewogICAgICAgICAgICAkcmVzID0gJG1vZGVsLT5sb2dpbkxvZygpOwoJCQl2YXJfZHVtcCgkcmVzKTtkaWU7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z29CYWNrKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoJ2xvZ2luJywgWwogICAgICAgICAgICAgICAgJ21vZGVsJyA9PiAkbW9kZWwsCiAgICAgICAgICAgIF0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uTG9nb3V0KCkKICAgIHsKICAgICAgICBZaWk6OiRhcHAtPnVzZXItPmxvZ291dCgpOwogICAgICAgIHJldHVybiAkdGhpcy0+Z29Ib21lKCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkVycm9yKCRlKXsKICAgICAgICBlY2hvICRlOwogICAgfQoKfQoAAAAAAAAAAP4LAAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAAGQoAAAAAAAAZCgAAAAAAAAAAAAAAAPC/" + ] + ] + }, + { + "file": "ctms-admin/models/LoginForm.php", + "settings": + { + "buffer_size": 4024, + "encoding": "UTF-8", + "line_ending": "Unix" + }, + "undo_stack": + [ + [ + 7, + 1, + "revert", + null, + "AgAAAAAAAAAAAAAAAAAAAAAAAACRDgAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDIxLTA5LTA5IDIyOjU5OjA0CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTAgMTk6NTU6NTQKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXG1vZGVsczsKCnVzZSBZaWk7CnVzZSB5aWlcYmFzZVxNb2RlbDsKdXNlIGNvbW1vblxtb2RlbHNcQ0xvZzsKdXNlIGJhY2tlbmRcbW9kZWxzXEFkbWluZXI7CgovKioKICogTG9naW4gZm9ybQogKi8KY2xhc3MgTG9naW5Gb3JtIGV4dGVuZHMgTW9kZWwKewogICAgcHVibGljICR1c2VybmFtZTsKICAgIHB1YmxpYyAkcGFzc3dvcmQ7CiAgICBwdWJsaWMgJHJlbWVtYmVyTWUgPSB0cnVlOwoKICAgIHByaXZhdGUgJF91c2VyOyAgICAvL+mYsuatouiiq+WklumDqOeoi+W6j+S/ruaUuQoKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBydWxlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgLy8gdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBib3RoIHJlcXVpcmVkCiAgICAgICAgICAgIFtbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10sICdyZXF1aXJlZCddLAogICAgICAgICAgICAvLyByZW1lbWJlck1lIG11c3QgYmUgYSBib29sZWFuIHZhbHVlCiAgICAgICAgICAgIFsncmVtZW1iZXJNZScsICdib29sZWFuJ10sCiAgICAgICAgICAgIC8vIHBhc3N3b3JkIGlzIHZhbGlkYXRlZCBieSB2YWxpZGF0ZVBhc3N3b3JkKCkKICAgICAgICAgICAgWydwYXNzd29yZCcsICd2YWxpZGF0ZVBhc3N3b3JkJ10sCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1c2VybmFtZScgPT4gWWlpOjp0KCdjb21tb24nLCdVc2VybmFtZScpLAogICAgICAgICAgICAncGFzc3dvcmQnID0+IFlpaTo6dCgnY29tbW9uJywnUGFzc3dvcmQnKSwKICAgICAgICAgICAgJ3JlbWVtYmVyTWUnID0+IFlpaTo6dCgnY29tbW9uJywnUmVtZW1iZXIgTWUnKSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoZSBwYXNzd29yZC4KICAgICAqIFRoaXMgbWV0aG9kIHNlcnZlcyBhcyB0aGUgaW5saW5lIHZhbGlkYXRpb24gZm9yIHBhc3N3b3JkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF0dHJpYnV0ZSB0aGUgYXR0cmlidXRlIGN1cnJlbnRseSBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIHRoZSBhZGRpdGlvbmFsIG5hbWUtdmFsdWUgcGFpcnMgZ2l2ZW4gaW4gdGhlIHJ1bGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUGFzc3dvcmQoJGF0dHJpYnV0ZSwgJHBhcmFtcykKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNFcnJvcnMoKSkgewogICAgICAgICAgICAkdXNlciA9ICR0aGlzLT5nZXRVc2VyKCk7CiAgICAgICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT52YWxpZGF0ZVBhc3N3b3JkKCR0aGlzLT5wYXNzd29yZCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRFcnJvcigkYXR0cmlidXRlLCBZaWk6OnQoJ2NvbW1vbicsJ0luY29ycmVjdCB1c2VybmFtZSBvciBwYXNzd29yZC4nKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIGEgdXNlciB1c2luZyB0aGUgcHJvdmlkZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIFlpaTo6JGFwcC0+dXNlci0+bG9naW4oJHRoaXMtPmdldFVzZXIoKSwgJHRoaXMtPnJlbWVtYmVyTWUgPyAzNjAwICogMjQgKiAzMCA6IDApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAvL+WmguaenOS4unRydWUg5bCG5YWB6K645Lu75oSP5a+G56CB55m76ZmGCiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB1c2VyIGJ5IFtbdXNlcm5hbWVdXQogICAgICoKICAgICAqIEByZXR1cm4gVXNlcnxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVc2VyKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPl91c2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5fdXNlciA9IEFkbWluZXI6OmZpbmRCeVVzZXJuYW1lKCR0aGlzLT51c2VybmFtZSk7ICAgIC8v5Y2D5LiH5rOo5oSP5ZCO56uv55qE55m76ZmG5L2/55So55qE5pivQWRtaW5lcuaooeWei++8jOS4jeaYr1VzZXIKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3VzZXI7CiAgICB9CgogICAgLy/nmbvlvZXorrDlvZUKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbkxvZygpewogICAgICAgICRyZXF1ZXN0ID0gWWlpOjokYXBwLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJG5vd0ZpbGUgPSAkcmVxdWVzdCAtPiBnZXRTY3JpcHRGaWxlKCk7CiAgICAgICAgJGRhdGEgPSAgIueZu+mZhuezu+e7n3zpgJTlvoTvvJoiLiRub3dGaWxlOwoKICAgICAgICAkbW9kZWwgPSBuZXcgQ0xvZygpOwogICAgICAgICRtb2RlbC0+dXNlcm5hbWUgPSAkdGhpcy0+dXNlcm5hbWU7CiAgICAgICAgJG1vZGVsLT5pcCA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+dXNlcklQOwogICAgICAgICRtb2RlbC0+ZGF0YSA9ICRkYXRhOwogICAgICAgICRtb2RlbC0+Y3JlYXRlX3RpbWUgPSB0aW1lKCk7CiAgICAgICAgJG1vZGVsLT5zYXZlKCk7CgogICAgICAgIC8v57yW5Yi26YKu5Lu25Y+R6YCB6YCa55+lCiAgICAgICAgJG1lc3NhZ2UgPSBZaWk6OiRhcHAtPm1haWxlci0+Y29tcG9zZSgpOwogICAgICAgICRtZXNzYWdlLT5zZXRGcm9tKFlpaTo6JGFwcC0+cGFyYW1zWydub3RpY2VFbWFpbCddKTsKICAgICAgICAvL+e7meeZu+mZhuiAheWPkemAgQogICAgICAgICRzdWJqZWN0ID0gIui0puWPt+eZu+mZhuaPkOmGkiI7CiAgICAgICAgJGJvZHkgPSAi5oKo55qE6LSm5Y+344CQIi4kdGhpcy0+dXNlcm5hbWUuIuOAkeWImuWImueZu+mZhuS6hue9keermToiLllpaTo6JGFwcC0+Z2V0UmVxdWVzdCgpLT5hYnNvbHV0ZVVybDsKICAgICAgICAkbWVzc2FnZS0+c2V0VG8oWWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+ZW1haWwpCiAgICAgICAgICAgIC0+c2V0U3ViamVjdCgkc3ViamVjdCkKICAgICAgICAgICAgLT5zZXRUZXh0Qm9keSgkYm9keSkKICAgICAgICAgICAgLT5zZW5kKCk7CiAgICAgICAgLy/nu5nnrqHnkIbkurrlkZjlj5HpgIEKICAgICAgICAkc3ViamVjdCA9ICLotKblj7fnmbvpmYbmj5DphpIiOwogICAgICAgICRib2R5ID0gIui/kOe7tOi0puWPt+OAkCIuJHRoaXMtPnVzZXJuYW1lLiLjgJHliJrliJrnmbvpmYbkuobnvZHnq5k6Ii5ZaWk6OiRhcHAtPmdldFJlcXVlc3QoKS0+YWJzb2x1dGVVcmw7CiAgICAgICAgJG1lc3NhZ2UtPnNldFRvKCcxMjgwODgwNjMxQHFxLmNvbScpCiAgICAgICAgICAgIC0+c2V0U3ViamVjdCgkc3ViamVjdCkKICAgICAgICAgICAgLT5zZXRUZXh0Qm9keSgkYm9keSkKICAgICAgICAgICAgLT5zZW5kKCk7CiAgICB9Cn0KAAAAAAAAAACdDgAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAAPwsAAAAAAAA/CwAAAAAAAAAAAAAAAPC/" ], [ 21, 1, "paste", null, - "AQAAAL0AAAAAAAAA1wAAAAAAAAAAAAAA", - "AQAAAAAAAAABAAAAvQAAAAAAAAC9AAAAAAAAAAAAAAAAAPC/" + "AgAAAMsMAAAAAAAA0wwAAAAAAAAAAAAA0wwAAAAAAADTDAAAAAAAABcAAABZaWk6OiRhcHAtPmdldFJlcXVlc3QoKQ", + "AQAAAAAAAAABAAAAywwAAAAAAADiDAAAAAAAAAAAAAAAAPC/" ], [ 26, 1, - "insert", - { - "characters": "Ac" - }, - "AwAAANAAAAAAAAAA0QAAAAAAAAAAAAAA0QAAAAAAAADRAAAAAAAAAAYAAABOYXZCYXLRAAAAAAAAANIAAAAAAAAAAAAAAA", - "AQAAAAAAAAABAAAA0AAAAAAAAADWAAAAAAAAAAAAAAAAAPC/" + "paste", + null, + "AgAAANkNAAAAAAAA4Q0AAAAAAAAAAAAA4Q0AAAAAAADhDQAAAAAAABcAAABZaWk6OiRhcHAtPmdldFJlcXVlc3QoKQ", + "AQAAAAAAAAABAAAA2Q0AAAAAAADwDQAAAAAAAAAAAAAAAPC/" ], [ 27, 1, - "insert_completion", + "add_file_header", { - "completion": "ActiveForm", - "format": "text", - "keep_prefix": false, - "must_insert": false, - "trigger": "ActiveForm" + "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/models/LoginForm.php" }, - "AgAAANAAAAAAAAAA0AAAAAAAAAACAAAAQWPQAAAAAAAAANoAAAAAAAAAAAAAAA", - "AQAAAAAAAAABAAAA0gAAAAAAAADSAAAAAAAAAAAAAAAAAPC/" + "AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAA4Q0AAAAAAADhDQAAAAAAAAAAAAAAAPC/" + ], + [ + 30, + 1, + "revert", + null, + "AgAAAAAAAAAAAAAAAAAAAAAAAABtDwAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDIxLTA5LTA5IDIyOjU5OjA0CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTAgMTk6NTU6NTQKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXG1vZGVsczsKCnVzZSBZaWk7CnVzZSB5aWlcYmFzZVxNb2RlbDsKdXNlIGNvbW1vblxtb2RlbHNcQ0xvZzsKdXNlIGJhY2tlbmRcbW9kZWxzXEFkbWluZXI7CgovKioKICogTG9naW4gZm9ybQogKi8KY2xhc3MgTG9naW5Gb3JtIGV4dGVuZHMgTW9kZWwKewogICAgcHVibGljICR1c2VybmFtZTsKICAgIHB1YmxpYyAkcGFzc3dvcmQ7CiAgICBwdWJsaWMgJHJlbWVtYmVyTWUgPSB0cnVlOwoKICAgIHByaXZhdGUgJF91c2VyOyAgICAvL+mYsuatouiiq+WklumDqOeoi+W6j+S/ruaUuQoKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBydWxlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgLy8gdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBib3RoIHJlcXVpcmVkCiAgICAgICAgICAgIFtbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10sICdyZXF1aXJlZCddLAogICAgICAgICAgICAvLyByZW1lbWJlck1lIG11c3QgYmUgYSBib29sZWFuIHZhbHVlCiAgICAgICAgICAgIFsncmVtZW1iZXJNZScsICdib29sZWFuJ10sCiAgICAgICAgICAgIC8vIHBhc3N3b3JkIGlzIHZhbGlkYXRlZCBieSB2YWxpZGF0ZVBhc3N3b3JkKCkKICAgICAgICAgICAgWydwYXNzd29yZCcsICd2YWxpZGF0ZVBhc3N3b3JkJ10sCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1c2VybmFtZScgPT4gWWlpOjp0KCdjb21tb24nLCdVc2VybmFtZScpLAogICAgICAgICAgICAncGFzc3dvcmQnID0+IFlpaTo6dCgnY29tbW9uJywnUGFzc3dvcmQnKSwKICAgICAgICAgICAgJ3JlbWVtYmVyTWUnID0+IFlpaTo6dCgnY29tbW9uJywnUmVtZW1iZXIgTWUnKSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoZSBwYXNzd29yZC4KICAgICAqIFRoaXMgbWV0aG9kIHNlcnZlcyBhcyB0aGUgaW5saW5lIHZhbGlkYXRpb24gZm9yIHBhc3N3b3JkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF0dHJpYnV0ZSB0aGUgYXR0cmlidXRlIGN1cnJlbnRseSBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIHRoZSBhZGRpdGlvbmFsIG5hbWUtdmFsdWUgcGFpcnMgZ2l2ZW4gaW4gdGhlIHJ1bGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUGFzc3dvcmQoJGF0dHJpYnV0ZSwgJHBhcmFtcykKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNFcnJvcnMoKSkgewogICAgICAgICAgICAkdXNlciA9ICR0aGlzLT5nZXRVc2VyKCk7CiAgICAgICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT52YWxpZGF0ZVBhc3N3b3JkKCR0aGlzLT5wYXNzd29yZCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRFcnJvcigkYXR0cmlidXRlLCBZaWk6OnQoJ2NvbW1vbicsJ0luY29ycmVjdCB1c2VybmFtZSBvciBwYXNzd29yZC4nKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIGEgdXNlciB1c2luZyB0aGUgcHJvdmlkZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIFlpaTo6JGFwcC0+dXNlci0+bG9naW4oJHRoaXMtPmdldFVzZXIoKSwgJHRoaXMtPnJlbWVtYmVyTWUgPyAzNjAwICogMjQgKiAzMCA6IDApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAvL+WmguaenOS4unRydWUg5bCG5YWB6K645Lu75oSP5a+G56CB55m76ZmGCiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB1c2VyIGJ5IFtbdXNlcm5hbWVdXQogICAgICoKICAgICAqIEByZXR1cm4gVXNlcnxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVc2VyKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPl91c2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5fdXNlciA9IEFkbWluZXI6OmZpbmRCeVVzZXJuYW1lKCR0aGlzLT51c2VybmFtZSk7ICAgIC8v5Y2D5LiH5rOo5oSP5ZCO56uv55qE55m76ZmG5L2/55So55qE5pivQWRtaW5lcuaooeWei++8jOS4jeaYr1VzZXIKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3VzZXI7CiAgICB9CgogICAgLy/nmbvlvZXorrDlvZUKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbkxvZygpewogICAgICAgICRyZXF1ZXN0ID0gWWlpOjokYXBwLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJG5vd0ZpbGUgPSAkcmVxdWVzdCAtPiBnZXRTY3JpcHRGaWxlKCk7CgkJJHVybCA9ICRyZXF1ZXN0LT5nZXRVcmwoKTsKCQkkaG9zdEluZm8gPSAkcmVxdWVzdCAtPiBnZXRIb3N0SW5mbygpOwoJCSRwb3J0ID0gJHJlcXVlc3QgLT4gZ2V0UG9ydCgpOwogICAgICAgICRkYXRhID0gICLnmbvpmYbns7vnu5/vvJoiOwoJICAgICRkYXRhIC49ICJ85Z+f5ZCN77yaIi4kaG9zdEluZm87CgkJJGRhdGEgLj0gInznq6/lj6PvvJoiLiRwb3J0OwoJCSRkYXRhIC49ICJ8572R5Z2A77yaIi4kdXJsOwoJCSRkYXRhIC49ICJ86ISa5pys77yaIi4kbm93RmlsZTsKCiAgICAgICAgJG1vZGVsID0gbmV3IENMb2coKTsKICAgICAgICAkbW9kZWwtPnVzZXJuYW1lID0gJHRoaXMtPnVzZXJuYW1lOwogICAgICAgICRtb2RlbC0+aXAgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPnVzZXJJUDsKICAgICAgICAkbW9kZWwtPmRhdGEgPSAkZGF0YTsKICAgICAgICAkbW9kZWwtPmNyZWF0ZV90aW1lID0gdGltZSgpOwogICAgICAgICRyZXMgPSAgJG1vZGVsLT5zYXZlKCk7CgkJdmFyX2R1bXAoJHJlcyk7ZGllOwoKICAgICAgICAvL+e8luWItumCruS7tuWPkemAgemAmuefpQogICAgICAgICRtZXNzYWdlID0gWWlpOjokYXBwLT5tYWlsZXItPmNvbXBvc2UoKTsKICAgICAgICAkbWVzc2FnZS0+c2V0RnJvbShZaWk6OiRhcHAtPnBhcmFtc1snbm90aWNlRW1haWwnXSk7CiAgICAgICAgLy/nu5nnmbvpmYbogIXlj5HpgIEKICAgICAgICAkc3ViamVjdCA9ICLotKblj7fnmbvpmYbmj5DphpIiOwogICAgICAgICRib2R5ID0gIuaCqOeahOi0puWPt+OAkCIuJHRoaXMtPnVzZXJuYW1lLiLjgJHliJrliJrnmbvpmYbkuobnvZHnq5k6Ii4kcmVxdWVzdC0+YWJzb2x1dGVVcmw7CiAgICAgICAgJG1lc3NhZ2UtPnNldFRvKFlpaTo6JGFwcC0+dXNlci0+aWRlbnRpdHktPmVtYWlsKQogICAgICAgICAgICAtPnNldFN1YmplY3QoJHN1YmplY3QpCiAgICAgICAgICAgIC0+c2V0VGV4dEJvZHkoJGJvZHkpCiAgICAgICAgICAgIC0+c2VuZCgpOwogICAgICAgIC8v57uZ566h55CG5Lq65ZGY5Y+R6YCBCiAgICAgICAgJHN1YmplY3QgPSAi6LSm5Y+355m76ZmG5o+Q6YaSIjsKICAgICAgICAkYm9keSA9ICLov5Dnu7TotKblj7fjgJAiLiR0aGlzLT51c2VybmFtZS4i44CR5Yia5Yia55m76ZmG5LqG572R56uZOiIuJHJlcXVlc3QtPmFic29sdXRlVXJsOwogICAgICAgICRtZXNzYWdlLT5zZXRUbygnMTI4MDg4MDYzMUBxcS5jb20nKQogICAgICAgICAgICAtPnNldFN1YmplY3QoJHN1YmplY3QpCiAgICAgICAgICAgIC0+c2V0VGV4dEJvZHkoJGJvZHkpCiAgICAgICAgICAgIC0+c2VuZCgpOwogICAgfQp9CgAAAAAAAAAAlA4AAAAAAAAAAAAA", + "AQAAAAAAAAABAAAADwsAAAAAAAAPCwAAAAAAAAAAAAAAAPC/" + ], + [ + 31, + 1, + "revert", + null, + "AgAAAAAAAAAAAAAAAAAAAAAAAACiDwAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDIxLTA5LTA5IDIyOjU5OjA0CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTAgMTk6NTU6NTQKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXG1vZGVsczsKCnVzZSBZaWk7CnVzZSB5aWlcYmFzZVxNb2RlbDsKdXNlIGNvbW1vblxtb2RlbHNcQ0xvZzsKdXNlIGJhY2tlbmRcbW9kZWxzXEFkbWluZXI7CgovKioKICogTG9naW4gZm9ybQogKi8KY2xhc3MgTG9naW5Gb3JtIGV4dGVuZHMgTW9kZWwKewogICAgcHVibGljICR1c2VybmFtZTsKICAgIHB1YmxpYyAkcGFzc3dvcmQ7CiAgICBwdWJsaWMgJHJlbWVtYmVyTWUgPSB0cnVlOwoKICAgIHByaXZhdGUgJF91c2VyOyAgICAvL+mYsuatouiiq+WklumDqOeoi+W6j+S/ruaUuQoKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBydWxlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgLy8gdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBib3RoIHJlcXVpcmVkCiAgICAgICAgICAgIFtbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10sICdyZXF1aXJlZCddLAogICAgICAgICAgICAvLyByZW1lbWJlck1lIG11c3QgYmUgYSBib29sZWFuIHZhbHVlCiAgICAgICAgICAgIFsncmVtZW1iZXJNZScsICdib29sZWFuJ10sCiAgICAgICAgICAgIC8vIHBhc3N3b3JkIGlzIHZhbGlkYXRlZCBieSB2YWxpZGF0ZVBhc3N3b3JkKCkKICAgICAgICAgICAgWydwYXNzd29yZCcsICd2YWxpZGF0ZVBhc3N3b3JkJ10sCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1c2VybmFtZScgPT4gWWlpOjp0KCdjb21tb24nLCdVc2VybmFtZScpLAogICAgICAgICAgICAncGFzc3dvcmQnID0+IFlpaTo6dCgnY29tbW9uJywnUGFzc3dvcmQnKSwKICAgICAgICAgICAgJ3JlbWVtYmVyTWUnID0+IFlpaTo6dCgnY29tbW9uJywnUmVtZW1iZXIgTWUnKSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoZSBwYXNzd29yZC4KICAgICAqIFRoaXMgbWV0aG9kIHNlcnZlcyBhcyB0aGUgaW5saW5lIHZhbGlkYXRpb24gZm9yIHBhc3N3b3JkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF0dHJpYnV0ZSB0aGUgYXR0cmlidXRlIGN1cnJlbnRseSBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIHRoZSBhZGRpdGlvbmFsIG5hbWUtdmFsdWUgcGFpcnMgZ2l2ZW4gaW4gdGhlIHJ1bGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUGFzc3dvcmQoJGF0dHJpYnV0ZSwgJHBhcmFtcykKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNFcnJvcnMoKSkgewogICAgICAgICAgICAkdXNlciA9ICR0aGlzLT5nZXRVc2VyKCk7CiAgICAgICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT52YWxpZGF0ZVBhc3N3b3JkKCR0aGlzLT5wYXNzd29yZCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRFcnJvcigkYXR0cmlidXRlLCBZaWk6OnQoJ2NvbW1vbicsJ0luY29ycmVjdCB1c2VybmFtZSBvciBwYXNzd29yZC4nKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIGEgdXNlciB1c2luZyB0aGUgcHJvdmlkZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIFlpaTo6JGFwcC0+dXNlci0+bG9naW4oJHRoaXMtPmdldFVzZXIoKSwgJHRoaXMtPnJlbWVtYmVyTWUgPyAzNjAwICogMjQgKiAzMCA6IDApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAvL+WmguaenOS4unRydWUg5bCG5YWB6K645Lu75oSP5a+G56CB55m76ZmGCiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB1c2VyIGJ5IFtbdXNlcm5hbWVdXQogICAgICoKICAgICAqIEByZXR1cm4gVXNlcnxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVc2VyKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPl91c2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5fdXNlciA9IEFkbWluZXI6OmZpbmRCeVVzZXJuYW1lKCR0aGlzLT51c2VybmFtZSk7ICAgIC8v5Y2D5LiH5rOo5oSP5ZCO56uv55qE55m76ZmG5L2/55So55qE5pivQWRtaW5lcuaooeWei++8jOS4jeaYr1VzZXIKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3VzZXI7CiAgICB9CgogICAgLy/nmbvlvZXorrDlvZUKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbkxvZygpewogICAgICAgICRyZXF1ZXN0ID0gWWlpOjokYXBwLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJG5vd0ZpbGUgPSAkcmVxdWVzdCAtPiBnZXRTY3JpcHRGaWxlKCk7CgkJJHVybCA9ICRyZXF1ZXN0LT5nZXRVcmwoKTsKCQkkaG9zdEluZm8gPSAkcmVxdWVzdCAtPiBnZXRIb3N0SW5mbygpOwoJCSRwb3J0ID0gJHJlcXVlc3QgLT4gZ2V0UG9ydCgpOwogICAgICAgICRkYXRhID0gICLnmbvpmYbns7vnu5/vvJoiOwoJICAgICRkYXRhIC49ICJ85Z+f5ZCN77yaIi4kaG9zdEluZm87CgkJJGRhdGEgLj0gInznq6/lj6PvvJoiLiRwb3J0OwoJCSRkYXRhIC49ICJ8572R5Z2A77yaIi4kdXJsOwoJCSRkYXRhIC49ICJ86ISa5pys77yaIi4kbm93RmlsZTsKCiAgICAgICAgJG1vZGVsID0gbmV3IENMb2coKTsKICAgICAgICAkbW9kZWwtPnVzZXJuYW1lID0gJHRoaXMtPnVzZXJuYW1lOwogICAgICAgICRtb2RlbC0+aXAgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPnVzZXJJUDsKICAgICAgICAkbW9kZWwtPmRhdGEgPSAkZGF0YTsKICAgICAgICAkbW9kZWwtPmNyZWF0ZV90aW1lID0gdGltZSgpOwogICAgICAgICRtb2RlbC0+c2F2ZSgpOwovLwkJJHJlcyA9ICRtb2RlbC0+Z2V0RXJyb3JzKCk7IC8v5pWw5o2u5L+d5a2Y5oql6ZSZ5pe25Y+v5Lul55So5q2k5omT5Y2w5Ye66ZSZ6K+vCgogICAgICAgIC8v57yW5Yi26YKu5Lu25Y+R6YCB6YCa55+lCiAgICAgICAgJG1lc3NhZ2UgPSBZaWk6OiRhcHAtPm1haWxlci0+Y29tcG9zZSgpOwogICAgICAgICRtZXNzYWdlLT5zZXRGcm9tKFlpaTo6JGFwcC0+cGFyYW1zWydub3RpY2VFbWFpbCddKTsKICAgICAgICAvL+e7meeZu+mZhuiAheWPkemAgQogICAgICAgICRzdWJqZWN0ID0gIui0puWPt+eZu+mZhuaPkOmGkiI7CiAgICAgICAgJGJvZHkgPSAi5oKo55qE6LSm5Y+344CQIi4kdGhpcy0+dXNlcm5hbWUuIuOAkeWImuWImueZu+mZhuS6hue9keermToiLiRyZXF1ZXN0LT5hYnNvbHV0ZVVybDsKICAgICAgICAkbWVzc2FnZS0+c2V0VG8oWWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+ZW1haWwpCiAgICAgICAgICAgIC0+c2V0U3ViamVjdCgkc3ViamVjdCkKICAgICAgICAgICAgLT5zZXRUZXh0Qm9keSgkYm9keSkKICAgICAgICAgICAgLT5zZW5kKCk7CiAgICAgICAgLy/nu5nnrqHnkIbkurrlkZjlj5HpgIEKICAgICAgICAkc3ViamVjdCA9ICLotKblj7fnmbvpmYbmj5DphpIiOwogICAgICAgICRib2R5ID0gIui/kOe7tOi0puWPt+OAkCIuJHRoaXMtPnVzZXJuYW1lLiLjgJHliJrliJrnmbvpmYbkuobnvZHnq5k6Ii4kcmVxdWVzdC0+YWJzb2x1dGVVcmw7CiAgICAgICAgJG1lc3NhZ2UtPnNldFRvKCcxMjgwODgwNjMxQHFxLmNvbScpCiAgICAgICAgICAgIC0+c2V0U3ViamVjdCgkc3ViamVjdCkKICAgICAgICAgICAgLT5zZXRUZXh0Qm9keSgkYm9keSkKICAgICAgICAgICAgLT5zZW5kKCk7CiAgICB9Cn0KAAAAAAAAAACjDwAAAAAAAAAAAAA", + "AQAAAAAAAAABAAAADwsAAAAAAAAPCwAAAAAAAAAAAAAAAPC/" ], [ 32, 1, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/views/layouts/main.php" - }, - "AQAAAAcAAAAAAAAABwAAAAAAAAAAAAAA", - "AQAAAAAAAAABAAAA2wAAAAAAAADbAAAAAAAAAAAAAAAAAPC/" + "revert", + null, + "AgAAAAAAAAAAAAAAAAAAAAAAAADhEAAAPD9waHAKCi8qKgogKiBAQXV0aG9yOiBmbTQ1MwogKiBARGF0ZTogICAyMDIxLTA5LTA5IDIyOjU5OjA0CiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiAgIGZtNDUzCiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjEtMDktMTAgMTk6NTU6NTQKICogQEVtYWlsOiBmbTQ1M0BsdWtlZ3pzLmNvbQogKi8KCm5hbWVzcGFjZSBiYWNrZW5kXG1vZGVsczsKCnVzZSBZaWk7CnVzZSB5aWlcYmFzZVxNb2RlbDsKdXNlIGNvbW1vblxtb2RlbHNcQ0xvZzsKdXNlIGJhY2tlbmRcbW9kZWxzXEFkbWluZXI7CgovKioKICogTG9naW4gZm9ybQogKi8KY2xhc3MgTG9naW5Gb3JtIGV4dGVuZHMgTW9kZWwKewogICAgcHVibGljICR1c2VybmFtZTsKICAgIHB1YmxpYyAkcGFzc3dvcmQ7CiAgICBwdWJsaWMgJHJlbWVtYmVyTWUgPSB0cnVlOwoKICAgIHByaXZhdGUgJF91c2VyOyAgICAvL+mYsuatouiiq+WklumDqOeoi+W6j+S/ruaUuQoKCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBydWxlcygpCiAgICB7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgLy8gdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBib3RoIHJlcXVpcmVkCiAgICAgICAgICAgIFtbJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJ10sICdyZXF1aXJlZCddLAogICAgICAgICAgICAvLyByZW1lbWJlck1lIG11c3QgYmUgYSBib29sZWFuIHZhbHVlCiAgICAgICAgICAgIFsncmVtZW1iZXJNZScsICdib29sZWFuJ10sCiAgICAgICAgICAgIC8vIHBhc3N3b3JkIGlzIHZhbGlkYXRlZCBieSB2YWxpZGF0ZVBhc3N3b3JkKCkKICAgICAgICAgICAgWydwYXNzd29yZCcsICd2YWxpZGF0ZVBhc3N3b3JkJ10sCiAgICAgICAgXTsKICAgIH0KCiAgICAvKioKICAgICAqIEBpbmhlcml0ZG9jCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhdHRyaWJ1dGVMYWJlbHMoKQogICAgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1c2VybmFtZScgPT4gWWlpOjp0KCdjb21tb24nLCdVc2VybmFtZScpLAogICAgICAgICAgICAncGFzc3dvcmQnID0+IFlpaTo6dCgnY29tbW9uJywnUGFzc3dvcmQnKSwKICAgICAgICAgICAgJ3JlbWVtYmVyTWUnID0+IFlpaTo6dCgnY29tbW9uJywnUmVtZW1iZXIgTWUnKSwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIHRoZSBwYXNzd29yZC4KICAgICAqIFRoaXMgbWV0aG9kIHNlcnZlcyBhcyB0aGUgaW5saW5lIHZhbGlkYXRpb24gZm9yIHBhc3N3b3JkLgogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGF0dHJpYnV0ZSB0aGUgYXR0cmlidXRlIGN1cnJlbnRseSBiZWluZyB2YWxpZGF0ZWQKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIHRoZSBhZGRpdGlvbmFsIG5hbWUtdmFsdWUgcGFpcnMgZ2l2ZW4gaW4gdGhlIHJ1bGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHZhbGlkYXRlUGFzc3dvcmQoJGF0dHJpYnV0ZSwgJHBhcmFtcykKICAgIHsKICAgICAgICBpZiAoISR0aGlzLT5oYXNFcnJvcnMoKSkgewogICAgICAgICAgICAkdXNlciA9ICR0aGlzLT5nZXRVc2VyKCk7CiAgICAgICAgICAgIGlmICghJHVzZXIgfHwgISR1c2VyLT52YWxpZGF0ZVBhc3N3b3JkKCR0aGlzLT5wYXNzd29yZCkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5hZGRFcnJvcigkYXR0cmlidXRlLCBZaWk6OnQoJ2NvbW1vbicsJ0luY29ycmVjdCB1c2VybmFtZSBvciBwYXNzd29yZC4nKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBMb2dzIGluIGEgdXNlciB1c2luZyB0aGUgcHJvdmlkZWQgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbCB3aGV0aGVyIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGxvZ2luKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPnZhbGlkYXRlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIFlpaTo6JGFwcC0+dXNlci0+bG9naW4oJHRoaXMtPmdldFVzZXIoKSwgJHRoaXMtPnJlbWVtYmVyTWUgPyAzNjAwICogMjQgKiAzMCA6IDApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAvL+WmguaenOS4unRydWUg5bCG5YWB6K645Lu75oSP5a+G56CB55m76ZmGCiAgICB9CgogICAgLyoqCiAgICAgKiBGaW5kcyB1c2VyIGJ5IFtbdXNlcm5hbWVdXQogICAgICoKICAgICAqIEByZXR1cm4gVXNlcnxudWxsCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRVc2VyKCkKICAgIHsKICAgICAgICBpZiAoJHRoaXMtPl91c2VyID09PSBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5fdXNlciA9IEFkbWluZXI6OmZpbmRCeVVzZXJuYW1lKCR0aGlzLT51c2VybmFtZSk7ICAgIC8v5Y2D5LiH5rOo5oSP5ZCO56uv55qE55m76ZmG5L2/55So55qE5pivQWRtaW5lcuaooeWei++8jOS4jeaYr1VzZXIKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdGhpcy0+X3VzZXI7CiAgICB9CgogICAgLy/nmbvlvZXorrDlvZUKICAgIHB1YmxpYyBmdW5jdGlvbiBsb2dpbkxvZygpewogICAgICAgICRyZXF1ZXN0ID0gWWlpOjokYXBwLT5nZXRSZXF1ZXN0KCk7CiAgICAgICAgJG5vd0ZpbGUgPSAkcmVxdWVzdCAtPiBnZXRTY3JpcHRGaWxlKCk7CgkJJHVybCA9ICRyZXF1ZXN0LT5nZXRVcmwoKTsKCQkkaG9zdEluZm8gPSAkcmVxdWVzdCAtPiBnZXRIb3N0SW5mbygpOwoJCSRwb3J0ID0gJHJlcXVlc3QgLT4gZ2V0UG9ydCgpOwogICAgICAgICRkYXRhID0gICLnmbvpmYbns7vnu5/vvJoiOwoJICAgICRkYXRhIC49ICJ85Z+f5ZCN77yaIi4kaG9zdEluZm87CgkJJGRhdGEgLj0gInznq6/lj6PvvJoiLiRwb3J0OwoJCSRkYXRhIC49ICJ8572R5Z2A77yaIi4kdXJsOwoJCSRkYXRhIC49ICJ86ISa5pys77yaIi4kbm93RmlsZTsKCiAgICAgICAgJG1vZGVsID0gbmV3IENMb2coKTsKICAgICAgICAkbW9kZWwtPnVzZXJuYW1lID0gJHRoaXMtPnVzZXJuYW1lOwogICAgICAgICRtb2RlbC0+aXAgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPnVzZXJJUDsKICAgICAgICAkbW9kZWwtPmRhdGEgPSAkZGF0YTsKICAgICAgICAkbW9kZWwtPmNyZWF0ZV90aW1lID0gdGltZSgpOwovLyAgICAgICAgJG1vZGVsLT5zYXZlKCk7Ci8vCQkkcmVzID0gJG1vZGVsLT5nZXRFcnJvcnMoKTsgLy/mlbDmja7kv53lrZjmiqXplJnml7blj6/ku6XnlKjmraTmiZPljbDlh7rplJnor68KCiAgICAgICAgLy/nvJbliLbpgq7ku7blj5HpgIHpgJrnn6UKCSAgICAkbWVzc2FnZXMgPSBbXTsKICAgICAgICAkbWVzc2FnZSA9IFlpaTo6JGFwcC0+bWFpbGVyLT5jb21wb3NlKCk7Ci8vICAgICAgICAkbWVzc2FnZS0+c2V0RnJvbShZaWk6OiRhcHAtPnBhcmFtc1snbm90aWNlRW1haWwnXSk7CgkgICAgCiAgICAgICAgLy9tZXNzYWdlIOe7meeZu+mZhuiAheWPkemAgQogICAgICAgICRzdWJqZWN0ID0gIui0puWPt+eZu+mZhuaPkOmGkiI7CiAgICAgICAgJGJvZHkgPSAi5oKo55qE6LSm5Y+344CQIi4kdGhpcy0+dXNlcm5hbWUuIuOAkeWImuWImueZu+mZhuS6hue9keermToiLiRyZXF1ZXN0LT5hYnNvbHV0ZVVybDsKICAgICAgICAkbWVzc2FnZS0+c2V0VG8oWWlpOjokYXBwLT51c2VyLT5pZGVudGl0eS0+ZW1haWwpOwogICAgICAgICRtZXNzYWdlLT5zZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgICAkbWVzc2FnZS0+c2V0VGV4dEJvZHkoJGJvZHkpOwogICAgICAgICRtZXNzYWdlLT5zZW5kKCk7IC8v5Y2V5Y+R5pe25Y+v55So6K+l5pa55rOV77yM576k5Y+R5pe25Lya5a+86Ie06aG16Z2i5Y2h5YGc77yM5oqlNTAy6ZSZCgkJJG1lc3NhZ2VzW10gPSAkbWVzc2FnZTsKICAKCQkvL21lc3NhZ2UyIOe7meeuoeeQhuS6uuWRmOWPkemAgQoJICAgICRtZXNzYWdlMiA9IFlpaTo6JGFwcC0+bWFpbGVyLT5jb21wb3NlKCk7CiAgICAgICAgJHN1YmplY3QgPSAi6LSm5Y+355m76ZmG5o+Q6YaSIjsKICAgICAgICAkYm9keSA9ICLov5Dnu7TotKblj7fjgJAiLiR0aGlzLT51c2VybmFtZS4i44CR5Yia5Yia55m76ZmG5LqG572R56uZOiIuJHJlcXVlc3QtPmFic29sdXRlVXJsOwogICAgICAgICRtZXNzYWdlMi0+c2V0VG8oJzEyODA4ODA2MzFAcXEuY29tJyk7CiAgICAgICAgJG1lc3NhZ2UyLT5zZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgICAkbWVzc2FnZTItPnNldFRleHRCb2R5KCRib2R5KTsKICAgICAgICAkbWVzc2FnZTItPnNlbmQoKTsKCSAgICAkbWVzc2FnZXNbXSA9ICRtZXNzYWdlMjsKCQkKCQkvL+e+pOWPkQovLwkJWWlpOjokYXBwLT5tYWlsZXItPnNlbmRNdWx0aXBsZSgkbWVzc2FnZXMpOwoJCQogICAgfQp9CgAAAAAAAAAAuA8AAAAAAAAAAAAA", + "AQAAAAAAAAABAAAADwsAAAAAAAAPCwAAAAAAAAAAAAAAAPC/" ] ] }, { - "file": "addons-ctms/config/params-area.php", + "file": "/Users/fm453/webdev/数据库备份/dacms-nodata.sql", "settings": { - "buffer_size": 990, + "buffer_size": 74250, "encoding": "UTF-8", "line_ending": "Unix" }, "undo_stack": [ ] - }, - { - "file": "ctms-admin/controllers/NewsController.php", - "settings": - { - "buffer_size": 13085, - "encoding": "UTF-8", - "line_ending": "Unix" - }, - "undo_stack": - [ - [ - 2847, - 1, - "run_macro_file", - { - "file": "res://Packages/Default/Add Line in Braces.sublime-macro" - }, - "BgAAAPwGAAAAAAAA/QYAAAAAAAAAAAAA/QYAAAAAAAAJBwAAAAAAAAAAAAAJBwAAAAAAAAoHAAAAAAAAAAAAAAoHAAAAAAAAFgcAAAAAAAAAAAAA/QYAAAAAAAD9BgAAAAAAAAwAAAAgICAgICAgICAgICD9BgAAAAAAAA0HAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAD8BgAAAAAAAPwGAAAAAAAAAAAAAAAA8L8" - ], - [ - 2848, - 1, - "insert", - { - "characters": "if" - }, - "AgAAAA0HAAAAAAAADgcAAAAAAAAAAAAADgcAAAAAAAAPBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAANBwAAAAAAAA0HAAAAAAAAAAAAAAAA8L8" - ], - [ - 2849, - 1, - "insert_snippet", - { - "contents": "($0)" - }, - "AQAAAA8HAAAAAAAAEQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAPBwAAAAAAAA8HAAAAAAAAAAAAAAAA8L8" - ], - [ - 2854, - 1, - "cut", - null, - "AQAAAFEHAAAAAAAAUQcAAAAAAAAYAAAAaXNzZXQoJGNhdHNbJHJvd1snY2lkJ11d", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABRBwAAAAAAAGkHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2857, - 1, - "paste", - null, - "AQAAABAHAAAAAAAAKAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAQBwAAAAAAABAHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2860, - 1, - "insert_snippet", - { - "contents": "{$0}" - }, - "AQAAACkHAAAAAAAAKwcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAApBwAAAAAAACkHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2861, - 1, - "run_macro_file", - { - "file": "res://Packages/Default/Add Line in Braces.sublime-macro" - }, - "BgAAACoHAAAAAAAAKwcAAAAAAAAAAAAAKwcAAAAAAAA7BwAAAAAAAAAAAAA7BwAAAAAAADwHAAAAAAAAAAAAADwHAAAAAAAATAcAAAAAAAAAAAAAKwcAAAAAAAArBwAAAAAAABAAAAAgICAgICAgICAgICAgICAgKwcAAAAAAAA/BwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAqBwAAAAAAACoHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2862, - 1, - "insert", - { - "characters": "$" - }, - "AQAAAD8HAAAAAAAAQAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA/BwAAAAAAAD8HAAAAAAAAAAAAAAAA8L8" - ], - [ - 2863, - 1, - "insert", - { - "characters": "row" - }, - "AwAAAEAHAAAAAAAAQQcAAAAAAAAAAAAAQQcAAAAAAABCBwAAAAAAAAAAAABCBwAAAAAAAEMHAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABABwAAAAAAAEAHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2864, - 1, - "insert_snippet", - { - "contents": "[$0]" - }, - "AQAAAEMHAAAAAAAARQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABDBwAAAAAAAEMHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2865, - 1, - "insert_snippet", - { - "contents": "'$0'" - }, - "AQAAAEQHAAAAAAAARgcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABEBwAAAAAAAEQHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2866, - 1, - "insert", - { - "characters": "cat_titl" - }, - "CAAAAEUHAAAAAAAARgcAAAAAAAAAAAAARgcAAAAAAABHBwAAAAAAAAAAAABHBwAAAAAAAEgHAAAAAAAAAAAAAEgHAAAAAAAASQcAAAAAAAAAAAAASQcAAAAAAABKBwAAAAAAAAAAAABKBwAAAAAAAEsHAAAAAAAAAAAAAEsHAAAAAAAATAcAAAAAAAAAAAAATAcAAAAAAABNBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABFBwAAAAAAAEUHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2867, - 1, - "insert", - { - "characters": "e" - }, - "AQAAAE0HAAAAAAAATgcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABNBwAAAAAAAE0HAAAAAAAAAAAAAAAA8L8" - ], - [ - 2869, - 1, - "insert", - { - "characters": " =" - }, - "AgAAAFAHAAAAAAAAUQcAAAAAAAAAAAAAUQcAAAAAAABSBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABQBwAAAAAAAFAHAAAAAAAA////////738" - ], - [ - 2870, - 1, - "insert", - { - "characters": " " - }, - "AQAAAFIHAAAAAAAAUwcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABSBwAAAAAAAFIHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2878, - 1, - "paste", - null, - "AQAAAFMHAAAAAAAAZQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABTBwAAAAAAAFMHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2879, - 1, - "insert_snippet", - { - "contents": "[$0]" - }, - "AQAAAGUHAAAAAAAAZwcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABlBwAAAAAAAGUHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2880, - 1, - "insert_snippet", - { - "contents": "'$0'" - }, - "AQAAAGYHAAAAAAAAaAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABmBwAAAAAAAGYHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2881, - 1, - "insert", - { - "characters": "title" - }, - "BQAAAGcHAAAAAAAAaAcAAAAAAAAAAAAAaAcAAAAAAABpBwAAAAAAAAAAAABpBwAAAAAAAGoHAAAAAAAAAAAAAGoHAAAAAAAAawcAAAAAAAAAAAAAawcAAAAAAABsBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABnBwAAAAAAAGcHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2888, - 1, - "insert", - { - "characters": ";" - }, - "AQAAAG4HAAAAAAAAbwcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABuBwAAAAAAAG4HAAAAAAAAAAAAAAAA8L8" - ], - [ - 2892, - 1, - "left_delete", - null, - "AQAAALAHAAAAAAAAsAcAAAAAAAAVAAAAJHJvd1snY2lkJ10+MCA/ICgpID8p", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACwBwAAAAAAAMUHAAAAAAAA////////738" - ], - [ - 2893, - 1, - "insert_snippet", - { - "contents": "'$0'" - }, - "AQAAALAHAAAAAAAAsgcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACwBwAAAAAAALAHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2895, - 1, - "insert", - { - "characters": ";" - }, - "AQAAALIHAAAAAAAAswcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACyBwAAAAAAALIHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2897, - 1, - "cut", - null, - "AQAAAJwHAAAAAAAAnAcAAAAAAAAXAAAAJHJvd1snY2F0X3RpdGxlJ10gPSAnJzs", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACzBwAAAAAAAJwHAAAAAAAAAAAAAAAAWEA" - ], - [ - 2900, - 1, - "insert", - { - "characters": "\n" - }, - "AgAAAN0GAAAAAAAA3gYAAAAAAAAAAAAA3gYAAAAAAADqBgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADdBgAAAAAAAN0GAAAAAAAAAAAAAAAA8L8" - ], - [ - 2901, - 1, - "paste", - null, - "AQAAAOoGAAAAAAAAAQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADqBgAAAAAAAOoGAAAAAAAAAAAAAAAA8L8" - ], - [ - 2905, - 2, - "left_delete", - null, - "AgAAALQHAAAAAAAAtAcAAAAAAAAMAAAAICAgICAgICAgICAgswcAAAAAAACzBwAAAAAAAAEAAAAK", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADABwAAAAAAALQHAAAAAAAAAAAAAAAAAAA" - ], - [ - 2908, - 1, - "insert", - { - "characters": " =" - }, - "AgAAAMoHAAAAAAAAywcAAAAAAAAAAAAAywcAAAAAAADMBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADKBwAAAAAAAMoHAAAAAAAA////////738" - ], - [ - 2909, - 1, - "insert", - { - "characters": " $" - }, - "AgAAAMwHAAAAAAAAzQcAAAAAAAAAAAAAzQcAAAAAAADOBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMBwAAAAAAAMwHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2910, - 1, - "insert", - { - "characters": "row;" - }, - "BAAAAM4HAAAAAAAAzwcAAAAAAAAAAAAAzwcAAAAAAADQBwAAAAAAAAAAAADQBwAAAAAAANEHAAAAAAAAAAAAANEHAAAAAAAA0gcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADOBwAAAAAAAM4HAAAAAAAAAAAAAAAA8L8" - ], - [ - 2917, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADcBwAAAAAAANwHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2920, - 4, - "left_delete", - null, - "BAAAACsGAAAAAAAAKwYAAAAAAAABAAAAcyoGAAAAAAAAKgYAAAAAAAABAAAAdykGAAAAAAAAKQYAAAAAAAABAAAAbygGAAAAAAAAKAYAAAAAAAABAAAAcg", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAsBgAAAAAAACwGAAAAAAAAAAAAAAAA8L8" - ], - [ - 2921, - 1, - "insert", - { - "characters": "list" - }, - "BAAAACgGAAAAAAAAKQYAAAAAAAAAAAAAKQYAAAAAAAAqBgAAAAAAAAAAAAAqBgAAAAAAACsGAAAAAAAAAAAAACsGAAAAAAAALAYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAoBgAAAAAAACgGAAAAAAAAAAAAAAAA8L8" - ], - [ - 2924, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAvBgAAAAAAAC8GAAAAAAAAAAAAAAAA8L8" - ], - [ - 2927, - 1, - "insert", - { - "characters": ";" - }, - "AQAAABEGAAAAAAAAEgYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAARBgAAAAAAABEGAAAAAAAAAAAAAAAA8L8" - ], - [ - 2928, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAASBgAAAAAAABIGAAAAAAAAAAAAAAAA8L8" - ], - [ - 2943, - 4, - "left_delete", - null, - "BAAAAPkbAAAAAAAA+RsAAAAAAAABAAAAc/gbAAAAAAAA+BsAAAAAAAABAAAAd/cbAAAAAAAA9xsAAAAAAAABAAAAb/YbAAAAAAAA9hsAAAAAAAABAAAAcg", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAD6GwAAAAAAAPobAAAAAAAAAAAAAAAA8L8" - ], - [ - 2944, - 1, - "insert", - { - "characters": "lis" - }, - "AwAAAPYbAAAAAAAA9xsAAAAAAAAAAAAA9xsAAAAAAAD4GwAAAAAAAAAAAAD4GwAAAAAAAPkbAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAD2GwAAAAAAAPYbAAAAAAAAAAAAAAAA8L8" - ], - [ - 2945, - 1, - "insert", - { - "characters": "t" - }, - "AQAAAPkbAAAAAAAA+hsAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAD5GwAAAAAAAPkbAAAAAAAAAAAAAAAA8L8" - ], - [ - 2948, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAiHAAAAAAAACIcAAAAAAAAAAAAAAAA8L8" - ], - [ - 2957, - 1, - "insert", - { - "characters": "\n" - }, - "AgAAAPEFAAAAAAAA8gUAAAAAAAAAAAAA8gUAAAAAAAD2BQAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADxBQAAAAAAAPEFAAAAAAAAAAAAAAAA8L8" - ], - [ - 2976, - 1, - "insert", - { - "characters": ")" - }, - "AQAAAFMHAAAAAAAAVAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABTBwAAAAAAAFMHAAAAAAAAAAAAAAAA8L8" - ], - [ - 2980, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAABCQAAAAAAAAEJAAAAAAAAAAAAAAAA8L8" - ], - [ - 2989, - 1, - "insert", - { - "characters": "\n" - }, - "AgAAAMgYAAAAAAAAyRgAAAAAAAAAAAAAyRgAAAAAAADZGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADIGAAAAAAAAMgYAAAAAAAAAAAAAAAA8L8" - ], - [ - 2990, - 1, - "insert", - { - "characters": "$ids" - }, - "BAAAANkYAAAAAAAA2hgAAAAAAAAAAAAA2hgAAAAAAADbGAAAAAAAAAAAAADbGAAAAAAAANwYAAAAAAAAAAAAANwYAAAAAAAA3RgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADZGAAAAAAAANkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 2991, - 1, - "insert_snippet", - { - "contents": "[$0]" - }, - "AQAAAN0YAAAAAAAA3xgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADdGAAAAAAAAN0YAAAAAAAAAAAAAAAA8L8" - ], - [ - 2994, - 1, - "insert", - { - "characters": " =" - }, - "AgAAAN8YAAAAAAAA4BgAAAAAAAAAAAAA4BgAAAAAAADhGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADfGAAAAAAAAN8YAAAAAAAA////////738" - ], - [ - 2995, - 1, - "insert", - { - "characters": " $" - }, - "AgAAAOEYAAAAAAAA4hgAAAAAAAAAAAAA4hgAAAAAAADjGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADhGAAAAAAAAOEYAAAAAAAAAAAAAAAA8L8" - ], - [ - 2996, - 1, - "insert", - { - "characters": "r->" - }, - "AwAAAOMYAAAAAAAA5BgAAAAAAAAAAAAA5BgAAAAAAADlGAAAAAAAAAAAAADlGAAAAAAAAOYYAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADjGAAAAAAAAOMYAAAAAAAAAAAAAAAA8L8" - ], - [ - 2997, - 1, - "insert", - { - "characters": "id;" - }, - "AwAAAOYYAAAAAAAA5xgAAAAAAAAAAAAA5xgAAAAAAADoGAAAAAAAAAAAAADoGAAAAAAAAOkYAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADmGAAAAAAAAOYYAAAAAAAAAAAAAAAA8L8" - ], - [ - 2998, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3007, - 1, - "insert", - { - "characters": "href" - }, - "BQAAAN0pAAAAAAAA3ikAAAAAAAAAAAAA3ikAAAAAAADeKQAAAAAAAAQAAABlZGl03ikAAAAAAADfKQAAAAAAAAAAAADfKQAAAAAAAOApAAAAAAAAAAAAAOApAAAAAAAA4SkAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3012, - 1, - "left_delete", - null, - "AQAAADEqAAAAAAAAMSoAAAAAAAAFAAAAZmFsc2U", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3013, - 1, - "insert_snippet", - { - "contents": "'$0'" - }, - "AQAAADEqAAAAAAAAMyoAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3014, - 1, - "insert", - { - "characters": "href" - }, - "BAAAADIqAAAAAAAAMyoAAAAAAAAAAAAAMyoAAAAAAAA0KgAAAAAAAAAAAAA0KgAAAAAAADUqAAAAAAAAAAAAADUqAAAAAAAANioAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3015, - 1, - "insert", - { - "characters": "=" - }, - "AQAAADYqAAAAAAAANyoAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3016, - 1, - "insert", - { - "characters": "\"\"" - }, - "AgAAADcqAAAAAAAAOCoAAAAAAAAAAAAAOCoAAAAAAAA5KgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3017, - 1, - "insert", - { - "characters": "<>" - }, - "AgAAADkqAAAAAAAAOioAAAAAAAAAAAAAOioAAAAAAAA7KgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3018, - 2, - "left_delete", - null, - "AgAAADoqAAAAAAAAOioAAAAAAAABAAAAPjkqAAAAAAAAOSoAAAAAAAABAAAAPA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3021, - 1, - "insert", - { - "characters": " " - }, - "AQAAADgqAAAAAAAAOSoAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3025, - 1, - "insert", - { - "characters": ".." - }, - "AgAAADgqAAAAAAAAOSoAAAAAAAAAAAAAOSoAAAAAAAA6KgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3029, - 1, - "insert_snippet", - { - "contents": "'${0:$SELECTION}'" - }, - "AgAAADgqAAAAAAAAOCoAAAAAAAADAAAALi4gOCoAAAAAAAA9KgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3033, - 1, - "left_delete", - null, - "AQAAADsqAAAAAAAAOyoAAAAAAAABAAAAIA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3035, - 1, - "insert", - { - "characters": " " - }, - "AQAAADgqAAAAAAAAOSoAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3037, - 1, - "insert", - { - "characters": " " - }, - "AgAAADsqAAAAAAAAPCoAAAAAAAAAAAAAPCoAAAAAAAA9KgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3039, - 1, - "insert", - { - "characters": "u" - }, - "AQAAADwqAAAAAAAAPSoAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3040, - 1, - "left_delete", - null, - "AQAAADwqAAAAAAAAPCoAAAAAAAABAAAAdQ", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3045, - 1, - "paste", - null, - "AQAAADwqAAAAAAAAbioAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3048, - 1, - "insert", - { - "characters": "modify" - }, - "BwAAAEsqAAAAAAAATCoAAAAAAAAAAAAATCoAAAAAAABMKgAAAAAAAA4AAABuZXdzY2F0L3NlbGVjdEwqAAAAAAAATSoAAAAAAAAAAAAATSoAAAAAAABOKgAAAAAAAAAAAABOKgAAAAAAAE8qAAAAAAAAAAAAAE8qAAAAAAAAUCoAAAAAAAAAAAAAUCoAAAAAAABRKgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3051, - 1, - "left_delete", - null, - "AQAAAFMqAAAAAAAAUyoAAAAAAAARAAAAJ2NhbGxiYWNrJz0+J2NpZCc", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3052, - 1, - "left_delete", - null, - "AQAAAFIqAAAAAAAAUioAAAAAAAABAAAALA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3054, - 1, - "left_delete", - null, - "AQAAAFIqAAAAAAAAUioAAAAAAAABAAAAXQ", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3056, - 1, - "left_delete", - null, - "AQAAAEkqAAAAAAAASSoAAAAAAAABAAAAWw", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3057, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3064, - 1, - "insert", - { - "characters": "fale" - }, - "BQAAADEqAAAAAAAAMioAAAAAAAAAAAAAMioAAAAAAAAyKgAAAAAAACYAAAAnaHJlZj0iICcuIFVybDo6dG9Sb3V0ZSgnbW9kaWZ5JykgLiciJzIqAAAAAAAAMyoAAAAAAAAAAAAAMyoAAAAAAAA0KgAAAAAAAAAAAAA0KgAAAAAAADUqAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3065, - 1, - "left_delete", - null, - "AQAAADQqAAAAAAAANCoAAAAAAAABAAAAZQ", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3066, - 1, - "insert", - { - "characters": "se" - }, - "AgAAADQqAAAAAAAANSoAAAAAAAAAAAAANSoAAAAAAAA2KgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3067, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3070, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3073, - 1, - "left_delete", - null, - "AQAAAPcDAAAAAAAA9wMAAAAAAAABAAAAIA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpGAAAAAAAAOkYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3074, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADoGAAAAAAAAOgYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3081, - 1, - "cut", - null, - "AQAAANQFAAAAAAAA1AUAAAAAAAA+AwAAcHVibGljIGZ1bmN0aW9uIGFjdGlvbkpzb24oKQogICAgewogICAgICAgICRyZXMgPSAkdGhpcy0+c2VhcmNoKCk7CiAgICAgICAgJGxpc3QgPSAkcmVzWydsaXN0J107CiAgICAgICAgJGlkcyA9ICRyZXNbJ2lkcyddOwogICAgICAgICRwY2F0cyA9ICRyZXNbJ3BjYXRzJ107CiAgICAgICAgJGNhdHMgPSAkcmVzWydjYXRzJ107CiAgICAgICAgJG5ld0xpc3QgPSBbXTsKICAgICAgICBmb3JlYWNoKCRpZHMgYXMgJGlkKXsKICAgICAgICAgICAgJHJvdyA9ICRsaXN0WyRpZF07CiAgICAgICAgICAgICRyb3dbJ2NhdF90aXRsZSddID0gJyc7CiAgICAgICAgICAgIGlmKCRyb3dbJ2NpZCddPjApewogICAgICAgICAgICAgICAgaWYoaXNzZXQoJGNhdHNbJHJvd1snY2lkJ11dKSl7CiAgICAgICAgICAgICAgICAgICAgJHJvd1snY2F0X3RpdGxlJ10gPSAkY2F0c1skcm93WydjaWQnXV1bJ3RpdGxlJ107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJG5ld0xpc3RbXSA9ICRyb3c7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRkYXRhID0gW107CiAgICAgICAgJGRhdGFbJ3RvdGFsJ10gPSAkcmVzWyd0b3RhbCddOwogICAgICAgICRkYXRhWyd0b3RhbE5vdEZpbHRlcmVkJ10gPSAkcmVzWyd0b3RhbCddOwogICAgICAgICRkYXRhWydyb3dzJ10gPSAkbmV3TGlzdDsKICAgICAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTphcHBsaWNhdGlvbi9qc29uJyk7CiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkZGF0YSxKU09OX1VORVNDQVBFRF9VTklDT0RFKSk7ICAgLy/ms6jmhI/kuI3opoHliqDlvLrliLZvYmplY3Tlj4LmlbAKICAgIH0", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADoGAAAAAAAAOgYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3084, - 1, - "left_delete", - null, - "AQAAANAFAAAAAAAA0AUAAAAAAAAEAAAAICAgIA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC8FQAAAAAAALwVAAAAAAAAAAAAAAAA8L8" - ], - [ - 3086, - 2, - "left_delete", - null, - "AgAAANAFAAAAAAAA0AUAAAAAAAABAAAACs8FAAAAAAAAzwUAAAAAAAABAAAACg", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC4FQAAAAAAALgVAAAAAAAAAAAAAAAA8L8" - ], - [ - 3089, - 1, - "reindent", - null, - "AQAAAOkPAAAAAAAA7Q8AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC2FQAAAAAAALYVAAAAAAAAAAAAAAAA8L8" - ], - [ - 3090, - 1, - "insert", - { - "characters": "\n" - }, - "AwAAAO0PAAAAAAAA7g8AAAAAAAAAAAAA7g8AAAAAAADyDwAAAAAAAAAAAADpDwAAAAAAAOkPAAAAAAAABAAAACAgICA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC6FQAAAAAAALoVAAAAAAAAAAAAAAAA8L8" - ], - [ - 3091, - 1, - "paste", - null, - "AQAAAO4PAAAAAAAAGhMAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC7FQAAAAAAALsVAAAAAAAAAAAAAAAA8L8" - ], - [ - 3092, - 1, - "insert", - { - "characters": "\n" - }, - "AgAAABoTAAAAAAAAGxMAAAAAAAAAAAAAGxMAAAAAAAAfEwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADnGAAAAAAAAOcYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3099, - 1, - "insert", - { - "characters": "\n\n" - }, - "BgAAAM4FAAAAAAAAzwUAAAAAAAAAAAAAzwUAAAAAAADTBQAAAAAAAAAAAAAgEwAAAAAAACATAAAAAAAABAAAACAgICDTBQAAAAAAANQFAAAAAAAAAAAAANQFAAAAAAAA2AUAAAAAAAAAAAAAzwUAAAAAAADPBQAAAAAAAAQAAAAgICAg", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADsGAAAAAAAAOwYAAAAAAAAAAAAAAAA8L8" - ], - [ - 3100, - 1, - "paste", - null, - "AQAAANQFAAAAAAAAfRoAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADuGAAAAAAAAO4YAAAAAAAAAAAAAAAA8L8" - ], - [ - 3109, - 1, - "insert", - { - "characters": "$this" - }, - "BgAAAGoGAAAAAAAAawYAAAAAAAAAAAAAawYAAAAAAABrBgAAAAAAABoAAABZaWk6OiRhcHAtPnJlcXVlc3QtPnBvc3QoKWsGAAAAAAAAbAYAAAAAAAAAAAAAbAYAAAAAAABtBgAAAAAAAAAAAABtBgAAAAAAAG4GAAAAAAAAAAAAAG4GAAAAAAAAbwYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACXLQAAAAAAAJctAAAAAAAAAAAAAAAA8L8" - ], - [ - 3110, - 1, - "insert", - { - "characters": "-" - }, - "AQAAAG8GAAAAAAAAcAYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACCLQAAAAAAAIItAAAAAAAAAAAAAAAA8L8" - ], - [ - 3111, - 1, - "insert", - { - "characters": ">postda" - }, - "BwAAAHAGAAAAAAAAcQYAAAAAAAAAAAAAcQYAAAAAAAByBgAAAAAAAAAAAAByBgAAAAAAAHMGAAAAAAAAAAAAAHMGAAAAAAAAdAYAAAAAAAAAAAAAdAYAAAAAAAB1BgAAAAAAAAAAAAB1BgAAAAAAAHYGAAAAAAAAAAAAAHYGAAAAAAAAdwYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACDLQAAAAAAAIMtAAAAAAAAAAAAAAAA8L8" - ], - [ - 3112, - 1, - "insert", - { - "characters": "ta" - }, - "AgAAAHcGAAAAAAAAeAYAAAAAAAAAAAAAeAYAAAAAAAB5BgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACKLQAAAAAAAIotAAAAAAAAAAAAAAAA8L8" - ], - [ - 3119, - 1, - "insert", - { - "characters": "$this" - }, - "BgAAAAYGAAAAAAAABwYAAAAAAAAAAAAABwYAAAAAAAAHBgAAAAAAAB4AAABZaWk6OiRhcHAtPnNlc3Npb24tPmdldCgncGlkJykHBgAAAAAAAAgGAAAAAAAAAAAAAAgGAAAAAAAACQYAAAAAAAAAAAAACQYAAAAAAAAKBgAAAAAAAAAAAAAKBgAAAAAAAAsGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACMLQAAAAAAAIwtAAAAAAAAAAAAAAAA8L8" - ], - [ - 3120, - 1, - "insert", - { - "characters": "->pi" - }, - "BAAAAAsGAAAAAAAADAYAAAAAAAAAAAAADAYAAAAAAAANBgAAAAAAAAAAAAANBgAAAAAAAA4GAAAAAAAAAAAAAA4GAAAAAAAADwYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABzLQAAAAAAAHMtAAAAAAAAAAAAAAAA8L8" - ], - [ - 3121, - 1, - "insert", - { - "characters": "d" - }, - "AQAAAA8GAAAAAAAAEAYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAB3LQAAAAAAAHctAAAAAAAAAAAAAAAA8L8" - ], - [ - 3125, - 1, - "left_delete", - null, - "AQAAABoGAAAAAAAAGgYAAAAAAAArAAAAJHN0YXR1cyA9IFlpaTo6JGFwcC0+cGFyYW1zWydPcmRlclN0YXR1cyddOw", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAB4LQAAAAAAAHgtAAAAAAAAAAAAAAAA8L8" - ], - [ - 3127, - 2, - "left_delete", - null, - "AgAAABIGAAAAAAAAEgYAAAAAAAAIAAAAICAgICAgICARBgAAAAAAABEGAAAAAAAAAQAAAAo", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABNLQAAAAAAAE0tAAAAAAAAAAAAAAAA8L8" - ], - [ - 3134, - 1, - "insert", - { - "characters": "News" - }, - "BQAAAGsGAAAAAAAAbAYAAAAAAAAAAAAAbAYAAAAAAABsBgAAAAAAAAUAAABPcmRlcmwGAAAAAAAAbQYAAAAAAAAAAAAAbQYAAAAAAABuBgAAAAAAAAAAAABuBgAAAAAAAG8GAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABELQAAAAAAAEQtAAAAAAAAAAAAAAAA8L8" - ], - [ - 3138, - 1, - "insert", - { - "characters": "News" - }, - "BQAAAHgGAAAAAAAAeQYAAAAAAAAAAAAAeQYAAAAAAAB5BgAAAAAAAAUAAABPcmRlcnkGAAAAAAAAegYAAAAAAAAAAAAAegYAAAAAAAB7BgAAAAAAAAAAAAB7BgAAAAAAAHwGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABDLQAAAAAAAEMtAAAAAAAAAAAAAAAA8L8" - ], - [ - 3145, - 1, - "insert", - { - "characters": "news" - }, - "BQAAAIkGAAAAAAAAigYAAAAAAAAAAAAAigYAAAAAAACKBgAAAAAAAAUAAABvcmRlcooGAAAAAAAAiwYAAAAAAAAAAAAAiwYAAAAAAACMBgAAAAAAAAAAAACMBgAAAAAAAI0GAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABCLQAAAAAAAEItAAAAAAAAAAAAAAAA8L8" - ], - [ - 3150, - 1, - "insert", - { - "characters": "News" - }, - "BQAAAJMGAAAAAAAAlAYAAAAAAAAAAAAAlAYAAAAAAACUBgAAAAAAAAUAAABPcmRlcpQGAAAAAAAAlQYAAAAAAAAAAAAAlQYAAAAAAACWBgAAAAAAAAAAAACWBgAAAAAAAJcGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABBLQAAAAAAAEEtAAAAAAAAAAAAAAAA8L8" - ], - [ - 3157, - 1, - "insert", - { - "characters": "news" - }, - "BQAAALoGAAAAAAAAuwYAAAAAAAAAAAAAuwYAAAAAAAC7BgAAAAAAAAUAAABvcmRlcrsGAAAAAAAAvAYAAAAAAAAAAAAAvAYAAAAAAAC9BgAAAAAAAAAAAAC9BgAAAAAAAL4GAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABALQAAAAAAAEAtAAAAAAAAAAAAAAAA8L8" - ], - [ - 3165, - 1, - "left_delete", - null, - "AQAAANMGAAAAAAAA0wYAAAAAAAASAgAAJGltZ0tleXMgPSBbJ2RyaXZpbmdfbGlzZW5jZScsJ3RodW1iX2YnLCd0aHVtYl9iJywndGh1bWJfbCcsJ3RodW1iX3InXTsKICAgICAgICBmb3JlYWNoICgkaW1nS2V5cyBhcyAkaykgewogICAgICAgICAgICAkZGV0YWlsWyRrXSA9ICRkZXRhaWxbJGtdID8gJGRldGFpbFska10gOiAnJzsKICAgICAgICAgICAgJHVybF9wcmUgPSBzdWJzdHIoJGRldGFpbFska10sIDAsIDQpOwogICAgICAgICAgICBpZiAoJHVybF9wcmUgPT0nL3BpYycpIHsKICAgICAgICAgICAgICAgICRkZXRhaWxbJGsuJ191cmwnXSA9IFVybDo6dG8oJ0B1cGxvYWQnLiRkZXRhaWxbJGtdKTsKICAgICAgICAgICAgfSBlbHNlaWYgKCR1cmxfcHJlID09J2h0dHAnKSB7CiAgICAgICAgICAgICAgICAkZGV0YWlsWyRrLidfdXJsJ10gPSAkZGV0YWlsWyRrXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRkZXRhaWxbJGsuJ191cmwnXSA9IFVybDo6dG8oJ0B1cGxvYWQvcGljcy9ub3BpYy5qcGcnKTsKICAgICAgICAgICAgfQogICAgICAgIH0", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA/LQAAAAAAAD8tAAAAAAAAAAAAAAAA8L8" - ], - [ - 3168, - 1, - "left_delete", - null, - "AQAAANMGAAAAAAAA0wYAAAAAAABWAgAACgogICAgICAgICRkZXRhaWxbJ3RodW1icyddID0gJGRldGFpbFsndGh1bWJzJ10/anNvbl9kZWNvZGUoJGRldGFpbFsndGh1bWJzJ10pOltdOwogICAgICAgIGlmICgkZGV0YWlsWyd0aHVtYnMnXSkgewogICAgICAgICAgICAkdGh1bWJzID0gJGRldGFpbFsndGh1bWJzJ107CiAgICAgICAgICAgICR0aHVtYnNfdXJsID0gW107CiAgICAgICAgICAgIGZvcmVhY2ggKCR0aHVtYnMgYXMgJGs9PiR2KSB7CiAgICAgICAgICAgICAgICAkdXJsX3ByZSA9IHN1YnN0cigkdiwgMCwgNCk7CiAgICAgICAgICAgICAgICBpZiAoJHVybF9wcmUgPT0nL3BpYycpIHsKICAgICAgICAgICAgICAgICAgICAkdl91cmwgPSBVcmw6OnRvKCdAdXBsb2FkJy4kdik7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJHVybF9wcmUgPT0naHR0cCcpIHsKICAgICAgICAgICAgICAgICAgICAkdl91cmwgPSAkdjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR0aHVtYnNfdXJsWyRrXSA9IFsnc3JjJz0+JHYsJ3VybCc9PiR2X3VybF07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGRldGFpbFsndGh1bWJzX3VybCddID0gJHRodW1ic191cmw7CiAgICAgICAgfQ", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAtKwAAAAAAAC0rAAAAAAAAAAAAAAAA8L8" - ], - [ - 3178, - 1, - "left_delete", - null, - "AQAAAN0GAAAAAAAA3QYAAAAAAACjBgAAJG1vZGVsID0gbmV3IEFjU3RvcmUoKTsKICAgICAgICAkc3RvcmUgPSAkbW9kZWwtPmZpbmRPbmUoJGRldGFpbFsnc3RvcmVfaWQnXSk7CiAgICAgICAgaWYgKCRzdG9yZSkgewogICAgICAgICAgICAkZGV0YWlsWydzdG9yZV90aXRsZSddID0gJHN0b3JlLT50aXRsZTsKICAgICAgICB9CgogICAgICAgICRtb2RlbCA9IG5ldyBBY0VtcGxveWVlKCk7CiAgICAgICAgJGVtcGxveWVlID0gJG1vZGVsLT5maW5kT25lKCRkZXRhaWxbJ2VtcGxveWVlX2lkJ10pOwogICAgICAgIGlmICgkZW1wbG95ZWUpIHsKICAgICAgICAgICAgJGRldGFpbFsnZW1wbG95ZWVfdGl0bGUnXSA9ICRlbXBsb3llZS0+bmFtZTsKICAgICAgICB9CgogICAgICAgICRkZXRhaWxbJ2Nhcl9vd25lcl9pZCddPSRkZXRhaWxbJ2Nhcl9icmFuZF9pZCddPSRkZXRhaWxbJ2Nhcl9zZXJpZXNfaWQnXT0wOwogICAgICAgICRtb2RlbCA9IG5ldyBBY0NhcigpOwogICAgICAgICRjYXIgPSAkbW9kZWwtPmZpbmRPbmUoJGRldGFpbFsnY2FyX2lkJ10pOwogICAgICAgIGlmICgkY2FyKSB7CiAgICAgICAgICAgICRkZXRhaWxbJ2Nhcl9vd25lcl9pZCddID0gJGNhci0+b3duZXJfaWQ7CiAgICAgICAgICAgICRkZXRhaWxbJ2Nhcl9icmFuZF9pZCddID0gJGNhci0+YnJhbmRfaWQ7CiAgICAgICAgICAgICRkZXRhaWxbJ2Nhcl9zZXJpZXNfaWQnXSA9ICRjYXItPnNlcmllc19pZDsKICAgICAgICAgICAgJGRldGFpbFsnY2FyX251bWJlciddID0gJGNhci0+bnVtX3AuJGNhci0+bnVtX2FyZWEuJGNhci0+bnVtX2xlZnQ7CiAgICAgICAgICAgICRkZXRhaWxbJ2Nhcl9udW1iZXInXSA9ICRkZXRhaWxbJ2Nhcl9udW1iZXInXSA/ICRkZXRhaWxbJ2Nhcl9udW1iZXInXSA6ICRjYXItPm51bV9mcmFtZTsKICAgICAgICB9CgogICAgICAgICRtb2RlbCA9IG5ldyBGYW5zKCk7CiAgICAgICAgJHVzZXIgPSAkbW9kZWwtPmZpbmRPbmUoJGRldGFpbFsnZnJvbV9taWQnXSk7CgogICAgICAgICRBY0Nhck93bmVyID0gbmV3IEFjQ2FyT3duZXIoKTsKICAgICAgICAkb3duZXIgPSAkQWNDYXJPd25lci0+ZmluZE9uZSgkZGV0YWlsWydjYXJfb3duZXJfaWQnXSk7CiAgICAgICAgaWYgKCRvd25lcikgewogICAgICAgICAgICAvLyAkX293bmVyID0gRmFuczo6ZmluZE9uZSgkZGV0YWlsWydjYXJfb3duZXJfaWQnXSk7ICAvL2ZhbnPooajmm7TmlrDvvIzlt7Lml6DmraTlrZfmrrUKICAgICAgICAgICAgLy8gJGRldGFpbFsnY2FyX293bmVyJ10gPSAkX293bmVyLT51c2VybmFtZS4n44CQJy4kX293bmVyLT5tb2JpbGUuJ+OAkSc7CiAgICAgICAgfQoKICAgICAgICAkQWNDYXJCcmFuZCA9IG5ldyBBY0NhckJyYW5kKCk7CiAgICAgICAgJGJyYW5kID0gJEFjQ2FyQnJhbmQtPmZpbmRPbmUoJGRldGFpbFsnY2FyX2JyYW5kX2lkJ10pOwogICAgICAgIGlmICgkYnJhbmQpIHsKICAgICAgICAgICAgJGRldGFpbFsnY2FyX3RpdGxlJ10gPSAkYnJhbmQtPnRpdGxlOwogICAgICAgIH0KCiAgICAgICAgJEFjQ2FyU2VyaWVzID0gbmV3IEFjQ2FyU2VyaWVzKCk7CiAgICAgICAgJHdoZXJlID0gW107CiAgICAgICAgJHNlcmllcz0gJEFjQ2FyU2VyaWVzLT5maW5kT25lKCRkZXRhaWxbJ2Nhcl9zZXJpZXNfaWQnXSk7CiAgICAgICAgaWYgKCRzZXJpZXMpIHsKICAgICAgICAgICAgJGRldGFpbFsnY2FyX3RpdGxlJ10gLj0gJHNlcmllcy0+dGl0bGU7CiAgICAgICAgfQ", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADXKAAAAAAAANcoAAAAAAAAAAAAAAAA8L8" - ], - [ - 3182, - 1, - "left_delete", - null, - "AQAAAMsGAAAAAAAAywYAAAAAAAAUAAAAICAgICAgICAKCiAgICAgICAgCgo", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABKIgAAAAAAAEoiAAAAAAAAAAAAAAAA8L8" - ], - [ - 3188, - 1, - "left_delete", - null, - "AQAAADEIAAAAAAAAMQgAAAAAAAASAAAAJ3N0YXR1cyc9PiRzdGF0dXMs", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA2IgAAAAAAADYiAAAAAAAAAAAAAAAA8L8" - ], - [ - 3190, - 2, - "left_delete", - null, - "AgAAACUIAAAAAAAAJQgAAAAAAAAMAAAAICAgICAgICAgICAgJAgAAAAAAAAkCAAAAAAAAAEAAAAK", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAkIgAAAAAAACQiAAAAAAAAAAAAAAAA8L8" - ], - [ - 3200, - 1, - "left_delete", - null, - "AQAAABkHAAAAAAAAGQcAAAAAAADPAAAAaWYgKCRvcD09J3ByaW50JykgewogICAgICAgICAgICAkdHBsID0gJ3ByaW50JzsKICAgICAgICAgICAgJHNuID0gJzAwMDAwMDAwMDAwJzsgICAgLy8xMeS9jQogICAgICAgICAgICAkc24gPSBzdWJzdHIoJHNuLCAwLCAxMS1zdHJsZW4oJGlkKSk7CiAgICAgICAgICAgICRzbiAuPSRpZDsKICAgICAgICAgICAgJGRldGFpbFsnc24nXSA9ICRzbjsKICAgICAgICB9", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAXIgAAAAAAABciAAAAAAAAAAAAAAAA8L8" - ], - [ - 3202, - 2, - "left_delete", - null, - "AgAAABEHAAAAAAAAEQcAAAAAAAAIAAAAICAgICAgICAQBwAAAAAAABAHAAAAAAAAAQAAAAo", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABKIQAAAAAAAEohAAAAAAAAAAAAAAAA8L8" - ], - [ - 3206, - 1, - "left_delete", - null, - "AQAAANMGAAAAAAAA0wYAAAAAAAAkAAAAJG9wID0gWWlpOjokYXBwLT5yZXF1ZXN0LT5nZXQoJ29wJyk7", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABBIQAAAAAAAEEhAAAAAAAAAAAAAAAA8L8" - ], - [ - 3208, - 1, - "left_delete", - null, - "AQAAAMsGAAAAAAAAywYAAAAAAAAIAAAAICAgICAgICA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAdIQAAAAAAAB0hAAAAAAAAAAAAAAAA8L8" - ], - [ - 3213, - 1, - "left_delete", - null, - "AQAAAE4HAAAAAAAATgcAAAAAAAAzAAAAJ3N0b3JlJz0+JHN0b3JlLAogICAgICAgICAgICAnZW1wbG95ZWUnPT4kZW1wbG95ZWUs", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAVIQAAAAAAABUhAAAAAAAAAAAAAAAA8L8" - ], - [ - 3215, - 2, - "left_delete", - null, - "AgAAAEIHAAAAAAAAQgcAAAAAAAAMAAAAICAgICAgICAgICAgQQcAAAAAAABBBwAAAAAAAAEAAAAK", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADiIAAAAAAAAOIgAAAAAAAAAAAAAAAA8L8" - ], - [ - 3223, - 1, - "indent", - null, - "AwAAACMHAAAAAAAAJwcAAAAAAAAAAAAARgcAAAAAAABKBwAAAAAAAAAAAABgBwAAAAAAAGQHAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADVIAAAAAAAANUgAAAAAAAAAAAAAAAA8L8" - ], - [ - 3225, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADhIAAAAAAAAOEgAAAAAAAAAAAAAAAA8L8" - ], - [ - 3235, - 1, - "left_delete", - null, - "AQAAALwHAAAAAAAAvAcAAAAAAAAFBgAAJHBpZCA9IFlpaTo6JGFwcC0+c2Vzc2lvbi0+Z2V0KCdwaWQnKTsKICAgICAgICAkc3RhdHVzID0gWWlpOjokYXBwLT5wYXJhbXNbJ09yZGVyU3RhdHVzJ107CiAgICAgICAgJHBvc3QgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPnBvc3QoKTsKICAgICAgICAkaWQgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPmdldCgnaWQnKTsKICAgICAgICAkQWNPcmRlciA9IG5ldyBBY09yZGVyKCk7CiAgICAgICAgJG9yZGVyID0gJEFjT3JkZXItPmZpbmRPbmUoJGlkKTsKICAgICAgICAkZGV0YWlsID0gJG9yZGVyLT50b0FycmF5KCk7CiAgICAgICAgJGltZ0tleXMgPSBbJ2RyaXZpbmdfbGlzZW5jZScsJ3RodW1iX2YnLCd0aHVtYl9iJywndGh1bWJfbCcsJ3RodW1iX3InXTsKICAgICAgICBmb3JlYWNoICgkaW1nS2V5cyBhcyAkaykgewogICAgICAgICAgICAkZGV0YWlsWyRrXSA9ICcnOwogICAgICAgICAgICAkZGV0YWlsWyRrLidfdXJsJ10gPSAnJzsKICAgICAgICB9CiAgICAgICAgJGRldGFpbFsndGh1bWJzJ10gPSBbXTsKICAgICAgICAkZGV0YWlsWyd0aHVtYnNfdXJsJ10gPSBbXTsKICAgICAgICAkZGV0YWlsWydyZW1hcmsnXSA9ICcnOwogICAgICAgICRkZXRhaWxbJ3N0YXJ0X2ttJ10gPSAnJzsKICAgICAgICAkZGV0YWlsWydjaGVja2VyJ10gPSAnJzsKICAgICAgICAkZGV0YWlsWydpc19jaGVja2VkJ10gPSAwOwogICAgICAgICRkZXRhaWxbJ2NyZWF0ZV9ieSddID0gbnVsbDsKICAgICAgICAkZGV0YWlsWydub19kcml2aW5nX2xpc2VuY2UnXSA9IDA7CiAgICAgICAgdW5zZXQoJGRldGFpbFsnaWQnXSk7CgogICAgICAgICRtb2RlbCA9IG5ldyBBY1N0b3JlKCk7CiAgICAgICAgJHN0b3JlID0gJG1vZGVsLT5maW5kT25lKCRkZXRhaWxbJ3N0b3JlX2lkJ10pOwogICAgICAgIGlmICgkc3RvcmUpIHsKICAgICAgICAgICAgJGRldGFpbFsnc3RvcmVfdGl0bGUnXSA9ICRzdG9yZS0+dGl0bGU7CiAgICAgICAgfQoKICAgICAgICAkbW9kZWwgPSBuZXcgQWNFbXBsb3llZSgpOwogICAgICAgICRlbXBsb3llZSA9ICRtb2RlbC0+ZmluZE9uZSgkZGV0YWlsWydlbXBsb3llZV9pZCddKTsKICAgICAgICBpZiAoJGVtcGxveWVlKSB7CiAgICAgICAgICAgICRkZXRhaWxbJ2VtcGxveWVlX3RpdGxlJ10gPSAkZW1wbG95ZWUtPm5hbWU7CiAgICAgICAgfQoKICAgICAgICAkZGV0YWlsWydjYXJfb3duZXJfaWQnXT0kZGV0YWlsWydjYXJfYnJhbmRfaWQnXT0kZGV0YWlsWydjYXJfc2VyaWVzX2lkJ109MDsKCiAgICAgICAgJG9wID0gWWlpOjokYXBwLT5yZXF1ZXN0LT5nZXQoJ29wJyk7CiAgICAgICAgJHRwbCA9ICdtb2RpZnknOwogICAgICAgIHJldHVybiAkdGhpcy0+cmVuZGVyKAogICAgICAgICAgICAkdHBsLAogICAgICAgICAgICBbCiAgICAgICAgICAgICdzdGF0dXMnPT4kc3RhdHVzLAogICAgICAgICAgICAnZGV0YWlsJz0+JGRldGFpbCwKICAgICAgICAgICAgJ3N0b3JlJz0+JHN0b3JlLAogICAgICAgICAgICAnZW1wbG95ZWUnPT4kZW1wbG95ZWUsCiAgICAgICAgICAgICdpZCc9PjAKICAgICAgICBdCiAgICAgICAgKTs", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADhIAAAAAAAAOEgAAAAAAAAAAAAAAAA8L8" - ], - [ - 3236, - 1, - "paste", - null, - "AQAAALwHAAAAAAAANQkAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADcGgAAAAAAANwaAAAAAAAAAAAAAAAA8L8" - ], - [ - 3239, - 2, - "left_delete", - null, - "AgAAABsJAAAAAAAAGwkAAAAAAAABAAAAZBoJAAAAAAAAGgkAAAAAAAABAAAAaQ", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABVHAAAAAAAAFUcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3240, - 1, - "insert", - { - "characters": "0" - }, - "AQAAABoJAAAAAAAAGwkAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABTHAAAAAAAAFMcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3241, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABUHAAAAAAAAFQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3244, - 1, - "reindent", - null, - "AQAAAIgIAAAAAAAAkAgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABUHAAAAAAAAFQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3245, - 1, - "insert", - { - "characters": "$detai" - }, - "BgAAAJAIAAAAAAAAkQgAAAAAAAAAAAAAkQgAAAAAAACSCAAAAAAAAAAAAACSCAAAAAAAAJMIAAAAAAAAAAAAAJMIAAAAAAAAlAgAAAAAAAAAAAAAlAgAAAAAAACVCAAAAAAAAAAAAACVCAAAAAAAAJYIAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABcHAAAAAAAAFwcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3246, - 1, - "insert", - { - "characters": "l" - }, - "AQAAAJYIAAAAAAAAlwgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABiHAAAAAAAAGIcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3247, - 1, - "insert_snippet", - { - "contents": "[$0]" - }, - "AQAAAJcIAAAAAAAAmQgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABjHAAAAAAAAGMcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3248, - 1, - "insert_snippet", - { - "contents": "'$0'" - }, - "AQAAAJgIAAAAAAAAmggAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABlHAAAAAAAAGUcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3249, - 1, - "insert", - { - "characters": "id" - }, - "AgAAAJkIAAAAAAAAmggAAAAAAAAAAAAAmggAAAAAAACbCAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABnHAAAAAAAAGccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3252, - 1, - "insert", - { - "characters": " =" - }, - "AgAAAJ0IAAAAAAAAnggAAAAAAAAAAAAAnggAAAAAAACfCAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABpHAAAAAAAAGkcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3253, - 1, - "insert", - { - "characters": " 0;" - }, - "AwAAAJ8IAAAAAAAAoAgAAAAAAAAAAAAAoAgAAAAAAAChCAAAAAAAAAAAAAChCAAAAAAAAKIIAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABrHAAAAAAAAGscAAAAAAAAAAAAAAAA8L8" - ], - [ - 3257, - 1, - "left_delete", - null, - "AQAAAC0JAAAAAAAALQkAAAAAAAAIAAAAJ2lkJz0+JDA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABuHAAAAAAAAG4cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3259, - 3, - "left_delete", - null, - "AwAAAB0JAAAAAAAAHQkAAAAAAAAQAAAAICAgICAgICAgICAgICAgIBwJAAAAAAAAHAkAAAAAAAABAAAAChsJAAAAAAAAGwkAAAAAAAABAAAALA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABmHAAAAAAAAGYcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3260, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABUHAAAAAAAAFQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3267, - 1, - "toggle_comment", - { - "block": false - }, - "AQAAABcBAAAAAAAAGgEAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABUHAAAAAAAAFQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3268, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABXHAAAAAAAAFccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3271, - 2, - "left_delete", - null, - "AgAAAIwHAAAAAAAAjAcAAAAAAAADAAAA5Y2ViwcAAAAAAACLBwAAAAAAAAMAAADorqI", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABXHAAAAAAAAFccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3272, - 1, - "", - null, - "AQAAAIsHAAAAAAAAjAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABVHAAAAAAAAFUcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3273, - 1, - "", - null, - "AQAAAIsHAAAAAAAAjQcAAAAAAAABAAAAeQ", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABWHAAAAAAAAFYcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3274, - 1, - "", - null, - "AQAAAIsHAAAAAAAAjgcAAAAAAAACAAAAeXk", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABXHAAAAAAAAFccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3275, - 1, - "", - null, - "AQAAAIsHAAAAAAAAjwcAAAAAAAADAAAAeXl1", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABYHAAAAAAAAFgcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3276, - 1, - "", - null, - "AQAAAIsHAAAAAAAAiwcAAAAAAAAEAAAAeXl1ag", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABZHAAAAAAAAFkcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3277, - 1, - "insert", - { - "characters": "文章" - }, - "AgAAAIsHAAAAAAAAjAcAAAAAAAAAAAAAjAcAAAAAAACNBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABVHAAAAAAAAFUcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3278, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABXHAAAAAAAAFccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3281, - 1, - "toggle_comment", - { - "block": false - }, - "AQAAABcBAAAAAAAAFwEAAAAAAAADAAAALy8g", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABXHAAAAAAAAFccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3282, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABUHAAAAAAAAFQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3287, - 1, - "", - null, - "AQAAAJsOAAAAAAAAnA4AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABUHAAAAAAAAFQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3288, - 1, - "", - null, - "AQAAAJsOAAAAAAAAnQ4AAAAAAAABAAAAdg", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABVHAAAAAAAAFUcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3289, - 1, - "", - null, - "AQAAAJsOAAAAAAAAng4AAAAAAAACAAAAdmE", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABWHAAAAAAAAFYcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3290, - 1, - "", - null, - "AQAAAJsOAAAAAAAAmw4AAAAAAAADAAAAdmFy", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABXHAAAAAAAAFccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3291, - 1, - "insert", - { - "characters": "var_dum" - }, - "BwAAAJsOAAAAAAAAnA4AAAAAAAAAAAAAnA4AAAAAAACdDgAAAAAAAAAAAACdDgAAAAAAAJ4OAAAAAAAAAAAAAJ4OAAAAAAAAnw4AAAAAAAAAAAAAnw4AAAAAAACgDgAAAAAAAAAAAACgDgAAAAAAAKEOAAAAAAAAAAAAAKEOAAAAAAAAog4AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABUHAAAAAAAAFQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3292, - 1, - "insert", - { - "characters": "p" - }, - "AQAAAKIOAAAAAAAAow4AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABbHAAAAAAAAFscAAAAAAAAAAAAAAAA8L8" - ], - [ - 3293, - 1, - "insert_snippet", - { - "contents": "($0)" - }, - "AQAAAKMOAAAAAAAApQ4AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABcHAAAAAAAAFwcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3294, - 1, - "insert", - { - "characters": "$data" - }, - "BQAAAKQOAAAAAAAApQ4AAAAAAAAAAAAApQ4AAAAAAACmDgAAAAAAAAAAAACmDgAAAAAAAKcOAAAAAAAAAAAAAKcOAAAAAAAAqA4AAAAAAAAAAAAAqA4AAAAAAACpDgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABeHAAAAAAAAF4cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3297, - 1, - "insert", - { - "characters": ";die;" - }, - "BQAAAKoOAAAAAAAAqw4AAAAAAAAAAAAAqw4AAAAAAACsDgAAAAAAAAAAAACsDgAAAAAAAK0OAAAAAAAAAAAAAK0OAAAAAAAArg4AAAAAAAAAAAAArg4AAAAAAACvDgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABjHAAAAAAAAGMcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3298, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABoHAAAAAAAAGgcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3304, - 1, - "reindent", - null, - "AQAAAMsGAAAAAAAA0wYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABoHAAAAAAAAGgcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3305, - 1, - "insert", - { - "characters": "if" - }, - "AgAAANMGAAAAAAAA1AYAAAAAAAAAAAAA1AYAAAAAAADVBgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABwHAAAAAAAAHAcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3306, - 1, - "insert_snippet", - { - "contents": "($0)" - }, - "AQAAANUGAAAAAAAA1wYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAByHAAAAAAAAHIcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3307, - 1, - "insert", - { - "characters": "$detail" - }, - "BwAAANYGAAAAAAAA1wYAAAAAAAAAAAAA1wYAAAAAAADYBgAAAAAAAAAAAADYBgAAAAAAANkGAAAAAAAAAAAAANkGAAAAAAAA2gYAAAAAAAAAAAAA2gYAAAAAAADbBgAAAAAAAAAAAADbBgAAAAAAANwGAAAAAAAAAAAAANwGAAAAAAAA3QYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAB0HAAAAAAAAHQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3308, - 1, - "insert_snippet", - { - "contents": "[$0]" - }, - "AQAAAN0GAAAAAAAA3wYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAB7HAAAAAAAAHscAAAAAAAAAAAAAAAA8L8" - ], - [ - 3309, - 1, - "insert_snippet", - { - "contents": "'$0'" - }, - "AQAAAN4GAAAAAAAA4AYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAB9HAAAAAAAAH0cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3310, - 1, - "insert", - { - "characters": "cid" - }, - "AwAAAN8GAAAAAAAA4AYAAAAAAAAAAAAA4AYAAAAAAADhBgAAAAAAAAAAAADhBgAAAAAAAOIGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAB/HAAAAAAAAH8cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3312, - 1, - "insert_snippet", - { - "contents": "{$0}" - }, - "AQAAAOUGAAAAAAAA5wYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACCHAAAAAAAAIIcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3313, - 1, - "run_macro_file", - { - "file": "res://Packages/Default/Add Line in Braces.sublime-macro" - }, - "BgAAAOYGAAAAAAAA5wYAAAAAAAAAAAAA5wYAAAAAAADvBgAAAAAAAAAAAADvBgAAAAAAAPAGAAAAAAAAAAAAAPAGAAAAAAAA+AYAAAAAAAAAAAAA5wYAAAAAAADnBgAAAAAAAAgAAAAgICAgICAgIOcGAAAAAAAA8wYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACEHAAAAAAAAIQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3314, - 1, - "insert", - { - "characters": "$" - }, - "AQAAAPMGAAAAAAAA9AYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACaHAAAAAAAAJocAAAAAAAAAAAAAAAA8L8" - ], - [ - 3315, - 1, - "insert", - { - "characters": "Acn" - }, - "AwAAAPQGAAAAAAAA9QYAAAAAAAAAAAAA9QYAAAAAAAD2BgAAAAAAAAAAAAD2BgAAAAAAAPcGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACbHAAAAAAAAJscAAAAAAAAAAAAAAAA8L8" - ], - [ - 3316, - 1, - "left_delete", - null, - "AQAAAPYGAAAAAAAA9gYAAAAAAAABAAAAbg", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACeHAAAAAAAAJ4cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3317, - 1, - "insert", - { - "characters": "New" - }, - "AwAAAPYGAAAAAAAA9wYAAAAAAAAAAAAA9wYAAAAAAAD4BgAAAAAAAAAAAAD4BgAAAAAAAPkGAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACdHAAAAAAAAJ0cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3318, - 1, - "insert", - { - "characters": "sCat" - }, - "BAAAAPkGAAAAAAAA+gYAAAAAAAAAAAAA+gYAAAAAAAD7BgAAAAAAAAAAAAD7BgAAAAAAAPwGAAAAAAAAAAAAAPwGAAAAAAAA/QYAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACgHAAAAAAAAKAcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3319, - 1, - "insert", - { - "characters": " =" - }, - "AgAAAP0GAAAAAAAA/gYAAAAAAAAAAAAA/gYAAAAAAAD/BgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACkHAAAAAAAAKQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3320, - 1, - "insert", - { - "characters": " " - }, - "AQAAAP8GAAAAAAAAAAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACmHAAAAAAAAKYcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3329, - 1, - "paste", - null, - "AQAAAAAHAAAAAAAADQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACnHAAAAAAAAKccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3332, - 1, - "insert", - { - "characters": "Cat" - }, - "AwAAAAoHAAAAAAAACwcAAAAAAAAAAAAACwcAAAAAAAAMBwAAAAAAAAAAAAAMBwAAAAAAAA0HAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC0HAAAAAAAALQcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3335, - 1, - "insert", - { - "characters": "\n$" - }, - "AwAAABAHAAAAAAAAEQcAAAAAAAAAAAAAEQcAAAAAAAAdBwAAAAAAAAAAAAAdBwAAAAAAAB4HAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC3HAAAAAAAALccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3336, - 1, - "insert", - { - "characters": "cat" - }, - "AwAAAB4HAAAAAAAAHwcAAAAAAAAAAAAAHwcAAAAAAAAgBwAAAAAAAAAAAAAgBwAAAAAAACEHAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADFHAAAAAAAAMUcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3337, - 1, - "insert", - { - "characters": " =" - }, - "AgAAACEHAAAAAAAAIgcAAAAAAAAAAAAAIgcAAAAAAAAjBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADIHAAAAAAAAMgcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3338, - 1, - "insert", - { - "characters": " $" - }, - "AgAAACMHAAAAAAAAJAcAAAAAAAAAAAAAJAcAAAAAAAAlBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADKHAAAAAAAAMocAAAAAAAAAAAAAAAA8L8" - ], - [ - 3339, - 1, - "insert", - { - "characters": "Ac" - }, - "AgAAACUHAAAAAAAAJgcAAAAAAAAAAAAAJgcAAAAAAAAnBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADMHAAAAAAAAMwcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3341, - 1, - "insert_completion", - { - "completion": "AcNewsCat", - "format": "text", - "keep_prefix": false, - "must_insert": false, - "trigger": "AcNewsCat" - }, - "AgAAACUHAAAAAAAAJQcAAAAAAAACAAAAQWMlBwAAAAAAAC4HAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADOHAAAAAAAAM4cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3342, - 1, - "insert", - { - "characters": "->find" - }, - "BgAAAC4HAAAAAAAALwcAAAAAAAAAAAAALwcAAAAAAAAwBwAAAAAAAAAAAAAwBwAAAAAAADEHAAAAAAAAAAAAADEHAAAAAAAAMgcAAAAAAAAAAAAAMgcAAAAAAAAzBwAAAAAAAAAAAAAzBwAAAAAAADQHAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADVHAAAAAAAANUcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3343, - 1, - "insert_completion", - { - "completion": "findOne", - "format": "text", - "keep_prefix": false, - "must_insert": false, - "trigger": "findOne" - }, - "AgAAADAHAAAAAAAAMAcAAAAAAAAEAAAAZmluZDAHAAAAAAAANwcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADbHAAAAAAAANscAAAAAAAAAAAAAAAA8L8" - ], - [ - 3344, - 1, - "insert_snippet", - { - "contents": "($0)" - }, - "AQAAADcHAAAAAAAAOQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADeHAAAAAAAAN4cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3345, - 1, - "insert", - { - "characters": "$detail" - }, - "BwAAADgHAAAAAAAAOQcAAAAAAAAAAAAAOQcAAAAAAAA6BwAAAAAAAAAAAAA6BwAAAAAAADsHAAAAAAAAAAAAADsHAAAAAAAAPAcAAAAAAAAAAAAAPAcAAAAAAAA9BwAAAAAAAAAAAAA9BwAAAAAAAD4HAAAAAAAAAAAAAD4HAAAAAAAAPwcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADgHAAAAAAAAOAcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3346, - 1, - "insert_snippet", - { - "contents": "[$0]" - }, - "AQAAAD8HAAAAAAAAQQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADnHAAAAAAAAOccAAAAAAAAAAAAAAAA8L8" - ], - [ - 3347, - 1, - "insert_snippet", - { - "contents": "'$0'" - }, - "AQAAAEAHAAAAAAAAQgcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADpHAAAAAAAAOkcAAAAAAAAAAAAAAAA8L8" - ], - [ - 3348, - 1, - "insert", - { - "characters": "cid" - }, - "AwAAAEEHAAAAAAAAQgcAAAAAAAAAAAAAQgcAAAAAAABDBwAAAAAAAAAAAABDBwAAAAAAAEQHAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADrHAAAAAAAAOscAAAAAAAAAAAAAAAA8L8" - ], - [ - 3350, - 1, - "insert", - { - "characters": ";" - }, - "AQAAAEcHAAAAAAAASAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADuHAAAAAAAAO4cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3351, - 1, - "insert", - { - "characters": "\nif" - }, - "BAAAAEgHAAAAAAAASQcAAAAAAAAAAAAASQcAAAAAAABVBwAAAAAAAAAAAABVBwAAAAAAAFYHAAAAAAAAAAAAAFYHAAAAAAAAVwcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADvHAAAAAAAAO8cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3352, - 1, - "insert_snippet", - { - "contents": "($0)" - }, - "AQAAAFcHAAAAAAAAWQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAD+HAAAAAAAAP4cAAAAAAAAAAAAAAAA8L8" - ], - [ - 3353, - 1, - "insert", - { - "characters": "$cat" - }, - "BAAAAFgHAAAAAAAAWQcAAAAAAAAAAAAAWQcAAAAAAABaBwAAAAAAAAAAAABaBwAAAAAAAFsHAAAAAAAAAAAAAFsHAAAAAAAAXAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3355, - 1, - "insert_snippet", - { - "contents": "{$0}" - }, - "AQAAAF0HAAAAAAAAXwcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAEHQAAAAAAAAQdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3356, - 1, - "run_macro_file", - { - "file": "res://Packages/Default/Add Line in Braces.sublime-macro" - }, - "BgAAAF4HAAAAAAAAXwcAAAAAAAAAAAAAXwcAAAAAAABrBwAAAAAAAAAAAABrBwAAAAAAAGwHAAAAAAAAAAAAAGwHAAAAAAAAeAcAAAAAAAAAAAAAXwcAAAAAAABfBwAAAAAAAAwAAAAgICAgICAgICAgICBfBwAAAAAAAG8HAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAGHQAAAAAAAAYdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3357, - 1, - "insert", - { - "characters": "$deta" - }, - "BQAAAG8HAAAAAAAAcAcAAAAAAAAAAAAAcAcAAAAAAABxBwAAAAAAAAAAAABxBwAAAAAAAHIHAAAAAAAAAAAAAHIHAAAAAAAAcwcAAAAAAAAAAAAAcwcAAAAAAAB0BwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAkHQAAAAAAACQdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3358, - 1, - "insert", - { - "characters": "il" - }, - "AgAAAHQHAAAAAAAAdQcAAAAAAAAAAAAAdQcAAAAAAAB2BwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAApHQAAAAAAACkdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3359, - 1, - "insert_snippet", - { - "contents": "[$0]" - }, - "AQAAAHYHAAAAAAAAeAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAArHQAAAAAAACsdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3360, - 1, - "insert_snippet", - { - "contents": "'$0'" - }, - "AQAAAHcHAAAAAAAAeQcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAtHQAAAAAAAC0dAAAAAAAAAAAAAAAA8L8" - ], - [ - 3361, - 1, - "insert", - { - "characters": "cat_title" - }, - "CQAAAHgHAAAAAAAAeQcAAAAAAAAAAAAAeQcAAAAAAAB6BwAAAAAAAAAAAAB6BwAAAAAAAHsHAAAAAAAAAAAAAHsHAAAAAAAAfAcAAAAAAAAAAAAAfAcAAAAAAAB9BwAAAAAAAAAAAAB9BwAAAAAAAH4HAAAAAAAAAAAAAH4HAAAAAAAAfwcAAAAAAAAAAAAAfwcAAAAAAACABwAAAAAAAAAAAACABwAAAAAAAIEHAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAvHQAAAAAAAC8dAAAAAAAAAAAAAAAA8L8" - ], - [ - 3363, - 1, - "insert", - { - "characters": " =" - }, - "AgAAAIMHAAAAAAAAhAcAAAAAAAAAAAAAhAcAAAAAAACFBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA4HQAAAAAAADgdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3364, - 1, - "insert", - { - "characters": " $cat" - }, - "BQAAAIUHAAAAAAAAhgcAAAAAAAAAAAAAhgcAAAAAAACHBwAAAAAAAAAAAACHBwAAAAAAAIgHAAAAAAAAAAAAAIgHAAAAAAAAiQcAAAAAAAAAAAAAiQcAAAAAAACKBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA6HQAAAAAAADodAAAAAAAAAAAAAAAA8L8" - ], - [ - 3365, - 1, - "insert_snippet", - { - "contents": "[$0]" - }, - "AQAAAIoHAAAAAAAAjAcAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA/HQAAAAAAAD8dAAAAAAAAAAAAAAAA8L8" - ], - [ - 3368, - 2, - "left_delete", - null, - "AgAAAIsHAAAAAAAAiwcAAAAAAAABAAAAXYoHAAAAAAAAigcAAAAAAAABAAAAWw", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABBHQAAAAAAAEEdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3369, - 1, - "insert", - { - "characters": "->t" - }, - "AwAAAIoHAAAAAAAAiwcAAAAAAAAAAAAAiwcAAAAAAACMBwAAAAAAAAAAAACMBwAAAAAAAI0HAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA/HQAAAAAAAD8dAAAAAAAAAAAAAAAA8L8" - ], - [ - 3370, - 1, - "insert", - { - "characters": "itle;" - }, - "BQAAAI0HAAAAAAAAjgcAAAAAAAAAAAAAjgcAAAAAAACPBwAAAAAAAAAAAACPBwAAAAAAAJAHAAAAAAAAAAAAAJAHAAAAAAAAkQcAAAAAAAAAAAAAkQcAAAAAAACSBwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABCHQAAAAAAAEIdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3371, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABHHQAAAAAAAEcdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3380, - 1, - "left_delete", - null, - "AQAAAHoPAAAAAAAAeg8AAAAAAAAUAAAAdmFyX2R1bXAoJGRhdGEpO2RpZTs", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABHHQAAAAAAAEcdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3381, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAzHQAAAAAAADMdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3395, - 1, - "reindent", - null, - "AQAAAJkSAAAAAAAAoRIAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAzHQAAAAAAADMdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3396, - 1, - "insert", - { - "characters": "$op" - }, - "AwAAAKESAAAAAAAAohIAAAAAAAAAAAAAohIAAAAAAACjEgAAAAAAAAAAAACjEgAAAAAAAKQSAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA7HQAAAAAAADsdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3397, - 1, - "insert", - { - "characters": " =" - }, - "AgAAAKQSAAAAAAAApRIAAAAAAAAAAAAApRIAAAAAAACmEgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA+HQAAAAAAAD4dAAAAAAAAAAAAAAAA8L8" - ], - [ - 3398, - 1, - "insert", - { - "characters": " $" - }, - "AgAAAKYSAAAAAAAApxIAAAAAAAAAAAAApxIAAAAAAACoEgAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABAHQAAAAAAAEAdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3411, - 1, - "paste", - null, - "AgAAAKESAAAAAAAAxxIAAAAAAAAAAAAAxxIAAAAAAADHEgAAAAAAAAcAAAAkb3AgPSAk", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABCHQAAAAAAAEIdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3412, - 1, - "insert", - { - "characters": "\ni" - }, - "AwAAAMcSAAAAAAAAyBIAAAAAAAAAAAAAyBIAAAAAAADQEgAAAAAAAAAAAADQEgAAAAAAANESAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABhHQAAAAAAAGEdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3413, - 1, - "insert", - { - "characters": "f" - }, - "AQAAANESAAAAAAAA0hIAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABrHQAAAAAAAGsdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3414, - 1, - "insert_snippet", - { - "contents": "($0)" - }, - "AQAAANISAAAAAAAA1BIAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABsHQAAAAAAAGwdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3418, - 1, - "insert", - { - "characters": "$op" - }, - "AwAAANMSAAAAAAAA1BIAAAAAAAAAAAAA1BIAAAAAAADVEgAAAAAAAAAAAADVEgAAAAAAANYSAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABuHQAAAAAAAG4dAAAAAAAAAAAAAAAA8L8" - ], - [ - 3420, - 1, - "insert_snippet", - { - "contents": "{$0}" - }, - "AQAAANcSAAAAAAAA2RIAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABxHQAAAAAAAHEdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3421, - 1, - "run_macro_file", - { - "file": "res://Packages/Default/Add Line in Braces.sublime-macro" - }, - "BgAAANgSAAAAAAAA2RIAAAAAAAAAAAAA2RIAAAAAAADhEgAAAAAAAAAAAADhEgAAAAAAAOISAAAAAAAAAAAAAOISAAAAAAAA6hIAAAAAAAAAAAAA2RIAAAAAAADZEgAAAAAAAAgAAAAgICAgICAgINkSAAAAAAAA5RIAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABzHQAAAAAAAHMdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3425, - 1, - "cut", - null, - "AQAAAPgSAAAAAAAA+BIAAAAAAAAeAAAAJHRoaXMtPnJlc3VsdCgkbXNnLCRkYXRhLDIwMCk7", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACJHQAAAAAAAIkdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3428, - 1, - "paste", - null, - "AQAAAPgSAAAAAAAAFhMAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAABrHQAAAAAAAGsdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3430, - 1, - "paste", - null, - "AQAAAOUSAAAAAAAAEBMAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACJHQAAAAAAAIkdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3431, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC0HQAAAAAAALQdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3448, - 1, - "paste", - null, - "AgAAAKcSAAAAAAAAxRIAAAAAAAAAAAAAxRIAAAAAAADFEgAAAAAAADoAAAAkX0dFVFsnb3AnXTsgIC8v5pON5L2c5qCH6K+G77yM5Y+q5YWB6K645a6i5oi356uvR0VU5Lyg5YWl", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC0HQAAAAAAALQdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3451, - 1, - "insert", - { - "characters": "op" - }, - "AwAAAMASAAAAAAAAwRIAAAAAAAAAAAAAwRIAAAAAAADBEgAAAAAAAAIAAABpZMESAAAAAAAAwhIAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACyHQAAAAAAALIdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3452, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACyHQAAAAAAALIdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3479, - 1, - "insert", - { - "characters": "\nif" - }, - "BQAAAFwNAAAAAAAAXQ0AAAAAAAAAAAAAXQ0AAAAAAABlDQAAAAAAAAAAAABlDQAAAAAAAGkNAAAAAAAAAAAAAGkNAAAAAAAAag0AAAAAAAAAAAAAag0AAAAAAABrDQAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAACyHQAAAAAAALIdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3480, - 1, - "insert_snippet", - { - "contents": "($0)" - }, - "AQAAAGsNAAAAAAAAbQ0AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADBHQAAAAAAAMEdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3481, - 1, - "paste", - null, - "AQAAAGwNAAAAAAAAfg0AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADDHQAAAAAAAMMdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3483, - 1, - "insert_snippet", - { - "contents": "{$0}" - }, - "AQAAAH8NAAAAAAAAgQ0AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADVHQAAAAAAANUdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3484, - 1, - "run_macro_file", - { - "file": "res://Packages/Default/Add Line in Braces.sublime-macro" - }, - "BgAAAIANAAAAAAAAgQ0AAAAAAAAAAAAAgQ0AAAAAAACNDQAAAAAAAAAAAACNDQAAAAAAAI4NAAAAAAAAAAAAAI4NAAAAAAAAmg0AAAAAAAAAAAAAgQ0AAAAAAACBDQAAAAAAAAwAAAAgICAgICAgICAgICCBDQAAAAAAAJENAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADXHQAAAAAAANcdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3492, - 1, - "paste", - null, - "AQAAAJENAAAAAAAAsA0AAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAD1HQAAAAAAAPUdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3497, - 1, - "left_delete", - null, - "AQAAAMoNAAAAAAAAyg0AAAAAAAA5AAAAICRkYXRhWyRjb2xdID0gaXNzZXQoJHBvc3RbJGtleV0pID8gKGludCkkcG9zdFska2V5XSA6IDA7", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAUHgAAAAAAABQeAAAAAAAAAAAAAAAA8L8" - ], - [ - 3499, - 2, - "left_delete", - null, - "AgAAAL8NAAAAAAAAvw0AAAAAAAALAAAAICAgICAgICAgICC+DQAAAAAAAL4NAAAAAAAAAQAAAAo", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADbHQAAAAAAANsdAAAAAAAAAAAAAAAA8L8" - ], - [ - 3500, - 2, - "add_file_header", - { - "path": "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php" - }, - "AgAAAAcAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADPHQAAAAAAAM8dAAAAAAAAAAAAAAAA8L8" - ], - [ - 3501, - 1, - "revert", - null, - "AgAAAAAAAAAAAAAAAAAAAAAAAACHMAAAPD9waHAKCiMKIyBAQXV0aG9yOiBmbTQ1MwojIEBEYXRlOiAgIDIwMjQvNy8xNgojIEB1cGRhdGVkOiDkuIvljYgzOjU1CiMgQEVtYWlsOiAxMjgwODgwNjMxQHFxLmNvbQoKbmFtZXNwYWNlIGJhY2tlbmRcY29udHJvbGxlcnM7Cgp1c2UgWWlpOwp1c2UgeWlpXGRhdGFcUGFnaW5hdGlvbjsKdXNlIHlpaVxoZWxwZXJzXFVybDsKdXNlIGFkZG9uc1xtb2RlbHNcQWNOZXdzQ2F0Owp1c2UgYWRkb25zXG1vZGVsc1xBY05ld3M7CgpjbGFzcyBOZXdzQ29udHJvbGxlciBleHRlbmRzIENvbW1vbnsKICAgIHB1YmxpYyAkZW5hYmxlQ3NyZlZhbGlkYXRpb24gPSBmYWxzZTsKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpewoKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uTGlzdCgpewogICAgICAgICRvcHRpb25zID0gJHRoaXMtPl90YWJsZU9wdGlvbnMoKTsKICAgICAgICAkY29sdW1ucyA9ICRvcHRpb25zWydjb2x1bW5zJ107CiAgICAgICAgJG9wZXJhdG9yID0gJG9wdGlvbnNbJ29wZXJhdG9yJ107CgogICAgICAgICR0cGwgPSAnbGlzdCc7CgogICAgICAgIHJldHVybiAkdGhpcy0+cmVuZGVyKCR0cGwsIFsKICAgICAgICAgICAgJ2NvbHVtbnMnID0+IGpzb25fZW5jb2RlKCRjb2x1bW5zLEpTT05fVU5FU0NBUEVEX1VOSUNPREUpLAogICAgICAgICAgICAnb3BlcmF0b3InID0+IGpzb25fZW5jb2RlKCRvcGVyYXRvcixKU09OX1VORVNDQVBFRF9VTklDT0RFKQogICAgICAgIF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25TZWxlY3QoKQogICAgewogICAgICAgICRwaWQgPSAkdGhpcy0+cGlkOwogICAgICAgICRpZCA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+Z2V0KCdpZCcpOwogICAgICAgICRjYWxsYmFjayA9ICFlbXB0eShZaWk6OiRhcHAtPnJlcXVlc3QtPmdldCgnY2FsbGJhY2snKSkgPyBZaWk6OiRhcHAtPnJlcXVlc3QtPmdldCgnY2FsbGJhY2snKSA6ICduZXdzJzsKICAgICAgICBpZigkaWQpICRjYWxsYmFjayAuPSAnLScuJGlkOwoKICAgICAgICAkb3B0aW9ucyA9ICR0aGlzLT5fdGFibGVPcHRpb25zKCk7CiAgICAgICAgJGNvbHVtbnMgPSAkb3B0aW9uc1snY29sdW1ucyddOwogICAgICAgICRvcGVyYXRvciA9ICRvcHRpb25zWydvcGVyYXRvciddOwogICAgICAgIC8v5LiN5L2/55So5qih5p2/5qGG5p62Ci8vICAgICAgICAkdGhpcy0+bGF5b3V0ID0gJ0BhcHAvdmlld3MvbGF5b3V0cy90YWJsZSc7CiAgICAgICAgJHRwbCA9ICdzZWxlY3QnOwogICAgICAgIHJldHVybiAkdGhpcy0+cmVuZGVyKCR0cGwsIFsKICAgICAgICAgICAgJ2lkJyA9PiAkaWQsCiAgICAgICAgICAgICdjYWxsYmFjayc9PiRjYWxsYmFjaywKICAgICAgICAgICAgJ2NvbHVtbnMnID0+IGpzb25fZW5jb2RlKCRjb2x1bW5zLEpTT05fVU5FU0NBUEVEX1VOSUNPREUpLAogICAgICAgICAgICAnb3BlcmF0b3InID0+IGpzb25fZW5jb2RlKCRvcGVyYXRvcixKU09OX1VORVNDQVBFRF9VTklDT0RFKQogICAgICAgIF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25FZGl0KCkKICAgIHsKICAgICAgICAkcGlkID0gJHRoaXMtPnBpZDsKICAgICAgICAkcG9zdCA9ICR0aGlzLT5wb3N0ZGF0YTsKICAgICAgICAkaWQgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPmdldCgnaWQnKTsKICAgICAgICAkQWNOZXdzID0gbmV3IEFjTmV3cygpOwogICAgICAgICRuZXdzID0gJEFjTmV3cy0+ZmluZE9uZSgkaWQpOwogICAgICAgICRkZXRhaWwgPSAkbmV3cy0+dG9BcnJheSgpOwogICAgICAgIGlmKCRkZXRhaWxbJ2NpZCddKXsKICAgICAgICAgICAgJEFjTmV3c0NhdCA9IG5ldyBBY05ld3NDYXQoKTsKICAgICAgICAgICAgJGNhdCA9ICRBY05ld3NDYXQtPmZpbmRPbmUoJGRldGFpbFsnY2lkJ10pOwogICAgICAgICAgICBpZigkY2F0KXsKICAgICAgICAgICAgICAgICRkZXRhaWxbJ2NhdF90aXRsZSddID0gJGNhdC0+dGl0bGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRwbCA9ICdtb2RpZnknOwogICAgICAgIHJldHVybiAkdGhpcy0+cmVuZGVyKAogICAgICAgICAgICAkdHBsLAogICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAnZGV0YWlsJz0+JGRldGFpbCwKICAgICAgICAgICAgICAgICdpZCc9PiRpZAogICAgICAgICAgICBdCiAgICAgICAgKTsKICAgIH0KCiAgICAvKuWkjeWItuaWh+eroCovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uQ29weSgpCiAgICB7CiAgICAgICAgJHBpZCA9ICR0aGlzLT5waWQ7CiAgICAgICAgJHBvc3QgPSAkdGhpcy0+cG9zdGRhdGE7CiAgICAgICAgJGlkID0gWWlpOjokYXBwLT5yZXF1ZXN0LT5nZXQoJ2lkJyk7CiAgICAgICAgJEFjTmV3cyA9IG5ldyBBY05ld3MoKTsKICAgICAgICAkbmV3cyA9ICRBY05ld3MtPmZpbmRPbmUoJGlkKTsKICAgICAgICAkZGV0YWlsID0gJG5ld3MtPnRvQXJyYXkoKTsKICAgICAgICAkZGV0YWlsWydpZCddID0gMDsKICAgICAgICAkdHBsID0gJ21vZGlmeSc7CiAgICAgICAgcmV0dXJuICR0aGlzLT5yZW5kZXIoCiAgICAgICAgICAgICR0cGwsCiAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICdkZXRhaWwnPT4kZGV0YWlsCiAgICAgICAgICAgIF0KICAgICAgICApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25TYXZlKCl7CiAgICAgICAgJHBvc3QgPSAkdGhpcy0+cG9zdGRhdGE7CiAgICAgICAgJGlkID0gaXNzZXQoJHBvc3RbJ2lkJ10pID8gKGludCkkcG9zdFsnaWQnXSA6IDA7CiAgICAgICAgJHBpZCA9IFlpaTo6JGFwcC0+c2Vzc2lvbi0+Z2V0KCdwaWQnKTsKICAgICAgICAvL+agvOW8j+WMluaVsOaNrgogICAgICAgIC8v55uu5qCH6ZSuPeOAi1BPU1TplK4KICAgICAgICAkY29scyA9IFsndGl0bGUnPT4ndGl0bGUnLCdkZXMnPT4nZGVzJ107CiAgICAgICAgZm9yZWFjaCgkY29scyBhcyAkY29sPT4ka2V5KXsKICAgICAgICAgICAgaWYoaXNzZXQoJHBvc3RbJGtleV0pKXsKICAgICAgICAgICAgICAgICRkYXRhWyRjb2xdID0gdHJpbSgkcG9zdFska2V5XSk7CiAgICAgICAgICAgIH1lbHNlaWYoISRpZCl7CiAgICAgICAgICAgICAgICAkZGF0YVskY29sXSA9ICcnOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkY29scyA9IFsnY29udGVudCc9PidlZGl0b3InXTsKICAgICAgICBmb3JlYWNoKCRjb2xzIGFzICRjb2w9PiRrZXkpewogICAgICAgICAgICBpZihpc3NldCgkcG9zdFska2V5XSkpewogICAgICAgICAgICAgICAgJGRhdGFbJGNvbF0gPSBodG1sc3BlY2lhbGNoYXJzKCRwb3N0WyRrZXldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGNvbHMgPSBbJ29yZGVyYnknPT4nb3JkZXJieScsJ2RlbGV0ZWQnPT4nZGVsZXRlZCcsJ2NpZCc9PidjaWQnLCdsaWtlZCc9PidsaWtlZCcsJ3JlYWRpbmcnPT4ncmVhZGluZycsJ3ZpZXdlZCc9Pid2aWV3ZWQnXTsKICAgICAgICBmb3JlYWNoKCRjb2xzIGFzICRjb2w9PiRrZXkpewogICAgICAgICAgICBpZihpc3NldCgkcG9zdFska2V5XSkpewogICAgICAgICAgICAgICAgJGRhdGFbJGNvbF0gPSAoaW50KSRwb3N0WyRrZXldOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkY29scyA9IFsnaXNfc2hvdyc9Pidpc19zaG93J107CiAgICAgICAgZm9yZWFjaCgkY29scyBhcyAkY29sPT4ka2V5KXsKICAgICAgICAgICAgaWYoISRpZCl7CiAgICAgICAgICAgICAgICAkZGF0YVskY29sXSA9IGlzc2V0KCRwb3N0WyRrZXldKSA/IChpbnQpJHBvc3RbJGtleV0gOiAxOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGlmKGlzc2V0KCRwb3N0WyRjb2xdKSl7CiAgICAgICAgICAgICAgICAgICAgJGRhdGFbJGNvbF0gPSAoaW50KSRwb3N0WyRrZXldOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKCEkaWQpewogICAgICAgICAgICAkZGF0YVsnY3JlYXRlX2F0J10gPSB0aW1lKCk7CiAgICAgICAgfQogICAgICAgICRkYXRhWyd1cGRhdGVfYXQnXSA9IHRpbWUoKTsKICAgICAgICAkZGF0YVsncGlkJ10gPSAkcGlkOwoKICAgICAgICAvL+S/neWtmAogICAgICAgICRtc2cgPSAn5pWw5o2u5L+d5a2Y5aSx6LSlJzsKICAgICAgICAkcmVzID0gZmFsc2U7CiAgICAgICAgJGNwZGUgPSAwOwogICAgICAgICRtb2RlbCA9IG5ldyBBY05ld3MoKTsKICAgICAgICBpZigkaWQpewogICAgICAgICAgICAkX3JlYyA9ICRtb2RlbDo6ZmluZE9uZSgkaWQpOwogICAgICAgICAgICBpZigkX3JlYyl7CiAgICAgICAgICAgICAgICBmb3JlYWNoKCRkYXRhIGFzICRrZXk9PiR2YWwpewogICAgICAgICAgICAgICAgICAgICRfcmVjLT4ka2V5ID0gJHZhbDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRyZXMgPSAkX3JlYy0+c2F2ZSgpOwogICAgICAgICAgICAgICAgaWYoJHJlcyl7CiAgICAgICAgICAgICAgICAgICAgJG1zZyA9ICfmlbDmja7kv53lrZjmiJDlip8nOwogICAgICAgICAgICAgICAgICAgICRjb2RlID0gMjAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIGZvcmVhY2goJGRhdGEgYXMgJGtleT0+JHZhbCl7CiAgICAgICAgICAgICAgICAkbW9kZWwtPiRrZXkgPSAkdmFsOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRyZXMgPSAkbW9kZWwtPnNhdmUoKTsKICAgICAgICAgICAgaWYoJHJlcyl7CiAgICAgICAgICAgICAgICAkbXNnID0gJ+aVsOaNruaWsOWinuaIkOWKnyc7CiAgICAgICAgICAgICAgICAkaWQgPSAkbW9kZWwtPmF0dHJpYnV0ZXNbJ2lkJ107IC8v6I635Y+W5o+S5YWl5ZCOaWQKICAgICAgICAgICAgICAgICRjb2RlID0gMjAwOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRkYXRhWydpZCddID0gJGlkOwogICAgICAgICRvcCA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+Z2V0KCdvcCcpOwogICAgICAgIGlmKCRvcCl7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+cmVkaXJlY3QoWydlZGl0JywnaWQnPT4kaWRdKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPnJlc3VsdCgkbXNnLCRkYXRhLDIwMCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkFqYXgoKXsKICAgICAgICAkb3AgPSAkX0dFVFsnb3AnXTsgIC8v5pON5L2c5qCH6K+G77yM5Y+q5YWB6K645a6i5oi356uvR0VU5Lyg5YWlCiAgICAgICAgJHBvc3QgPSAkdGhpcy0+cG9zdGRhdGE7CiAgICAgICAgJHJlcyA9IFtdOwogICAgICAgIHN3aXRjaCgkb3ApewogICAgICAgICAgICBjYXNlICdkZWwnOgogICAgICAgICAgICAgICAgJG1zZyA9ICfova/liKDpmaTvvIzlgYflrprmiJDlip8nOwogICAgICAgICAgICAgICAgJHJlcyA9ICRwb3N0OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPnJlc3VsdCgkbXNnLCRyZXMsMjAwKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uSnNvbigpCiAgICB7CiAgICAgICAgJHJlcyA9ICR0aGlzLT5zZWFyY2goKTsKICAgICAgICAkbGlzdCA9ICRyZXNbJ2xpc3QnXTsKICAgICAgICAkaWRzID0gJHJlc1snaWRzJ107CiAgICAgICAgJHBjYXRzID0gJHJlc1sncGNhdHMnXTsKICAgICAgICAkY2F0cyA9ICRyZXNbJ2NhdHMnXTsKICAgICAgICAkbmV3TGlzdCA9IFtdOwogICAgICAgIGZvcmVhY2goJGlkcyBhcyAkaWQpewogICAgICAgICAgICAkcm93ID0gJGxpc3RbJGlkXTsKICAgICAgICAgICAgJHJvd1snY2F0X3RpdGxlJ10gPSAnJzsKICAgICAgICAgICAgaWYoJHJvd1snY2lkJ10+MCl7CiAgICAgICAgICAgICAgICBpZihpc3NldCgkY2F0c1skcm93WydjaWQnXV0pKXsKICAgICAgICAgICAgICAgICAgICAkcm93WydjYXRfdGl0bGUnXSA9ICRjYXRzWyRyb3dbJ2NpZCddXVsndGl0bGUnXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkbmV3TGlzdFtdID0gJHJvdzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJGRhdGEgPSBbXTsKICAgICAgICAkZGF0YVsndG90YWwnXSA9ICRyZXNbJ3RvdGFsJ107CiAgICAgICAgJGRhdGFbJ3RvdGFsTm90RmlsdGVyZWQnXSA9ICRyZXNbJ3RvdGFsJ107CiAgICAgICAgJGRhdGFbJ3Jvd3MnXSA9ICRuZXdMaXN0OwogICAgICAgIGhlYWRlcignQ29udGVudC1UeXBlOmFwcGxpY2F0aW9uL2pzb24nKTsKICAgICAgICBleGl0KGpzb25fZW5jb2RlKCRkYXRhLEpTT05fVU5FU0NBUEVEX1VOSUNPREUpKTsgICAvL+azqOaEj+S4jeimgeWKoOW8uuWItm9iamVjdOWPguaVsAogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gc2VhcmNoKCl7CiAgICAgICAgJHBpZCA9ICR0aGlzLT5waWQ7CiAgICAgICAgJHNlc3Npb24gPSBZaWk6OiRhcHAtPnNlc3Npb247CiAgICAgICAgJG1vZGVsID0gbmV3IEFjTmV3cygpOwogICAgICAgICR3aGVyZSA9IFtdOwogICAgICAgICR3aGVyZVtdPSdhbmQnOwogICAgICAgICR3aGVyZVtdID0gWyc9JywncGlkJywkcGlkXTsKICAgICAgICAkcG9zdCA9ICR0aGlzLT5wb3N0ZGF0YTsKICAgICAgICAkZ2V0ID0gWWlpOjokYXBwLT5yZXF1ZXN0LT5nZXQoKTsKICAgICAgICAkc2VhcmNoU2Vzc2lvbiA9ICduZXdzOjpzZWFyY2gnOwogICAgICAgIGlmIChpc3NldCgkX0dFVFsncmVzZXQnXSkgJiYgJF9HRVRbJ3Jlc2V0J109PTEpIHsKICAgICAgICAgICAgJHBvc3RbJ3NlYXJjaCddID0gW107CiAgICAgICAgfQogICAgICAgIGlmIChpc3NldCgkcG9zdFsnc2VhcmNoJ10pKSB7CiAgICAgICAgICAgICRzZWFyY2ggPSAkcG9zdFsnc2VhcmNoJ107CiAgICAgICAgICAgICRzZXNzaW9uLT5zZXQoJHNlYXJjaFNlc3Npb24sICRzZWFyY2gpOwogICAgICAgIH0gZWxzZWlmICgkc2Vzc2lvbi0+Z2V0KCRzZWFyY2hTZXNzaW9uKSkgewogICAgICAgICAgICAkc2VhcmNoID0gJHNlc3Npb24tPmdldCgkc2VhcmNoU2Vzc2lvbik7CiAgICAgICAgfQoKICAgICAgICAkc2VhcmNoWyd0aXRsZSddID0gaXNzZXQoJHNlYXJjaFsndGl0bGUnXSkgPyB0cmltKCRzZWFyY2hbJ3RpdGxlJ10pIDogJyc7CiAgICAgICAgaWYgKCFlbXB0eSgkc2VhcmNoWyd0aXRsZSddKSkgewogICAgICAgICAgICAkd2hlcmVbXSA9IFsnTElLRScsJ3RpdGxlJywkc2VhcmNoWyd0aXRsZSddXTsKICAgICAgICB9CgogICAgICAgICRkZWxldGVkID0gMDsKICAgICAgICBpZiAoaXNzZXQoJF9HRVRbJ2RlbGV0ZWQnXSkpIHsKICAgICAgICAgICAgJGRlbGV0ZWQgPSBpc3NldCgkX0dFVFsnZGVsZXRlZCddKSA/ICgoaW50KSRfR0VUWydkZWxldGVkJ10+PTAgPyAxIDogMCkgOiAwOwogICAgICAgIH0KICAgICAgICAkd2hlcmVbXT1bJz0nLCdkZWxldGVkJywkZGVsZXRlZF07CgogICAgICAgICRkYXRhID0gJG1vZGVsLT5maW5kKCktPndoZXJlKCR3aGVyZSk7CiAgICAgICAgJHRvdGFsQ291bnQgPSAkZGF0YS0+Y291bnQoKTsKICAgICAgICAkX29yZGVyYnkgPSAnb3JkZXJieSBERVNDJzsKICAgICAgICAkcmVzID0gJGRhdGEtPm9yZGVyYnkoJF9vcmRlcmJ5KS0+YWxsKCk7CgogICAgICAgICRsaXN0ID0gJGlkcyA9ICRjaWRzID0gJHBjaWRzID0gW107CiAgICAgICAgJGNhdHMgPSAkcGNhdHMgPSBbXTsKICAgICAgICBpZiAoJHJlcykgewogICAgICAgICAgICBmb3JlYWNoICgkcmVzIGFzICRyKSB7CiAgICAgICAgICAgICAgICBpZigkci0+Y2lkKXsKICAgICAgICAgICAgICAgICAgICAkY2lkc1tdID0gJHItPmNpZDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRpZHNbXSA9ICRyLT5pZDsKICAgICAgICAgICAgICAgICRsaXN0WyRyLT5pZF0gPSAkci0+dG9BcnJheSgpOyAgLy/lhoXlrrnmjIlJROWIl+WHuu+8jOS7peS+v+WQjueUqAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRDYXRNb2RlbCA9IG5ldyBBY05ld3NDYXQoKTsKICAgICAgICBpZigkY2lkcyl7CiAgICAgICAgICAgICRyZXMgPSAkQ2F0TW9kZWwtPmZpbmQoKS0+d2hlcmUoWydJTicsJ2lkJywkY2lkc10pLT5hbGwoKTsKICAgICAgICAgICAgZm9yZWFjaCAoJHJlcyBhcyAkcikgewogICAgICAgICAgICAgICAgaWYoJHItPnBjYXRfaWQpewogICAgICAgICAgICAgICAgICAgICRwY2lkc1tdPSAkci0+cGNhdF9pZDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRjYXRzWyRyLT5pZF0gPSAkcjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZigkcGNpZHMpewogICAgICAgICAgICAgICAgJHJlcyA9ICRDYXRNb2RlbC0+ZmluZCgpLT53aGVyZShbJ0lOJywnaWQnLCRwY2lkc10pLT5hbGwoKTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRyZXMgYXMgJHIpIHsKICAgICAgICAgICAgICAgICAgICAkcGNhdHNbJHItPmlkXSA9ICRyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRkYXRhID0gW107CiAgICAgICAgJGRhdGFbJ3RvdGFsJ10gPSAkdG90YWxDb3VudDsKICAgICAgICAkZGF0YVsndG90YWxOb3RGaWx0ZXJlZCddID0gJHRvdGFsQ291bnQ7CiAgICAgICAgJGRhdGFbJ2NhdHMnXSA9ICRjYXRzOwogICAgICAgICRkYXRhWydwY2F0cyddID0gJHBjYXRzOwogICAgICAgICRkYXRhWydsaXN0J10gPSAkbGlzdDsKICAgICAgICAkZGF0YVsnaWRzJ10gPSAkaWRzOwogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIF90YWJsZU9wdGlvbnMoKXsKICAgICAgICAkY29sdW1ucyA9IFtdOwogICAgICAgICRjb2x1bW5zWydpZCddID0gWwogICAgICAgICAgICAnZmllbGQnPT4naWQnLAogICAgICAgICAgICAndGl0bGUnPT4nSUQnLAogICAgICAgICAgICAnZm9vdGVyRm9ybWF0dGVyJz0+J0NvdW50VG90YWxGb290ZXInLAogICAgICAgICAgICAnc2VhcmNoYWJsZSc9PmZhbHNlCiAgICAgICAgXTsKICAgICAgICAkY29sdW1uc1snY2F0J10gPSBbCiAgICAgICAgICAgICdmaWVsZCc9PidjaWQnLAogICAgICAgICAgICAndGl0bGUnPT4n5YiG57G7JywKICAgICAgICAgICAgJ2NsYXNzJz0+InJlc2l6ZV9hYmxlIiwKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9PidjYXRGb3JtYXR0ZXInLAogICAgICAgICAgICAnZmlsdGVyQ29udHJvbCc9PiJzZWxlY3QiLAogICAgICAgICAgICAnc29ydGFibGUnPT50cnVlLAogICAgICAgICAgICAnc2VhcmNoYWJsZSc9PnRydWUKICAgICAgICBdOwogICAgICAgICRjb2x1bW5zWyd0aXRsZSddID0gWwogICAgICAgICAgICAnZmllbGQnPT4ndGl0bGUnLAogICAgICAgICAgICAndGl0bGUnPT4n5qCH6aKYJywKICAgICAgICAgICAgJ2NsYXNzJz0+InJlc2l6ZV9hYmxlIiwKICAgICAgICAgICAgJ2VkaXRhYmxlJz0+J3RleHRFZGl0b3InLAogICAgICAgICAgICAnZm9ybWF0dGVyJz0+J3RleHRGb3JtYXR0ZXInLAogICAgICAgICAgICAnc2VhcmNoRm9ybWF0dGVyJz0+dHJ1ZSwKICAgICAgICAgICAgJ3NlYXJjaEhpZ2hsaWdodEZvcm1hdHRlcic9PidjdXN0b21TZWFyY2hGbXQnLAogICAgICAgICAgICAnZmlsdGVyQ29udHJvbCc9PiJpbnB1dCIsCiAgICAgICAgICAgICdzZWFyY2hhYmxlJz0+dHJ1ZQogICAgICAgIF07CiAgICAgICAgJGNvbHVtbnNbJ2RlcyddID0gWwogICAgICAgICAgICAnZmllbGQnPT4nZGVzJywKICAgICAgICAgICAgJ3RpdGxlJz0+J+eugOi/sCcsCiAgICAgICAgICAgICdlZGl0YWJsZSc9Pid0ZXh0RWRpdG9yJywKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9Pid0ZXh0Rm9ybWF0dGVyJywKICAgICAgICAgICAgJ3NlYXJjaEZvcm1hdHRlcic9PnRydWUsCiAgICAgICAgICAgICdzZWFyY2hIaWdobGlnaHRGb3JtYXR0ZXInPT4nY3VzdG9tU2VhcmNoRm10JywKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT50cnVlCiAgICAgICAgXTsKICAgICAgICAkY29sdW1uc1snb3JkZXJieSddID0gWwogICAgICAgICAgICAnZmllbGQnPT4nb3JkZXJieScsCiAgICAgICAgICAgICd0aXRsZSc9PifmjpLluo8nLAogICAgICAgICAgICAnZWRpdGFibGUnPT4ndGV4dEVkaXRvcicsCiAgICAgICAgICAgICdmb3JtYXR0ZXInPT4nbnVtRm9ybWF0dGVyJywKICAgICAgICAgICAgJ3NvcnRhYmxlJz0+dHJ1ZSwKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT50cnVlCiAgICAgICAgXTsKICAgICAgICAkY29sdW1uc1sndmlld0NvdW50J10gPSBbCiAgICAgICAgICAgICdmaWVsZCc9Pid2aWV3ZWQnLAogICAgICAgICAgICAndGl0bGUnPT4n5rWP6KeI6YePJywKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9PidudW1Gb3JtYXR0ZXInLAogICAgICAgICAgICAnZm9vdGVyRm9ybWF0dGVyJz0+J051bUNvdW50Rm9vdGVyJywKICAgICAgICAgICAgJ3NvcnRhYmxlJz0+dHJ1ZSwKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT5mYWxzZQogICAgICAgIF07CiAgICAgICAgJGNvbHVtbnNbJ2xpa2VDb3VudCddID0gWwogICAgICAgICAgICAnZmllbGQnPT4nbGlrZWQnLAogICAgICAgICAgICAndGl0bGUnPT4n5pS26JeP6YePJywKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9PidudW1Gb3JtYXR0ZXInLAogICAgICAgICAgICAnZm9vdGVyRm9ybWF0dGVyJz0+J051bUNvdW50Rm9vdGVyJywKICAgICAgICAgICAgJ3NvcnRhYmxlJz0+dHJ1ZSwKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT5mYWxzZQogICAgICAgIF07CiAgICAgICAgJGNvbHVtbnNbJ3JlYWRpbmdDb3VudCddID0gWwogICAgICAgICAgICAnZmllbGQnPT4ncmVhZGluZycsCiAgICAgICAgICAgICd0aXRsZSc9PiflnKjnnIsnLAogICAgICAgICAgICAnZm9ybWF0dGVyJz0+J251bUZvcm1hdHRlcicsCiAgICAgICAgICAgICdmb290ZXJGb3JtYXR0ZXInPT4nTnVtQ291bnRGb290ZXInLAogICAgICAgICAgICAnc29ydGFibGUnPT50cnVlLAogICAgICAgICAgICAnc2VhcmNoYWJsZSc9PmZhbHNlCiAgICAgICAgXTsKICAgICAgICAkY29sdW1uc1snaXNTaG93J10gPSBbCiAgICAgICAgICAgICdmaWVsZCc9Pidpc19zaG93JywKICAgICAgICAgICAgJ3RpdGxlJz0+J+aYvuekuicsCiAgICAgICAgICAgICdlZGl0YWJsZSc9Pid0ZXh0RWRpdG9yJywKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9Pid5ZXNub0Zvcm1hdHRlcicsCiAgICAgICAgICAgICdmaWx0ZXJDb250cm9sJz0+InNlbGVjdCIsCiAgICAgICAgICAgICdzb3J0YWJsZSc9PnRydWUsCiAgICAgICAgICAgICdzZWFyY2hhYmxlJz0+ZmFsc2UKICAgICAgICBdOwogICAgICAgICRjb2x1bW5zWydjcmVhdGVfYXQnXSA9IFsKICAgICAgICAgICAgJ2ZpZWxkJz0+J2NyZWF0ZV9hdCcsCiAgICAgICAgICAgICd0aXRsZSc9PifliJvlu7rml6XmnJ8nLAogICAgICAgICAgICAnZm9ybWF0dGVyJz0+J2RhdGVGb3JtYXR0ZXInLAogICAgICAgICAgICAnc29ydGFibGUnPT50cnVlLAogICAgICAgICAgICAnc2VhcmNoYWJsZSc9PmZhbHNlCiAgICAgICAgXTsKICAgICAgICAkY29sdW1uc1sndXBkYXRlX2F0J10gPSBbCiAgICAgICAgICAgICdmaWVsZCc9Pid1cGRhdGVfYXQnLAogICAgICAgICAgICAndGl0bGUnPT4n5pu05paw5pe26Ze0JywKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9Pid0aW1lRm9ybWF0dGVyJywKICAgICAgICAgICAgJ3NvcnRhYmxlJz0+dHJ1ZSwKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT5mYWxzZQogICAgICAgIF07CgogICAgICAgICRvcGVyYXRvciA9IFtdOwogICAgICAgICRvcGVyYXRvclsnc2hvd0RldGFpbCddID0gWwogICAgICAgICAgICAnY2xhc3MnPT4ndmlldycsCiAgICAgICAgICAgICd0aXRsZSc9PifmpoLop4gnLAogICAgICAgICAgICAnaWNvbic9PidleWUnLAogICAgICAgICAgICAnZnVuYyc9PmZhbHNlCiAgICAgICAgXTsKICAgICAgICAkb3BlcmF0b3JbJ3NhdmUnXSA9IFsKICAgICAgICAgICAgJ2NsYXNzJz0+J3NhdmUnLAogICAgICAgICAgICAndGl0bGUnPT4n5L+d5a2YJywKICAgICAgICAgICAgJ2ljb24nPT4nc2F2ZScsCiAgICAgICAgICAgICdmdW5jJz0+ZmFsc2UKICAgICAgICBdOwogICAgICAgICRvcGVyYXRvclsncmVtb3ZlJ10gPSBbCiAgICAgICAgICAgICdjbGFzcyc9PidyZW1vdmUnLAogICAgICAgICAgICAndGl0bGUnPT4n56e76ZmkJywKICAgICAgICAgICAgJ2ljb24nPT4ndHJhc2gnLAogICAgICAgICAgICAnZnVuYyc9PmZhbHNlCiAgICAgICAgXTsKICAgICAgICAkb3BlcmF0b3JbJ2VkaXQnXSA9IFsKICAgICAgICAgICAgJ2NsYXNzJz0+J2hyZWYnLAogICAgICAgICAgICAndGl0bGUnPT4n57yW6L6RJywKICAgICAgICAgICAgJ2ljb24nPT4ncGVuY2lsJywKICAgICAgICAgICAgJ2Z1bmMnPT5mYWxzZQogICAgICAgIF07CgogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICdjb2x1bW5zJyA9PiAkY29sdW1ucywKICAgICAgICAgICAgJ29wZXJhdG9yJyA9PiAkb3BlcmF0b3IKICAgICAgICBdOwogICAgfQp9AAAAAAAAAACBMAAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADPHQAAAAAAAM8dAAAAAAAAAAAAAAAA8L8" - ], - [ - 3502, - 1, - "revert", - null, - "BgAAAAAAAAAAAAAAAAAAAAAAAAB1MQAAPD9waHAKCiMKIyBAQXV0aG9yOiBmbTQ1MwojIEBEYXRlOiAgIDIwMjQvNy8xNgojIEB1cGRhdGVkOiDkuIvljYgzOjU1CiMgQEVtYWlsOiAxMjgwODgwNjMxQHFxLmNvbQoKbmFtZXNwYWNlIGJhY2tlbmRcY29udHJvbGxlcnM7Cgp1c2UgWWlpOwp1c2UgeWlpXGRhdGFcUGFnaW5hdGlvbjsKdXNlIHlpaVxoZWxwZXJzXFVybDsKdXNlIGFkZG9uc1xtb2RlbHNcQWNOZXdzQ2F0Owp1c2UgYWRkb25zXG1vZGVsc1xBY05ld3M7CgpjbGFzcyBOZXdzQ29udHJvbGxlciBleHRlbmRzIENvbW1vbnsKICAgIHB1YmxpYyAkZW5hYmxlQ3NyZlZhbGlkYXRpb24gPSBmYWxzZTsKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25JbmRleCgpewoKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uTGlzdCgpewogICAgICAgICRvcHRpb25zID0gJHRoaXMtPl90YWJsZU9wdGlvbnMoKTsKICAgICAgICAkY29sdW1ucyA9ICRvcHRpb25zWydjb2x1bW5zJ107CiAgICAgICAgJG9wZXJhdG9yID0gJG9wdGlvbnNbJ29wZXJhdG9yJ107CgogICAgICAgICR0cGwgPSAnbGlzdCc7CgogICAgICAgIHJldHVybiAkdGhpcy0+cmVuZGVyKCR0cGwsIFsKICAgICAgICAgICAgJ2NvbHVtbnMnID0+IGpzb25fZW5jb2RlKCRjb2x1bW5zLEpTT05fVU5FU0NBUEVEX1VOSUNPREUpLAogICAgICAgICAgICAnb3BlcmF0b3InID0+IGpzb25fZW5jb2RlKCRvcGVyYXRvcixKU09OX1VORVNDQVBFRF9VTklDT0RFKQogICAgICAgIF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25TZWxlY3QoKQogICAgewogICAgICAgICRwaWQgPSAkdGhpcy0+cGlkOwogICAgICAgICRpZCA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+Z2V0KCdpZCcpOwogICAgICAgICRjYWxsYmFjayA9ICFlbXB0eShZaWk6OiRhcHAtPnJlcXVlc3QtPmdldCgnY2FsbGJhY2snKSkgPyBZaWk6OiRhcHAtPnJlcXVlc3QtPmdldCgnY2FsbGJhY2snKSA6ICduZXdzJzsKICAgICAgICBpZigkaWQpICRjYWxsYmFjayAuPSAnLScuJGlkOwoKICAgICAgICAkb3B0aW9ucyA9ICR0aGlzLT5fdGFibGVPcHRpb25zKCk7CiAgICAgICAgJGNvbHVtbnMgPSAkb3B0aW9uc1snY29sdW1ucyddOwogICAgICAgICRvcGVyYXRvciA9ICRvcHRpb25zWydvcGVyYXRvciddOwogICAgICAgIC8v5LiN5L2/55So5qih5p2/5qGG5p62Ci8vICAgICAgICAkdGhpcy0+bGF5b3V0ID0gJ0BhcHAvdmlld3MvbGF5b3V0cy90YWJsZSc7CiAgICAgICAgJHRwbCA9ICdzZWxlY3QnOwogICAgICAgIHJldHVybiAkdGhpcy0+cmVuZGVyKCR0cGwsIFsKICAgICAgICAgICAgJ2lkJyA9PiAkaWQsCiAgICAgICAgICAgICdjYWxsYmFjayc9PiRjYWxsYmFjaywKICAgICAgICAgICAgJ2NvbHVtbnMnID0+IGpzb25fZW5jb2RlKCRjb2x1bW5zLEpTT05fVU5FU0NBUEVEX1VOSUNPREUpLAogICAgICAgICAgICAnb3BlcmF0b3InID0+IGpzb25fZW5jb2RlKCRvcGVyYXRvcixKU09OX1VORVNDQVBFRF9VTklDT0RFKQogICAgICAgIF0pOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25OZXcoKQogICAgewogICAgICAgICRwaWQgPSAkdGhpcy0+cGlkOwogICAgICAgICR0cGwgPSAnbW9kaWZ5JzsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlbmRlcigKICAgICAgICAgICAgJHRwbCwKICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgJ2RldGFpbCc9PltdLAogICAgICAgICAgICAgICAgJ2lkJz0+MAogICAgICAgICAgICBdCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uRWRpdCgpCiAgICB7CiAgICAgICAgJHBpZCA9ICR0aGlzLT5waWQ7CiAgICAgICAgJHBvc3QgPSAkdGhpcy0+cG9zdGRhdGE7CiAgICAgICAgJGlkID0gWWlpOjokYXBwLT5yZXF1ZXN0LT5nZXQoJ2lkJyk7CiAgICAgICAgJEFjTmV3cyA9IG5ldyBBY05ld3MoKTsKICAgICAgICAkbmV3cyA9ICRBY05ld3MtPmZpbmRPbmUoJGlkKTsKICAgICAgICAkZGV0YWlsID0gJG5ld3MtPnRvQXJyYXkoKTsKICAgICAgICBpZigkZGV0YWlsWydjaWQnXSl7CiAgICAgICAgICAgICRBY05ld3NDYXQgPSBuZXcgQWNOZXdzQ2F0KCk7CiAgICAgICAgICAgICRjYXQgPSAkQWNOZXdzQ2F0LT5maW5kT25lKCRkZXRhaWxbJ2NpZCddKTsKICAgICAgICAgICAgaWYoJGNhdCl7CiAgICAgICAgICAgICAgICAkZGV0YWlsWydjYXRfdGl0bGUnXSA9ICRjYXQtPnRpdGxlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICR0cGwgPSAnbW9kaWZ5JzsKICAgICAgICByZXR1cm4gJHRoaXMtPnJlbmRlcigKICAgICAgICAgICAgJHRwbCwKICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgJ2RldGFpbCc9PiRkZXRhaWwsCiAgICAgICAgICAgICAgICAnaWQnPT4kaWQKICAgICAgICAgICAgXQogICAgICAgICk7CiAgICB9CgogICAgLyrlpI3liLbmlofnq6AqLwogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkNvcHkoKQogICAgewogICAgICAgICRwaWQgPSAkdGhpcy0+cGlkOwogICAgICAgICRwb3N0ID0gJHRoaXMtPnBvc3RkYXRhOwogICAgICAgICRpZCA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+Z2V0KCdpZCcpOwogICAgICAgICRBY05ld3MgPSBuZXcgQWNOZXdzKCk7CiAgICAgICAgJG5ld3MgPSAkQWNOZXdzLT5maW5kT25lKCRpZCk7CiAgICAgICAgJGRldGFpbCA9ICRuZXdzLT50b0FycmF5KCk7CiAgICAgICAgJGRldGFpbFsnaWQnXSA9IDA7CiAgICAgICAgJHRwbCA9ICdtb2RpZnknOwogICAgICAgIHJldHVybiAkdGhpcy0+cmVuZGVyKAogICAgICAgICAgICAkdHBsLAogICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAnZGV0YWlsJz0+JGRldGFpbAogICAgICAgICAgICBdCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWN0aW9uU2F2ZSgpewogICAgICAgICRwb3N0ID0gJHRoaXMtPnBvc3RkYXRhOwogICAgICAgICRpZCA9IGlzc2V0KCRwb3N0WydpZCddKSA/IChpbnQpJHBvc3RbJ2lkJ10gOiAwOwogICAgICAgICRwaWQgPSBZaWk6OiRhcHAtPnNlc3Npb24tPmdldCgncGlkJyk7CiAgICAgICAgLy/moLzlvI/ljJbmlbDmja4KICAgICAgICAvL+ebruagh+mUrj3jgItQT1NU6ZSuCiAgICAgICAgJGNvbHMgPSBbJ3RpdGxlJz0+J3RpdGxlJywnZGVzJz0+J2RlcyddOwogICAgICAgIGZvcmVhY2goJGNvbHMgYXMgJGNvbD0+JGtleSl7CiAgICAgICAgICAgIGlmKGlzc2V0KCRwb3N0WyRrZXldKSl7CiAgICAgICAgICAgICAgICAkZGF0YVskY29sXSA9IHRyaW0oJHBvc3RbJGtleV0pOwogICAgICAgICAgICB9ZWxzZWlmKCEkaWQpewogICAgICAgICAgICAgICAgJGRhdGFbJGNvbF0gPSAnJzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGNvbHMgPSBbJ2NvbnRlbnQnPT4nZWRpdG9yJ107CiAgICAgICAgZm9yZWFjaCgkY29scyBhcyAkY29sPT4ka2V5KXsKICAgICAgICAgICAgaWYoaXNzZXQoJHBvc3RbJGtleV0pKXsKICAgICAgICAgICAgICAgICRkYXRhWyRjb2xdID0gaHRtbHNwZWNpYWxjaGFycygkcG9zdFska2V5XSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRjb2xzID0gWydvcmRlcmJ5Jz0+J29yZGVyYnknLCdkZWxldGVkJz0+J2RlbGV0ZWQnLCdjaWQnPT4nY2lkJywnbGlrZWQnPT4nbGlrZWQnLCdyZWFkaW5nJz0+J3JlYWRpbmcnLCd2aWV3ZWQnPT4ndmlld2VkJ107CiAgICAgICAgZm9yZWFjaCgkY29scyBhcyAkY29sPT4ka2V5KXsKICAgICAgICAgICAgaWYoaXNzZXQoJHBvc3RbJGtleV0pKXsKICAgICAgICAgICAgICAgICRkYXRhWyRjb2xdID0gKGludCkkcG9zdFska2V5XTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGNvbHMgPSBbJ2lzX3Nob3cnPT4naXNfc2hvdyddOwogICAgICAgIGZvcmVhY2goJGNvbHMgYXMgJGNvbD0+JGtleSl7CiAgICAgICAgICAgIGlmKCEkaWQpewogICAgICAgICAgICAgICAgJGRhdGFbJGNvbF0gPSBpc3NldCgkcG9zdFska2V5XSkgPyAoaW50KSRwb3N0WyRrZXldIDogMTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICBpZihpc3NldCgkcG9zdFskY29sXSkpewogICAgICAgICAgICAgICAgICAgICRkYXRhWyRjb2xdID0gKGludCkkcG9zdFska2V5XTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZighJGlkKXsKICAgICAgICAgICAgJGRhdGFbJ2NyZWF0ZV9hdCddID0gdGltZSgpOwogICAgICAgIH0KICAgICAgICAkZGF0YVsndXBkYXRlX2F0J10gPSB0aW1lKCk7CiAgICAgICAgJGRhdGFbJ3BpZCddID0gJHBpZDsKCiAgICAgICAgLy/kv53lrZgKICAgICAgICAkbXNnID0gJ+aVsOaNruS/neWtmOWksei0pSc7CiAgICAgICAgJHJlcyA9IGZhbHNlOwogICAgICAgICRjcGRlID0gMDsKICAgICAgICAkbW9kZWwgPSBuZXcgQWNOZXdzKCk7CiAgICAgICAgaWYoJGlkKXsKICAgICAgICAgICAgJF9yZWMgPSAkbW9kZWw6OmZpbmRPbmUoJGlkKTsKICAgICAgICAgICAgaWYoJF9yZWMpewogICAgICAgICAgICAgICAgZm9yZWFjaCgkZGF0YSBhcyAka2V5PT4kdmFsKXsKICAgICAgICAgICAgICAgICAgICAkX3JlYy0+JGtleSA9ICR2YWw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkcmVzID0gJF9yZWMtPnNhdmUoKTsKICAgICAgICAgICAgICAgIGlmKCRyZXMpewogICAgICAgICAgICAgICAgICAgICRtc2cgPSAn5pWw5o2u5L+d5a2Y5oiQ5YqfJzsKICAgICAgICAgICAgICAgICAgICAkY29kZSA9IDIwMDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH1lbHNlewogICAgICAgICAgICBmb3JlYWNoKCRkYXRhIGFzICRrZXk9PiR2YWwpewogICAgICAgICAgICAgICAgJG1vZGVsLT4ka2V5ID0gJHZhbDsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcmVzID0gJG1vZGVsLT5zYXZlKCk7CiAgICAgICAgICAgIGlmKCRyZXMpewogICAgICAgICAgICAgICAgJG1zZyA9ICfmlbDmja7mlrDlop7miJDlip8nOwogICAgICAgICAgICAgICAgJGlkID0gJG1vZGVsLT5hdHRyaWJ1dGVzWydpZCddOyAvL+iOt+WPluaPkuWFpeWQjmlkCiAgICAgICAgICAgICAgICAkY29kZSA9IDIwMDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkZGF0YVsnaWQnXSA9ICRpZDsKICAgICAgICAkb3AgPSBZaWk6OiRhcHAtPnJlcXVlc3QtPmdldCgnb3AnKTsKICAgICAgICBpZigkb3ApewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnJlZGlyZWN0KFsnZWRpdCcsJ2lkJz0+JGlkXSk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5yZXN1bHQoJG1zZywkZGF0YSwyMDApOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY3Rpb25BamF4KCl7CiAgICAgICAgJG9wID0gJF9HRVRbJ29wJ107ICAvL+aTjeS9nOagh+ivhu+8jOWPquWFgeiuuOWuouaIt+err0dFVOS8oOWFpQogICAgICAgICRwb3N0ID0gJHRoaXMtPnBvc3RkYXRhOwogICAgICAgICRyZXMgPSBbXTsKICAgICAgICBzd2l0Y2goJG9wKXsKICAgICAgICAgICAgY2FzZSAnZGVsJzoKICAgICAgICAgICAgICAgICRtc2cgPSAn6L2v5Yig6Zmk77yM5YGH5a6a5oiQ5YqfJzsKICAgICAgICAgICAgICAgICRyZXMgPSAkcG9zdDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5yZXN1bHQoJG1zZywkcmVzLDIwMCk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjdGlvbkpzb24oKQogICAgewogICAgICAgICRyZXMgPSAkdGhpcy0+c2VhcmNoKCk7CiAgICAgICAgJGxpc3QgPSAkcmVzWydsaXN0J107CiAgICAgICAgJGlkcyA9ICRyZXNbJ2lkcyddOwogICAgICAgICRwY2F0cyA9ICRyZXNbJ3BjYXRzJ107CiAgICAgICAgJGNhdHMgPSAkcmVzWydjYXRzJ107CiAgICAgICAgJG5ld0xpc3QgPSBbXTsKICAgICAgICBmb3JlYWNoKCRpZHMgYXMgJGlkKXsKICAgICAgICAgICAgJHJvdyA9ICRsaXN0WyRpZF07CiAgICAgICAgICAgICRyb3dbJ2NhdF90aXRsZSddID0gJyc7CiAgICAgICAgICAgIGlmKCRyb3dbJ2NpZCddPjApewogICAgICAgICAgICAgICAgaWYoaXNzZXQoJGNhdHNbJHJvd1snY2lkJ11dKSl7CiAgICAgICAgICAgICAgICAgICAgJHJvd1snY2F0X3RpdGxlJ10gPSAkY2F0c1skcm93WydjaWQnXV1bJ3RpdGxlJ107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJG5ld0xpc3RbXSA9ICRyb3c7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRkYXRhID0gW107CiAgICAgICAgJGRhdGFbJ3RvdGFsJ10gPSAkcmVzWyd0b3RhbCddOwogICAgICAgICRkYXRhWyd0b3RhbE5vdEZpbHRlcmVkJ10gPSAkcmVzWyd0b3RhbCddOwogICAgICAgICRkYXRhWydyb3dzJ10gPSAkbmV3TGlzdDsKICAgICAgICBoZWFkZXIoJ0NvbnRlbnQtVHlwZTphcHBsaWNhdGlvbi9qc29uJyk7CiAgICAgICAgZXhpdChqc29uX2VuY29kZSgkZGF0YSxKU09OX1VORVNDQVBFRF9VTklDT0RFKSk7ICAgLy/ms6jmhI/kuI3opoHliqDlvLrliLZvYmplY3Tlj4LmlbAKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIHNlYXJjaCgpewogICAgICAgICRwaWQgPSAkdGhpcy0+cGlkOwogICAgICAgICRzZXNzaW9uID0gWWlpOjokYXBwLT5zZXNzaW9uOwogICAgICAgICRtb2RlbCA9IG5ldyBBY05ld3MoKTsKICAgICAgICAkd2hlcmUgPSBbXTsKICAgICAgICAkd2hlcmVbXT0nYW5kJzsKICAgICAgICAkd2hlcmVbXSA9IFsnPScsJ3BpZCcsJHBpZF07CiAgICAgICAgJHBvc3QgPSAkdGhpcy0+cG9zdGRhdGE7CiAgICAgICAgJGdldCA9IFlpaTo6JGFwcC0+cmVxdWVzdC0+Z2V0KCk7CiAgICAgICAgJHNlYXJjaFNlc3Npb24gPSAnbmV3czo6c2VhcmNoJzsKICAgICAgICBpZiAoaXNzZXQoJF9HRVRbJ3Jlc2V0J10pICYmICRfR0VUWydyZXNldCddPT0xKSB7CiAgICAgICAgICAgICRwb3N0WydzZWFyY2gnXSA9IFtdOwogICAgICAgIH0KICAgICAgICBpZiAoaXNzZXQoJHBvc3RbJ3NlYXJjaCddKSkgewogICAgICAgICAgICAkc2VhcmNoID0gJHBvc3RbJ3NlYXJjaCddOwogICAgICAgICAgICAkc2Vzc2lvbi0+c2V0KCRzZWFyY2hTZXNzaW9uLCAkc2VhcmNoKTsKICAgICAgICB9IGVsc2VpZiAoJHNlc3Npb24tPmdldCgkc2VhcmNoU2Vzc2lvbikpIHsKICAgICAgICAgICAgJHNlYXJjaCA9ICRzZXNzaW9uLT5nZXQoJHNlYXJjaFNlc3Npb24pOwogICAgICAgIH0KCiAgICAgICAgJHNlYXJjaFsndGl0bGUnXSA9IGlzc2V0KCRzZWFyY2hbJ3RpdGxlJ10pID8gdHJpbSgkc2VhcmNoWyd0aXRsZSddKSA6ICcnOwogICAgICAgIGlmICghZW1wdHkoJHNlYXJjaFsndGl0bGUnXSkpIHsKICAgICAgICAgICAgJHdoZXJlW10gPSBbJ0xJS0UnLCd0aXRsZScsJHNlYXJjaFsndGl0bGUnXV07CiAgICAgICAgfQoKICAgICAgICAkZGVsZXRlZCA9IDA7CiAgICAgICAgaWYgKGlzc2V0KCRfR0VUWydkZWxldGVkJ10pKSB7CiAgICAgICAgICAgICRkZWxldGVkID0gaXNzZXQoJF9HRVRbJ2RlbGV0ZWQnXSkgPyAoKGludCkkX0dFVFsnZGVsZXRlZCddPj0wID8gMSA6IDApIDogMDsKICAgICAgICB9CiAgICAgICAgJHdoZXJlW109Wyc9JywnZGVsZXRlZCcsJGRlbGV0ZWRdOwoKICAgICAgICAkZGF0YSA9ICRtb2RlbC0+ZmluZCgpLT53aGVyZSgkd2hlcmUpOwogICAgICAgICR0b3RhbENvdW50ID0gJGRhdGEtPmNvdW50KCk7CiAgICAgICAgJF9vcmRlcmJ5ID0gJ29yZGVyYnkgREVTQyc7CiAgICAgICAgJHJlcyA9ICRkYXRhLT5vcmRlcmJ5KCRfb3JkZXJieSktPmFsbCgpOwoKICAgICAgICAkbGlzdCA9ICRpZHMgPSAkY2lkcyA9ICRwY2lkcyA9IFtdOwogICAgICAgICRjYXRzID0gJHBjYXRzID0gW107CiAgICAgICAgaWYgKCRyZXMpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHJlcyBhcyAkcikgewogICAgICAgICAgICAgICAgaWYoJHItPmNpZCl7CiAgICAgICAgICAgICAgICAgICAgJGNpZHNbXSA9ICRyLT5jaWQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkaWRzW10gPSAkci0+aWQ7CiAgICAgICAgICAgICAgICAkbGlzdFskci0+aWRdID0gJHItPnRvQXJyYXkoKTsgIC8v5YaF5a655oyJSUTliJflh7rvvIzku6Xkvr/lkI7nlKgKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAkQ2F0TW9kZWwgPSBuZXcgQWNOZXdzQ2F0KCk7CiAgICAgICAgaWYoJGNpZHMpewogICAgICAgICAgICAkcmVzID0gJENhdE1vZGVsLT5maW5kKCktPndoZXJlKFsnSU4nLCdpZCcsJGNpZHNdKS0+YWxsKCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXMgYXMgJHIpIHsKICAgICAgICAgICAgICAgIGlmKCRyLT5wY2F0X2lkKXsKICAgICAgICAgICAgICAgICAgICAkcGNpZHNbXT0gJHItPnBjYXRfaWQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkY2F0c1skci0+aWRdID0gJHI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoJHBjaWRzKXsKICAgICAgICAgICAgICAgICRyZXMgPSAkQ2F0TW9kZWwtPmZpbmQoKS0+d2hlcmUoWydJTicsJ2lkJywkcGNpZHNdKS0+YWxsKCk7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkcmVzIGFzICRyKSB7CiAgICAgICAgICAgICAgICAgICAgJHBjYXRzWyRyLT5pZF0gPSAkcjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAkZGF0YSA9IFtdOwogICAgICAgICRkYXRhWyd0b3RhbCddID0gJHRvdGFsQ291bnQ7CiAgICAgICAgJGRhdGFbJ3RvdGFsTm90RmlsdGVyZWQnXSA9ICR0b3RhbENvdW50OwogICAgICAgICRkYXRhWydjYXRzJ10gPSAkY2F0czsKICAgICAgICAkZGF0YVsncGNhdHMnXSA9ICRwY2F0czsKICAgICAgICAkZGF0YVsnbGlzdCddID0gJGxpc3Q7CiAgICAgICAgJGRhdGFbJ2lkcyddID0gJGlkczsKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBfdGFibGVPcHRpb25zKCl7CiAgICAgICAgJGNvbHVtbnMgPSBbXTsKICAgICAgICAkY29sdW1uc1snaWQnXSA9IFsKICAgICAgICAgICAgJ2ZpZWxkJz0+J2lkJywKICAgICAgICAgICAgJ3RpdGxlJz0+J0lEJywKICAgICAgICAgICAgJ2Zvb3RlckZvcm1hdHRlcic9PidDb3VudFRvdGFsRm9vdGVyJywKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT5mYWxzZQogICAgICAgIF07CiAgICAgICAgJGNvbHVtbnNbJ2NhdCddID0gWwogICAgICAgICAgICAnZmllbGQnPT4nY2lkJywKICAgICAgICAgICAgJ3RpdGxlJz0+J+WIhuexuycsCiAgICAgICAgICAgICdjbGFzcyc9PiJyZXNpemVfYWJsZSIsCiAgICAgICAgICAgICdmb3JtYXR0ZXInPT4nY2F0Rm9ybWF0dGVyJywKICAgICAgICAgICAgJ2ZpbHRlckNvbnRyb2wnPT4ic2VsZWN0IiwKICAgICAgICAgICAgJ3NvcnRhYmxlJz0+dHJ1ZSwKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT50cnVlCiAgICAgICAgXTsKICAgICAgICAkY29sdW1uc1sndGl0bGUnXSA9IFsKICAgICAgICAgICAgJ2ZpZWxkJz0+J3RpdGxlJywKICAgICAgICAgICAgJ3RpdGxlJz0+J+agh+mimCcsCiAgICAgICAgICAgICdjbGFzcyc9PiJyZXNpemVfYWJsZSIsCiAgICAgICAgICAgICdlZGl0YWJsZSc9Pid0ZXh0RWRpdG9yJywKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9Pid0ZXh0Rm9ybWF0dGVyJywKICAgICAgICAgICAgJ3NlYXJjaEZvcm1hdHRlcic9PnRydWUsCiAgICAgICAgICAgICdzZWFyY2hIaWdobGlnaHRGb3JtYXR0ZXInPT4nY3VzdG9tU2VhcmNoRm10JywKICAgICAgICAgICAgJ2ZpbHRlckNvbnRyb2wnPT4iaW5wdXQiLAogICAgICAgICAgICAnc2VhcmNoYWJsZSc9PnRydWUKICAgICAgICBdOwogICAgICAgICRjb2x1bW5zWydkZXMnXSA9IFsKICAgICAgICAgICAgJ2ZpZWxkJz0+J2RlcycsCiAgICAgICAgICAgICd0aXRsZSc9PifnroDov7AnLAogICAgICAgICAgICAnZWRpdGFibGUnPT4ndGV4dEVkaXRvcicsCiAgICAgICAgICAgICdmb3JtYXR0ZXInPT4ndGV4dEZvcm1hdHRlcicsCiAgICAgICAgICAgICdzZWFyY2hGb3JtYXR0ZXInPT50cnVlLAogICAgICAgICAgICAnc2VhcmNoSGlnaGxpZ2h0Rm9ybWF0dGVyJz0+J2N1c3RvbVNlYXJjaEZtdCcsCiAgICAgICAgICAgICdzZWFyY2hhYmxlJz0+dHJ1ZQogICAgICAgIF07CiAgICAgICAgJGNvbHVtbnNbJ29yZGVyYnknXSA9IFsKICAgICAgICAgICAgJ2ZpZWxkJz0+J29yZGVyYnknLAogICAgICAgICAgICAndGl0bGUnPT4n5o6S5bqPJywKICAgICAgICAgICAgJ2VkaXRhYmxlJz0+J3RleHRFZGl0b3InLAogICAgICAgICAgICAnZm9ybWF0dGVyJz0+J251bUZvcm1hdHRlcicsCiAgICAgICAgICAgICdzb3J0YWJsZSc9PnRydWUsCiAgICAgICAgICAgICdzZWFyY2hhYmxlJz0+dHJ1ZQogICAgICAgIF07CiAgICAgICAgJGNvbHVtbnNbJ3ZpZXdDb3VudCddID0gWwogICAgICAgICAgICAnZmllbGQnPT4ndmlld2VkJywKICAgICAgICAgICAgJ3RpdGxlJz0+J+a1j+iniOmHjycsCiAgICAgICAgICAgICdmb3JtYXR0ZXInPT4nbnVtRm9ybWF0dGVyJywKICAgICAgICAgICAgJ2Zvb3RlckZvcm1hdHRlcic9PidOdW1Db3VudEZvb3RlcicsCiAgICAgICAgICAgICdzb3J0YWJsZSc9PnRydWUsCiAgICAgICAgICAgICdzZWFyY2hhYmxlJz0+ZmFsc2UKICAgICAgICBdOwogICAgICAgICRjb2x1bW5zWydsaWtlQ291bnQnXSA9IFsKICAgICAgICAgICAgJ2ZpZWxkJz0+J2xpa2VkJywKICAgICAgICAgICAgJ3RpdGxlJz0+J+aUtuiXj+mHjycsCiAgICAgICAgICAgICdmb3JtYXR0ZXInPT4nbnVtRm9ybWF0dGVyJywKICAgICAgICAgICAgJ2Zvb3RlckZvcm1hdHRlcic9PidOdW1Db3VudEZvb3RlcicsCiAgICAgICAgICAgICdzb3J0YWJsZSc9PnRydWUsCiAgICAgICAgICAgICdzZWFyY2hhYmxlJz0+ZmFsc2UKICAgICAgICBdOwogICAgICAgICRjb2x1bW5zWydyZWFkaW5nQ291bnQnXSA9IFsKICAgICAgICAgICAgJ2ZpZWxkJz0+J3JlYWRpbmcnLAogICAgICAgICAgICAndGl0bGUnPT4n5Zyo55yLJywKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9PidudW1Gb3JtYXR0ZXInLAogICAgICAgICAgICAnZm9vdGVyRm9ybWF0dGVyJz0+J051bUNvdW50Rm9vdGVyJywKICAgICAgICAgICAgJ3NvcnRhYmxlJz0+dHJ1ZSwKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT5mYWxzZQogICAgICAgIF07CiAgICAgICAgJGNvbHVtbnNbJ2lzU2hvdyddID0gWwogICAgICAgICAgICAnZmllbGQnPT4naXNfc2hvdycsCiAgICAgICAgICAgICd0aXRsZSc9PifmmL7npLonLAogICAgICAgICAgICAnZWRpdGFibGUnPT4ndGV4dEVkaXRvcicsCiAgICAgICAgICAgICdmb3JtYXR0ZXInPT4neWVzbm9Gb3JtYXR0ZXInLAogICAgICAgICAgICAnZmlsdGVyQ29udHJvbCc9PiJzZWxlY3QiLAogICAgICAgICAgICAnc29ydGFibGUnPT50cnVlLAogICAgICAgICAgICAnc2VhcmNoYWJsZSc9PmZhbHNlCiAgICAgICAgXTsKICAgICAgICAkY29sdW1uc1snY3JlYXRlX2F0J10gPSBbCiAgICAgICAgICAgICdmaWVsZCc9PidjcmVhdGVfYXQnLAogICAgICAgICAgICAndGl0bGUnPT4n5Yib5bu65pel5pyfJywKICAgICAgICAgICAgJ2Zvcm1hdHRlcic9PidkYXRlRm9ybWF0dGVyJywKICAgICAgICAgICAgJ3NvcnRhYmxlJz0+dHJ1ZSwKICAgICAgICAgICAgJ3NlYXJjaGFibGUnPT5mYWxzZQogICAgICAgIF07CiAgICAgICAgJGNvbHVtbnNbJ3VwZGF0ZV9hdCddID0gWwogICAgICAgICAgICAnZmllbGQnPT4ndXBkYXRlX2F0JywKICAgICAgICAgICAgJ3RpdGxlJz0+J+abtOaWsOaXtumXtCcsCiAgICAgICAgICAgICdmb3JtYXR0ZXInPT4ndGltZUZvcm1hdHRlcicsCiAgICAgICAgICAgICdzb3J0YWJsZSc9PnRydWUsCiAgICAgICAgICAgICdzZWFyY2hhYmxlJz0+ZmFsc2UKICAgICAgICBdOwoKICAgICAgICAkb3BlcmF0b3IgPSBbXTsKICAgICAgICAkb3BlcmF0b3JbJ3Nob3dEZXRhaWwnXSA9IFsKICAgICAgICAgICAgJ2NsYXNzJz0+J3ZpZXcnLAogICAgICAgICAgICAndGl0bGUnPT4n5qaC6KeIJywKICAgICAgICAgICAgJ2ljb24nPT4nZXllJywKICAgICAgICAgICAgJ2Z1bmMnPT5mYWxzZQogICAgICAgIF07CiAgICAgICAgJG9wZXJhdG9yWydzYXZlJ10gPSBbCiAgICAgICAgICAgICdjbGFzcyc9PidzYXZlJywKICAgICAgICAgICAgJ3RpdGxlJz0+J+S/neWtmCcsCiAgICAgICAgICAgICdpY29uJz0+J3NhdmUnLAogICAgICAgICAgICAnZnVuYyc9PmZhbHNlCiAgICAgICAgXTsKICAgICAgICAkb3BlcmF0b3JbJ3JlbW92ZSddID0gWwogICAgICAgICAgICAnY2xhc3MnPT4ncmVtb3ZlJywKICAgICAgICAgICAgJ3RpdGxlJz0+J+enu+mZpCcsCiAgICAgICAgICAgICdpY29uJz0+J3RyYXNoJywKICAgICAgICAgICAgJ2Z1bmMnPT5mYWxzZQogICAgICAgIF07CiAgICAgICAgJG9wZXJhdG9yWydlZGl0J10gPSBbCiAgICAgICAgICAgICdjbGFzcyc9PidocmVmJywKICAgICAgICAgICAgJ3RpdGxlJz0+J+e8lui+kScsCiAgICAgICAgICAgICdpY29uJz0+J3BlbmNpbCcsCiAgICAgICAgICAgICdmdW5jJz0+ZmFsc2UKICAgICAgICBdOwoKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAnY29sdW1ucycgPT4gJGNvbHVtbnMsCiAgICAgICAgICAgICdvcGVyYXRvcicgPT4gJG9wZXJhdG9yCiAgICAgICAgXTsKICAgIH0KfQAAAAAAAAAAHTMAAAAAAAAAAAAAAAAAAAAAAAAdMwAAAAAAAAAAAAAAAAAAAAAAAB0zAAAAAAAAAAAAAAAAAAAAAAAAHTMAAAAAAAAAAAAAAAAAAAAAAAAdMwAAAAAAAAAAAAA", - "BQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAADPHQAAAAAAAM8dAAAAAAAAAAAAAAAA8L8" - ] - ] } ], "build_system": "", @@ -3060,34 +910,25 @@ [ "/Users/fm453/webdev/localhost/yii", "/Users/fm453/webdev/localhost/yii/addons-ctms", - "/Users/fm453/webdev/localhost/yii/addons-ctms/config", "/Users/fm453/webdev/localhost/yii/admins", + "/Users/fm453/webdev/localhost/yii/admins/config", + "/Users/fm453/webdev/localhost/yii/admins/web", "/Users/fm453/webdev/localhost/yii/ctms-admin", - "/Users/fm453/webdev/localhost/yii/ctms-admin/assets", - "/Users/fm453/webdev/localhost/yii/ctms-admin/components", "/Users/fm453/webdev/localhost/yii/ctms-admin/config", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views/layouts", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views/news", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views/newscat", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views/notice", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views/order", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views/orderpre", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views/site", - "/Users/fm453/webdev/localhost/yii/ctms-admin/web", - "/Users/fm453/webdev/localhost/yii/ctms-api", - "/Users/fm453/webdev/localhost/yii/ctms-api/config", - "/Users/fm453/webdev/localhost/yii/ctms-api/controllers", - "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/client", - "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/gm", - "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/gm/v1" + "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers", + "/Users/fm453/webdev/localhost/yii/ctms-admin/models", + "/Users/fm453/webdev/localhost/yii/ctms-admin/web" ], "file_history": [ + "/Users/fm453/webdev/localhost/yii/composer.json", + "/Users/fm453/webdev/localhost/yii/version.php", + "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php", + "/Users/fm453/webdev/localhost/yii/ctms-admin/views/layouts/main.php", + "/Users/fm453/webdev/localhost/yii/ctms-admin/web/index.php", "/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2-bootstrap/src/LinkPager.php", "/Users/fm453/webdev/localhost/yii/admins/config/db.php", "/Users/fm453/webdev/localhost/yii/admins/config/db-local.php", - "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NewsController.php", "/Users/fm453/webdev/localhost/yii/ctms-admin/controllers/NoticeController.php", "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/client/v1/NoticeController.php", "/Users/fm453/webdev/localhost/yii/ctms-api/controllers/client/v1/OrderController.php", @@ -3100,7 +941,6 @@ "/Users/fm453/webdev/localhost/yii/ctms-admin/views/news/modify.php", "/Users/fm453/webdev/localhost/yii/ctms-admin/views/newscat/pcat.php", "/Users/fm453/webdev/localhost/yii/ctms-admin/views/newscat/list.php", - "/Users/fm453/webdev/localhost/yii/ctms-admin/views/layouts/main.php", "/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/toastr/toastr.min.js", "/Users/fm453/webdev/localhost/yii/.gitattributes", "/Users/fm453/webdev/localhost/yii/.gitignore", @@ -3123,7 +963,6 @@ "/Users/fm453/webdev/localhost/yii/common/models/Member.php", "/Users/fm453/webdev/localhost/yii/ctms-admin/views/orderpre/modify.php", "/Users/fm453/webdev/localhost/yii/vendor/yiisoft/yii2/base/Model.php", - "/Users/fm453/webdev/localhost/yii/composer.json", "/Users/fm453/webdev/localhost/tool/h+/graph_echarts.php", "/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/pdfmake/vfs_fonts2.js", "/Users/fm453/webdev/localhost/yii/ctms-admin/web/js/plugins/bootstrap-table-V1.23.1/dependence/pdfmake/vfs_fonts.js", @@ -3209,9 +1048,7 @@ "/Users/fm453/webdev/localhost/vpage/plugin/vip.php", "/Users/fm453/webdev/localhost/vpage/plugin/vip_users.json", "/Users/fm453/webdev/localhost/vpage/plugin/vip_numbers.json", - "/Users/fm453/webdev/localhost/vpage/plugin/pingbi.json", - "/Users/fm453/webdev/localhost/vpage/plugin/pd.php", - "/Users/fm453/webdev/localhost/vpage/result.php" + "/Users/fm453/webdev/localhost/vpage/plugin/pingbi.json" ], "find": { @@ -3259,7 +1096,7 @@ "semi_transient": false, "settings": { - "buffer_size": 5835, + "buffer_size": 5558, "regions": { }, @@ -3402,7 +1239,7 @@ "translation.y": 0.0, "zoom_level": 1.0 }, - "stack_index": 3, + "stack_index": 2, "stack_multiselect": false, "type": "text" }, @@ -3412,7 +1249,7 @@ "semi_transient": false, "settings": { - "buffer_size": 4007, + "buffer_size": 3584, "regions": { }, @@ -3443,26 +1280,26 @@ }, "bracket_highlighter.regions": [ + "bh_angle", + "bh_angle_center", + "bh_angle_open", + "bh_angle_close", + "bh_angle_content", "bh_single_quote", "bh_single_quote_center", "bh_single_quote_open", "bh_single_quote_close", "bh_single_quote_content", - "bh_double_quote", - "bh_double_quote_center", - "bh_double_quote_open", - "bh_double_quote_close", - "bh_double_quote_content", - "bh_c_define", - "bh_c_define_center", - "bh_c_define_open", - "bh_c_define_close", - "bh_c_define_content", "bh_default", "bh_default_center", "bh_default_open", "bh_default_close", "bh_default_content", + "bh_regex", + "bh_regex_center", + "bh_regex_open", + "bh_regex_close", + "bh_regex_content", "bh_round", "bh_round_center", "bh_round_open", @@ -3473,31 +1310,31 @@ "bh_square_open", "bh_square_close", "bh_square_content", + "bh_tag", + "bh_tag_center", + "bh_tag_open", + "bh_tag_close", + "bh_tag_content", "bh_unmatched", "bh_unmatched_center", "bh_unmatched_open", "bh_unmatched_close", "bh_unmatched_content", - "bh_regex", - "bh_regex_center", - "bh_regex_open", - "bh_regex_close", - "bh_regex_content", + "bh_c_define", + "bh_c_define_center", + "bh_c_define_open", + "bh_c_define_close", + "bh_c_define_content", + "bh_double_quote", + "bh_double_quote_center", + "bh_double_quote_open", + "bh_double_quote_close", + "bh_double_quote_content", "bh_curly", "bh_curly_center", "bh_curly_open", "bh_curly_close", - "bh_curly_content", - "bh_angle", - "bh_angle_center", - "bh_angle_open", - "bh_angle_close", - "bh_angle_content", - "bh_tag", - "bh_tag_center", - "bh_tag_open", - "bh_tag_close", - "bh_tag_content" + "bh_curly_content" ], "c_time": [ @@ -3554,183 +1391,26 @@ "translation.y": 0.0, "zoom_level": 1.0 }, - "stack_index": 2, - "stack_multiselect": false, - "type": "text" - }, - { - "buffer": 2, - "file": "ctms-admin/views/layouts/main.php", - "semi_transient": false, - "settings": - { - "buffer_size": 8417, - "regions": - { - }, - "selection": - [ - [ - 248, - 248 - ] - ], - "settings": - { - "bracket_highlighter.busy": false, - "bracket_highlighter.locations": - { - "close": - { - }, - "icon": - { - }, - "open": - { - }, - "unmatched": - { - "1": - [ - 3527, - 3532 - ] - } - }, - "bracket_highlighter.regions": - [ - "bh_single_quote", - "bh_single_quote_center", - "bh_single_quote_open", - "bh_single_quote_close", - "bh_single_quote_content", - "bh_double_quote", - "bh_double_quote_center", - "bh_double_quote_open", - "bh_double_quote_close", - "bh_double_quote_content", - "bh_c_define", - "bh_c_define_center", - "bh_c_define_open", - "bh_c_define_close", - "bh_c_define_content", - "bh_default", - "bh_default_center", - "bh_default_open", - "bh_default_close", - "bh_default_content", - "bh_round", - "bh_round_center", - "bh_round_open", - "bh_round_close", - "bh_round_content", - "bh_square", - "bh_square_center", - "bh_square_open", - "bh_square_close", - "bh_square_content", - "bh_unmatched", - "bh_unmatched_center", - "bh_unmatched_open", - "bh_unmatched_close", - "bh_unmatched_content", - "bh_regex", - "bh_regex_center", - "bh_regex_open", - "bh_regex_close", - "bh_regex_content", - "bh_curly", - "bh_curly_center", - "bh_curly_open", - "bh_curly_close", - "bh_curly_content", - "bh_angle", - "bh_angle_center", - "bh_angle_open", - "bh_angle_close", - "bh_angle_content", - "bh_tag", - "bh_tag_center", - "bh_tag_open", - "bh_tag_close", - "bh_tag_content" - ], - "c_time": - [ - 128, - 3, - 99, - 100, - 97, - 116, - 101, - 116, - 105, - 109, - 101, - 10, - 100, - 97, - 116, - 101, - 116, - 105, - 109, - 101, - 10, - 113, - 0, - 67, - 10, - 7, - 232, - 8, - 8, - 18, - 9, - 40, - 0, - 230, - 98, - 113, - 1, - 133, - 113, - 2, - 82, - 113, - 3, - 46 - ], - "syntax": "Packages/PHP/PHP.sublime-syntax", - "tab_size": 4, - "translate_tabs_to_spaces": true - }, - "translation.x": 0.0, - "translation.y": 31.0, - "zoom_level": 1.0 - }, "stack_index": 1, "stack_multiselect": false, "type": "text" }, { - "buffer": 3, - "file": "addons-ctms/config/params-area.php", + "buffer": 2, + "file": "ctms-admin/controllers/SiteController.php", "selected": true, - "semi_transient": true, + "semi_transient": false, "settings": { - "buffer_size": 990, + "buffer_size": 3070, "regions": { }, "selection": [ [ - 267, - 267 + 2585, + 2585 ] ], "settings": @@ -3742,24 +1422,24 @@ { "1": [ - 267, - 268 + 2919, + 2920 ] }, "icon": { "1": [ - "Packages/BracketHighlighter/icons/single_quote.png", - "region.greenish" + "Packages/BracketHighlighter/icons/curly_bracket.png", + "region.purplish" ] }, "open": { "1": [ - 260, - 261 + 2496, + 2497 ] }, "unmatched": @@ -3768,26 +1448,26 @@ }, "bracket_highlighter.regions": [ + "bh_angle", + "bh_angle_center", + "bh_angle_open", + "bh_angle_close", + "bh_angle_content", "bh_single_quote", "bh_single_quote_center", "bh_single_quote_open", "bh_single_quote_close", "bh_single_quote_content", - "bh_double_quote", - "bh_double_quote_center", - "bh_double_quote_open", - "bh_double_quote_close", - "bh_double_quote_content", - "bh_c_define", - "bh_c_define_center", - "bh_c_define_open", - "bh_c_define_close", - "bh_c_define_content", "bh_default", "bh_default_center", "bh_default_open", "bh_default_close", "bh_default_content", + "bh_regex", + "bh_regex_center", + "bh_regex_open", + "bh_regex_close", + "bh_regex_content", "bh_round", "bh_round_center", "bh_round_open", @@ -3798,31 +1478,31 @@ "bh_square_open", "bh_square_close", "bh_square_content", + "bh_tag", + "bh_tag_center", + "bh_tag_open", + "bh_tag_close", + "bh_tag_content", "bh_unmatched", "bh_unmatched_center", "bh_unmatched_open", "bh_unmatched_close", "bh_unmatched_content", - "bh_regex", - "bh_regex_center", - "bh_regex_open", - "bh_regex_close", - "bh_regex_content", + "bh_c_define", + "bh_c_define_center", + "bh_c_define_open", + "bh_c_define_close", + "bh_c_define_content", + "bh_double_quote", + "bh_double_quote_center", + "bh_double_quote_open", + "bh_double_quote_close", + "bh_double_quote_content", "bh_curly", "bh_curly_center", "bh_curly_open", "bh_curly_close", - "bh_curly_content", - "bh_angle", - "bh_angle_center", - "bh_angle_open", - "bh_angle_close", - "bh_angle_content", - "bh_tag", - "bh_tag_center", - "bh_tag_open", - "bh_tag_close", - "bh_tag_content" + "bh_curly_content" ], "c_time": [ @@ -3853,14 +1533,14 @@ 10, 7, 232, - 8, - 8, - 18, - 9, - 38, 10, - 209, - 187, + 22, + 12, + 57, + 13, + 8, + 158, + 127, 113, 1, 133, @@ -3876,7 +1556,7 @@ "translate_tabs_to_spaces": true }, "translation.x": 0.0, - "translation.y": 0.0, + "translation.y": 2380.0, "zoom_level": 1.0 }, "stack_index": 0, @@ -3889,21 +1569,20 @@ "sheets": [ { - "buffer": 4, - "file": "ctms-admin/controllers/NewsController.php", - "selected": true, + "buffer": 3, + "file": "ctms-admin/models/LoginForm.php", "semi_transient": false, "settings": { - "buffer_size": 13085, + "buffer_size": 4024, "regions": { }, "selection": [ [ - 6067, - 6067 + 2831, + 2831 ] ], "settings": @@ -3915,24 +1594,24 @@ { "1": [ - 6080, - 6081 + 4020, + 4021 ] }, "icon": { "1": [ - "Packages/BracketHighlighter/icons/single_quote.png", - "region.greenish" + "Packages/BracketHighlighter/icons/curly_bracket.png", + "region.purplish" ] }, "open": { "1": [ - 6065, - 6066 + 2470, + 2471 ] }, "unmatched": @@ -3941,26 +1620,26 @@ }, "bracket_highlighter.regions": [ + "bh_angle", + "bh_angle_center", + "bh_angle_open", + "bh_angle_close", + "bh_angle_content", "bh_single_quote", "bh_single_quote_center", "bh_single_quote_open", "bh_single_quote_close", "bh_single_quote_content", - "bh_double_quote", - "bh_double_quote_center", - "bh_double_quote_open", - "bh_double_quote_close", - "bh_double_quote_content", - "bh_c_define", - "bh_c_define_center", - "bh_c_define_open", - "bh_c_define_close", - "bh_c_define_content", "bh_default", "bh_default_center", "bh_default_open", "bh_default_close", "bh_default_content", + "bh_regex", + "bh_regex_center", + "bh_regex_open", + "bh_regex_close", + "bh_regex_content", "bh_round", "bh_round_center", "bh_round_open", @@ -3971,31 +1650,31 @@ "bh_square_open", "bh_square_close", "bh_square_content", + "bh_tag", + "bh_tag_center", + "bh_tag_open", + "bh_tag_close", + "bh_tag_content", "bh_unmatched", "bh_unmatched_center", "bh_unmatched_open", "bh_unmatched_close", "bh_unmatched_content", - "bh_regex", - "bh_regex_center", - "bh_regex_open", - "bh_regex_close", - "bh_regex_content", + "bh_c_define", + "bh_c_define_center", + "bh_c_define_open", + "bh_c_define_close", + "bh_c_define_content", + "bh_double_quote", + "bh_double_quote_center", + "bh_double_quote_open", + "bh_double_quote_close", + "bh_double_quote_content", "bh_curly", "bh_curly_center", "bh_curly_open", "bh_curly_close", - "bh_curly_content", - "bh_angle", - "bh_angle_center", - "bh_angle_open", - "bh_angle_close", - "bh_angle_content", - "bh_tag", - "bh_tag_center", - "bh_tag_open", - "bh_tag_close", - "bh_tag_content" + "bh_curly_content" ], "c_time": [ @@ -4026,14 +1705,14 @@ 10, 7, 232, - 7, - 26, 10, - 54, - 54, - 5, - 180, - 157, + 22, + 15, + 58, + 11, + 11, + 112, + 3, 113, 1, 133, @@ -4044,13 +1723,165 @@ 3, 46 ], - "open_with_edit": true, "syntax": "Packages/PHP/PHP.sublime-syntax", "tab_size": 4, "translate_tabs_to_spaces": true }, "translation.x": 0.0, - "translation.y": 5849.5, + "translation.y": 2675.0, + "zoom_level": 1.0 + }, + "stack_index": 1, + "stack_multiselect": false, + "type": "text" + }, + { + "buffer": 4, + "file": "/Users/fm453/webdev/数据库备份/dacms-nodata.sql", + "selected": true, + "semi_transient": false, + "settings": + { + "buffer_size": 74250, + "regions": + { + }, + "selection": + [ + [ + 107, + 107 + ] + ], + "settings": + { + "bracket_highlighter.busy": false, + "bracket_highlighter.locations": + { + "close": + { + }, + "icon": + { + }, + "open": + { + }, + "unmatched": + { + } + }, + "bracket_highlighter.regions": + [ + "bh_angle", + "bh_angle_center", + "bh_angle_open", + "bh_angle_close", + "bh_angle_content", + "bh_single_quote", + "bh_single_quote_center", + "bh_single_quote_open", + "bh_single_quote_close", + "bh_single_quote_content", + "bh_default", + "bh_default_center", + "bh_default_open", + "bh_default_close", + "bh_default_content", + "bh_regex", + "bh_regex_center", + "bh_regex_open", + "bh_regex_close", + "bh_regex_content", + "bh_round", + "bh_round_center", + "bh_round_open", + "bh_round_close", + "bh_round_content", + "bh_square", + "bh_square_center", + "bh_square_open", + "bh_square_close", + "bh_square_content", + "bh_tag", + "bh_tag_center", + "bh_tag_open", + "bh_tag_close", + "bh_tag_content", + "bh_unmatched", + "bh_unmatched_center", + "bh_unmatched_open", + "bh_unmatched_close", + "bh_unmatched_content", + "bh_c_define", + "bh_c_define_center", + "bh_c_define_open", + "bh_c_define_close", + "bh_c_define_content", + "bh_double_quote", + "bh_double_quote_center", + "bh_double_quote_open", + "bh_double_quote_close", + "bh_double_quote_content", + "bh_curly", + "bh_curly_center", + "bh_curly_open", + "bh_curly_close", + "bh_curly_content" + ], + "c_time": + [ + 128, + 3, + 99, + 100, + 97, + 116, + 101, + 116, + 105, + 109, + 101, + 10, + 100, + 97, + 116, + 101, + 116, + 105, + 109, + 101, + 10, + 113, + 0, + 67, + 10, + 7, + 232, + 10, + 25, + 8, + 38, + 35, + 2, + 0, + 81, + 113, + 1, + 133, + 113, + 2, + 82, + 113, + 3, + 46 + ], + "syntax": "Packages/SQL/SQL.sublime-syntax", + "tab_size": 2, + "translate_tabs_to_spaces": true + }, + "translation.x": 0.0, + "translation.y": 4608.0, "zoom_level": 1.0 }, "stack_index": 0, diff --git a/addons-ctms/config/db-local.php b/addons-ctms/config/db-local.php index 891d63b..9d80d96 100755 --- a/addons-ctms/config/db-local.php +++ b/addons-ctms/config/db-local.php @@ -16,6 +16,7 @@ $config = [ 'password' => 'ejxsrxZCP34xNjF2', 'charset' => 'utf8', 'tablePrefix' => '', +// 'attributes' => [PDO::ATTR_CASE => PDO::CASE_LOWER], //解决mysql8列值字母大小不一 ], 'ac' => [ 'class' => 'yii\db\Connection', diff --git a/common/config/main.php b/common/config/main.php index 56d69f2..aab6fb3 100755 --- a/common/config/main.php +++ b/common/config/main.php @@ -24,12 +24,12 @@ return [ // for the mailer to send real emails. 'useFileTransport' => false, 'transport' => [ - // 'class' => 'Swift_SmtpTransport', //使用的类 'scheme' => 'smtps', 'host' => 'smtp.qq.com', //邮箱服务一地址 'username' => '393213759@qq.com',//邮箱地址,发送的邮箱 'password' => 'oqqkcnstydagbigd', //QQ邮箱授权码 'port' => '465', //服务器端口 + 'dsn' => 'native://default', 'encryption' => 'ssl', //加密方式 ], 'messageConfig'=>[ diff --git a/common/models/CLog.php b/common/models/CLog.php index 5474467..2a4202b 100755 --- a/common/models/CLog.php +++ b/common/models/CLog.php @@ -28,8 +28,9 @@ class CLog extends \yii\db\ActiveRecord public function rules() { return [ - [['username', 'create_time'], 'string', 'max' => 32], - [['ip', 'data'], 'string', 'max' => 64], + [['username'], 'string', 'max' => 32], + [['ip'], 'string', 'max' => 64], + [['data'], 'string', 'max' => 500], ]; } diff --git a/common/models/Logs.php b/common/models/Logs.php index a9f35f7..d725aab 100755 --- a/common/models/Logs.php +++ b/common/models/Logs.php @@ -1,52 +1,52 @@ 32], - [['ip'], 'string', 'max' => 64], - [['uid'], 'string', 'max' => 11], - [['usertype'], 'string', 'max' => 1], - [['file','m','v','c','a','domain'], 'string', 'max' => 255], - ]; - } - - /** - * @inheritdoc - */ - public function attributeLabels() - { - return [ - 'username' => Yii::t('common' ,'Username'), - 'usertype' => Yii::t('common' ,'Usertype'), - 'ip' => Yii::t('common' ,'Ip'), - 'data' => Yii::t('common' ,'Do Data'), - 'create_time' => Yii::t('common' ,'Create Time'), - ]; - } -} + + namespace common\models; + + use Yii; + + /** + * This is the model class for table "c_logs". + * + * @property string $username + * @property string $ip + * @property string $data + * @property string $create_time + */ + class Logs extends \yii\db\ActiveRecord + { + /** + * @inheritdoc + */ + public static function tableName() + { + return '{{%c_logs}}'; + } + + /** + * @inheritdoc + */ + public function rules() + { + return [ + [['username', 'create_time'], 'string', 'max' => 32], + [['ip'], 'string', 'max' => 64], + [['uid'], 'string', 'max' => 11], + [['usertype'], 'string', 'max' => 1], + [['file', 'm', 'v', 'c', 'a', 'domain'], 'string', 'max' => 255], + ]; + } + + /** + * @inheritdoc + */ + public function attributeLabels() + { + return [ + 'username' => Yii::t('common', 'Username'), + 'usertype' => Yii::t('common', 'Usertype'), + 'ip' => Yii::t('common', 'Ip'), + 'data' => Yii::t('common', 'Do Data'), + 'create_time' => Yii::t('common', 'Create Time'), + ]; + } + } diff --git a/ctms-admin/controllers/Common.php b/ctms-admin/controllers/Common.php index efee77e..083c67b 100644 --- a/ctms-admin/controllers/Common.php +++ b/ctms-admin/controllers/Common.php @@ -23,6 +23,11 @@ class Common extends Controller $get = Yii::$app->request->get(); $session = Yii::$app->session; $this->pid = $session->get('pid'); + if (isset($_GET['pid']) && (int)$_GET['pid'] > 0) { + $session->set('pid', (int)$_GET['pid']); + $this->pid = (int)$_GET['pid']; + } + if (!$this->pid) { return Yii::$app->response->redirect(['index/index']); } diff --git a/ctms-admin/controllers/IndexController.php b/ctms-admin/controllers/IndexController.php index 2b35d80..1ea7d41 100755 --- a/ctms-admin/controllers/IndexController.php +++ b/ctms-admin/controllers/IndexController.php @@ -51,7 +51,7 @@ class IndexController extends \yii\web\Controller $plats[$p->id] = $p->toArray(); } }else{ - $plats[] = ['id'=>1,'title'=>'安诚捷顺','thumb'=>'http://public.hiluker.com/qichetuoyun/logo.png']; + $plats[] = ['id' => 1, 'title' => '安邮车联', 'thumb' => 'http://public.hiluker.com/qichetuoyun/logo.png']; } if(isset($_GET['pid'])){ @@ -59,7 +59,6 @@ class IndexController extends \yii\web\Controller if($pid>0){ $session->set('pid',$pid); return $this->actionWelcome(); - exit; }else{ return $this->render('index',['plats'=>$plats]); } diff --git a/ctms-admin/controllers/NewscatController.php b/ctms-admin/controllers/NewscatController.php index 795927f..13a25a0 100644 --- a/ctms-admin/controllers/NewscatController.php +++ b/ctms-admin/controllers/NewscatController.php @@ -7,7 +7,8 @@ namespace backend\controllers; -use addons\models\AcNewsCat;use Yii; +use Yii; +use addons\models\AcNewsCat; class NewscatController extends Common{ public $enableCsrfValidation = false; diff --git a/ctms-admin/controllers/OrderController.php b/ctms-admin/controllers/OrderController.php index e68aef4..9128844 100755 --- a/ctms-admin/controllers/OrderController.php +++ b/ctms-admin/controllers/OrderController.php @@ -28,22 +28,8 @@ use common\models\CVcode; use addons\models\AcContact; use common\models\Fans; -class OrderController extends \yii\web\Controller +class OrderController extends Common { - //替代常规的_construct 析构函数;其他方法调用前执行 - public function init() - { - parent::init(); - $session = Yii::$app->session; - if (isset($_GET['pid']) && (int)$_GET['pid']>0) { - $session->set('pid', (int)$_GET['pid']); - } - $pid = $session->get('pid'); - if (!$pid) { - return Yii::$app->response->redirect(['index/index']); - } - } - //主界面 public function actionIndex() { @@ -55,7 +41,7 @@ class OrderController extends \yii\web\Controller public function actionList() { global $_HI,$_FM; - $pid = Yii::$app->session->get('pid'); + $pid = $this->pid; $session = Yii::$app->session; $model = new AcOrder(); $where = []; diff --git a/ctms-admin/models/LoginForm.php b/ctms-admin/models/LoginForm.php index e50a3b0..bb5fc79 100755 --- a/ctms-admin/models/LoginForm.php +++ b/ctms-admin/models/LoginForm.php @@ -103,7 +103,14 @@ class LoginForm extends Model public function loginLog(){ $request = Yii::$app->getRequest(); $nowFile = $request -> getScriptFile(); - $data = "登陆系统|途径:".$nowFile; + $url = $request->getUrl(); + $hostInfo = $request->getHostInfo(); + $port = $request->getPort(); + $data = "登陆系统:"; + $data .= "|域名:" . $hostInfo; + $data .= "|端口:" . $port; + $data .= "|网址:" . $url; + $data .= "|脚本:" . $nowFile; $model = new CLog(); $model->username = $this->username; @@ -111,23 +118,34 @@ class LoginForm extends Model $model->data = $data; $model->create_time = time(); $model->save(); - - //编制邮件发送通知 +// $res = $model->getErrors(); //数据保存报错时可以用此打印出错误 + + //编制邮件发送通知(并发问题导致502错误,故暂只发一个邮件 + $messages = []; $message = Yii::$app->mailer->compose(); - $message->setFrom(Yii::$app->params['noticeEmail']); - //给登陆者发送 +// $message->setFrom(Yii::$app->params['noticeEmail']); + + //message 给登陆者发送 $subject = "账号登陆提醒"; - $body = "您的账号【".$this->username."】刚刚登陆了网站:".Yii::$app->getRequest()->absoluteUrl; - $message->setTo(Yii::$app->user->identity->email) - ->setSubject($subject) - ->setTextBody($body) - ->send(); - //给管理人员发送 + $body = "您的账号【" . $this->username . "】刚刚登陆了网站:" . $request->absoluteUrl; + $message->setTo(Yii::$app->user->identity->email); + $message->setSubject($subject); + $message->setTextBody($body); +// $message->send(); //单发时可用该方法,群发时会导致页面卡停,报502错 + $messages[] = $message; + + //message2 给管理人员发送 + $message2 = Yii::$app->mailer->compose(); $subject = "账号登陆提醒"; - $body = "运维账号【".$this->username."】刚刚登陆了网站:".Yii::$app->getRequest()->absoluteUrl; - $message->setTo('1280880631@qq.com') - ->setSubject($subject) - ->setTextBody($body) - ->send(); + $body = "运维账号【" . $this->username . "】刚刚登陆了网站:" . $request->absoluteUrl; + $message2->setTo('1280880631@qq.com'); + $message2->setSubject($subject); + $message2->setTextBody($body); + $message2->send(); + $messages[] = $message2; + + //群发 +// Yii::$app->mailer->sendMultiple($messages); + } } diff --git a/ctms-admin/runtime/logs/app.log b/ctms-admin/runtime/logs/app.log index e8aff5b..a7a007f 100755 --- a/ctms-admin/runtime/logs/app.log +++ b/ctms-admin/runtime/logs/app.log @@ -100300,3 +100300,2244 @@ $_SERVER = [ 'REQUEST_TIME_FLOAT' => 1722530881.4084 'REQUEST_TIME' => 1722530881 ] +2024-10-18 10:46:25 [11.22.33.2][-][f54cq6bo4vsdeakd451cv8l2j3][error][yii\db\Exception] PDOException: SQLSTATE[HY000] [1045] Access denied for user 'dacms'@'localhost' (using password: YES) in /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php:722 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(722): PDO->__construct() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(637): yii\db\Connection->createPdoInstance() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1067): yii\db\Connection->open() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1054): yii\db\Connection->getMasterPdo() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(261): yii\db\Connection->getSlavePdo() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(1181): yii\db\Command->prepare() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(417): yii\db\Command->queryInternal() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(328): yii\db\Command->queryAll() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(133): yii\db\mysql\Schema->findColumns() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(756): yii\db\mysql\Schema->loadTableSchema() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(192): yii\db\Schema->getTableMetadata() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(439): yii\db\Schema->getTableSchema() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(266): yii\db\ActiveRecord::getTableSchema() +#13 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(238): yii\db\ActiveRecord::filterValidColumnNames() +#14 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(195): yii\db\ActiveRecord::filterCondition() +#15 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/BaseActiveRecord.php(110): yii\db\ActiveRecord::findByCondition() +#16 /media/psf/localhost/yii/ctms-admin/models/Adminer.php(160): yii\db\BaseActiveRecord::findOne() +#17 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(96): backend\models\Adminer::findByUsername() +#18 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(67): backend\models\LoginForm->getUser() +#19 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/InlineValidator.php(77): backend\models\LoginForm->validatePassword() +#20 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute() +#21 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes() +#22 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(81): yii\base\Model->validate() +#23 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(103): backend\models\LoginForm->login() +#24 [internal function]: backend\controllers\SiteController->actionLogin() +#25 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#26 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#27 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#28 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#29 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#30 /media/psf/localhost/yii/ctms-admin/web/index.php(41): yii\base\Application->run() +#31 {main} + +Next yii\db\Exception: SQLSTATE[HY000] [1045] Access denied for user 'dacms'@'localhost' (using password: YES) in /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php:648 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1067): yii\db\Connection->open() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1054): yii\db\Connection->getMasterPdo() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(261): yii\db\Connection->getSlavePdo() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(1181): yii\db\Command->prepare() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(417): yii\db\Command->queryInternal() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(328): yii\db\Command->queryAll() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(133): yii\db\mysql\Schema->findColumns() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(756): yii\db\mysql\Schema->loadTableSchema() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(192): yii\db\Schema->getTableMetadata() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(439): yii\db\Schema->getTableSchema() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(266): yii\db\ActiveRecord::getTableSchema() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(238): yii\db\ActiveRecord::filterValidColumnNames() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(195): yii\db\ActiveRecord::filterCondition() +#13 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/BaseActiveRecord.php(110): yii\db\ActiveRecord::findByCondition() +#14 /media/psf/localhost/yii/ctms-admin/models/Adminer.php(160): yii\db\BaseActiveRecord::findOne() +#15 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(96): backend\models\Adminer::findByUsername() +#16 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(67): backend\models\LoginForm->getUser() +#17 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/InlineValidator.php(77): backend\models\LoginForm->validatePassword() +#18 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute() +#19 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes() +#20 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(81): yii\base\Model->validate() +#21 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(103): backend\models\LoginForm->login() +#22 [internal function]: backend\controllers\SiteController->actionLogin() +#23 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#24 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#25 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#26 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#27 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#28 /media/psf/localhost/yii/ctms-admin/web/index.php(41): yii\base\Application->run() +#29 {main} +Additional Information: +Array +( + [0] => HY000 + [1] => 1045 + [2] => Access denied for user 'dacms'@'localhost' (using password: YES) +) + +2024-10-18 10:46:25 [11.22.33.2][-][f54cq6bo4vsdeakd451cv8l2j3][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'z-5RNE2h357hoZux1u8ILvhZD-9qdODF1eNqDw6LjEe7rSNiF9fu37aM2Oa5h050gQBln10rqvOboD1MbOm0Hw==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'c80252807713fd71a9160523f07f017bd092b7366fc625f22846fdb97c4b8387a:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"Fh8APuCK-39kfa5reHwNCC11L9Dg5ARo\";}' + '_csrf-backend' => '33fcf1edaabea6cb76a9f48aee903c113072067ccacd03a281d37b96277deb24a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"tCrVZv1AW-CWohFZyYjp7_J6NCWCbb8X\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => '4hi2a9n4l6f10iioci56lelfok' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + '452c1c59f44f02669d0e09d453d695fc' => 'c7f522fd-1791-4a47-92f5-914bc20ced21.EDigT268Tc2RZXfyPoKUjtm_RVw' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + 'http_Path' => '/media/psf/localhost/yii' +] + +$_SESSION = [ + '__flash' => [] + '__returnUrl' => 'http://11.22.33.48:10031/' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=c80252807713fd71a9160523f07f017bd092b7366fc625f22846fdb97c4b8387a%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22Fh8APuCK-39kfa5reHwNCC11L9Dg5ARo%22%3B%7D; advanced-backend=3nllbkmb1i2ie3gch86ljn271o; _csrf-backend=33fcf1edaabea6cb76a9f48aee903c113072067ccacd03a281d37b96277deb24a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22tCrVZv1AW-CWohFZyYjp7_J6NCWCbb8X%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=4hi2a9n4l6f10iioci56lelfok; i_like_gitea=eac81993543b0a60; lang=zh-CN; 452c1c59f44f02669d0e09d453d695fc=c7f522fd-1791-4a47-92f5-914bc20ced21.EDigT268Tc2RZXfyPoKUjtm_RVw; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index.php/site/login.hi' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '62811' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index.php/site/login.hi' + 'REQUEST_URI' => '/index.php/site/login.hi' + 'SCRIPT_NAME' => '/index.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729219585.3595 + 'REQUEST_TIME' => 1729219585 +] +2024-10-24 06:12:23 [11.22.33.2][-][f54cq6bo4vsdeakd451cv8l2j3][error][yii\db\Exception] PDOException: SQLSTATE[HY000] [1045] Access denied for user 'dacms'@'localhost' (using password: YES) in /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php:722 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(722): PDO->__construct() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(637): yii\db\Connection->createPdoInstance() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1067): yii\db\Connection->open() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1054): yii\db\Connection->getMasterPdo() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(261): yii\db\Connection->getSlavePdo() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(1181): yii\db\Command->prepare() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(417): yii\db\Command->queryInternal() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(328): yii\db\Command->queryAll() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(133): yii\db\mysql\Schema->findColumns() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(756): yii\db\mysql\Schema->loadTableSchema() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(192): yii\db\Schema->getTableMetadata() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(439): yii\db\Schema->getTableSchema() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(266): yii\db\ActiveRecord::getTableSchema() +#13 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(238): yii\db\ActiveRecord::filterValidColumnNames() +#14 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(195): yii\db\ActiveRecord::filterCondition() +#15 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/BaseActiveRecord.php(110): yii\db\ActiveRecord::findByCondition() +#16 /media/psf/localhost/yii/ctms-admin/models/Adminer.php(160): yii\db\BaseActiveRecord::findOne() +#17 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(96): backend\models\Adminer::findByUsername() +#18 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(67): backend\models\LoginForm->getUser() +#19 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/InlineValidator.php(77): backend\models\LoginForm->validatePassword() +#20 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute() +#21 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes() +#22 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(81): yii\base\Model->validate() +#23 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(103): backend\models\LoginForm->login() +#24 [internal function]: backend\controllers\SiteController->actionLogin() +#25 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#26 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#27 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#28 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#29 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#30 /media/psf/localhost/yii/ctms-admin/web/index.php(41): yii\base\Application->run() +#31 {main} + +Next yii\db\Exception: SQLSTATE[HY000] [1045] Access denied for user 'dacms'@'localhost' (using password: YES) in /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php:648 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1067): yii\db\Connection->open() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1054): yii\db\Connection->getMasterPdo() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(261): yii\db\Connection->getSlavePdo() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(1181): yii\db\Command->prepare() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(417): yii\db\Command->queryInternal() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(328): yii\db\Command->queryAll() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(133): yii\db\mysql\Schema->findColumns() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(756): yii\db\mysql\Schema->loadTableSchema() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(192): yii\db\Schema->getTableMetadata() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(439): yii\db\Schema->getTableSchema() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(266): yii\db\ActiveRecord::getTableSchema() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(238): yii\db\ActiveRecord::filterValidColumnNames() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(195): yii\db\ActiveRecord::filterCondition() +#13 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/BaseActiveRecord.php(110): yii\db\ActiveRecord::findByCondition() +#14 /media/psf/localhost/yii/ctms-admin/models/Adminer.php(160): yii\db\BaseActiveRecord::findOne() +#15 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(96): backend\models\Adminer::findByUsername() +#16 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(67): backend\models\LoginForm->getUser() +#17 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/InlineValidator.php(77): backend\models\LoginForm->validatePassword() +#18 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute() +#19 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes() +#20 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(81): yii\base\Model->validate() +#21 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(103): backend\models\LoginForm->login() +#22 [internal function]: backend\controllers\SiteController->actionLogin() +#23 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#24 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#25 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#26 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#27 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#28 /media/psf/localhost/yii/ctms-admin/web/index.php(41): yii\base\Application->run() +#29 {main} +Additional Information: +Array +( + [0] => HY000 + [1] => 1045 + [2] => Access denied for user 'dacms'@'localhost' (using password: YES) +) + +2024-10-24 06:12:23 [11.22.33.2][-][f54cq6bo4vsdeakd451cv8l2j3][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'tChMykL-hNgD32-QN1BvIh2zOpc8ZGtGKJuuABwKRKbAaz6cGIi1mVTyLMdYOCl4ZOpQ5ws7IXBm2PlDfmh8_g==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '33fcf1edaabea6cb76a9f48aee903c113072067ccacd03a281d37b96277deb24a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"tCrVZv1AW-CWohFZyYjp7_J6NCWCbb8X\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-h5' +] + +$_SESSION = [ + '__flash' => [] + '__returnUrl' => 'http://11.22.33.48:10031/' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=3nllbkmb1i2ie3gch86ljn271o; _csrf-backend=33fcf1edaabea6cb76a9f48aee903c113072067ccacd03a281d37b96277deb24a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22tCrVZv1AW-CWohFZyYjp7_J6NCWCbb8X%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-h5' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index.php/site/login.hi' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '60009' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index.php/site/login.hi' + 'REQUEST_URI' => '/index.php/site/login.hi' + 'SCRIPT_NAME' => '/index.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729721543.4903 + 'REQUEST_TIME' => 1729721543 +] +2024-10-24 06:21:33 [11.22.33.2][-][f54cq6bo4vsdeakd451cv8l2j3][error][yii\db\Exception] PDOException: SQLSTATE[HY000] [1045] Access denied for user 'dacms'@'localhost' (using password: YES) in /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php:722 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(722): PDO->__construct() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(637): yii\db\Connection->createPdoInstance() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1067): yii\db\Connection->open() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1054): yii\db\Connection->getMasterPdo() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(261): yii\db\Connection->getSlavePdo() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(1181): yii\db\Command->prepare() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(417): yii\db\Command->queryInternal() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(328): yii\db\Command->queryAll() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(133): yii\db\mysql\Schema->findColumns() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(756): yii\db\mysql\Schema->loadTableSchema() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(192): yii\db\Schema->getTableMetadata() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(439): yii\db\Schema->getTableSchema() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(266): yii\db\ActiveRecord::getTableSchema() +#13 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(238): yii\db\ActiveRecord::filterValidColumnNames() +#14 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(195): yii\db\ActiveRecord::filterCondition() +#15 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/BaseActiveRecord.php(110): yii\db\ActiveRecord::findByCondition() +#16 /media/psf/localhost/yii/ctms-admin/models/Adminer.php(160): yii\db\BaseActiveRecord::findOne() +#17 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(96): backend\models\Adminer::findByUsername() +#18 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(67): backend\models\LoginForm->getUser() +#19 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/InlineValidator.php(77): backend\models\LoginForm->validatePassword() +#20 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute() +#21 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes() +#22 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(81): yii\base\Model->validate() +#23 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(103): backend\models\LoginForm->login() +#24 [internal function]: backend\controllers\SiteController->actionLogin() +#25 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#26 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#27 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#28 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#29 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#30 /media/psf/localhost/yii/ctms-admin/web/index.php(41): yii\base\Application->run() +#31 {main} + +Next yii\db\Exception: SQLSTATE[HY000] [1045] Access denied for user 'dacms'@'localhost' (using password: YES) in /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php:648 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1067): yii\db\Connection->open() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1054): yii\db\Connection->getMasterPdo() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(261): yii\db\Connection->getSlavePdo() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(1181): yii\db\Command->prepare() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(417): yii\db\Command->queryInternal() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(328): yii\db\Command->queryAll() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(133): yii\db\mysql\Schema->findColumns() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(756): yii\db\mysql\Schema->loadTableSchema() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(192): yii\db\Schema->getTableMetadata() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(439): yii\db\Schema->getTableSchema() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(266): yii\db\ActiveRecord::getTableSchema() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(238): yii\db\ActiveRecord::filterValidColumnNames() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(195): yii\db\ActiveRecord::filterCondition() +#13 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/BaseActiveRecord.php(110): yii\db\ActiveRecord::findByCondition() +#14 /media/psf/localhost/yii/ctms-admin/models/Adminer.php(160): yii\db\BaseActiveRecord::findOne() +#15 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(96): backend\models\Adminer::findByUsername() +#16 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(67): backend\models\LoginForm->getUser() +#17 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/InlineValidator.php(77): backend\models\LoginForm->validatePassword() +#18 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute() +#19 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes() +#20 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(81): yii\base\Model->validate() +#21 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(103): backend\models\LoginForm->login() +#22 [internal function]: backend\controllers\SiteController->actionLogin() +#23 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#24 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#25 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#26 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#27 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#28 /media/psf/localhost/yii/ctms-admin/web/index.php(41): yii\base\Application->run() +#29 {main} +Additional Information: +Array +( + [0] => HY000 + [1] => 1045 + [2] => Access denied for user 'dacms'@'localhost' (using password: YES) +) + +2024-10-24 06:21:33 [11.22.33.2][-][f54cq6bo4vsdeakd451cv8l2j3][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'JzWmWPp_1eAK2UvWct-dGr-WnORWiGjyw8eIArBJ_a1TdtQOoAnkoV30CIEdt9tAxs_2lGHXIsSNhN9B0ivF9Q==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '33fcf1edaabea6cb76a9f48aee903c113072067ccacd03a281d37b96277deb24a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"tCrVZv1AW-CWohFZyYjp7_J6NCWCbb8X\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' +] + +$_SESSION = [ + '__flash' => [] +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=3nllbkmb1i2ie3gch86ljn271o; _csrf-backend=33fcf1edaabea6cb76a9f48aee903c113072067ccacd03a281d37b96277deb24a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22tCrVZv1AW-CWohFZyYjp7_J6NCWCbb8X%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index.php/site/login.hi' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '60533' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index.php/site/login.hi' + 'REQUEST_URI' => '/index.php/site/login.hi' + 'SCRIPT_NAME' => '/index.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729722093.6554 + 'REQUEST_TIME' => 1729722093 +] +2024-10-24 06:21:53 [11.22.33.2][-][f54cq6bo4vsdeakd451cv8l2j3][error][yii\db\Exception] PDOException: SQLSTATE[HY000] [1045] Access denied for user 'dacms'@'localhost' (using password: YES) in /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php:722 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(722): PDO->__construct() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(637): yii\db\Connection->createPdoInstance() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1067): yii\db\Connection->open() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1054): yii\db\Connection->getMasterPdo() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(261): yii\db\Connection->getSlavePdo() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(1181): yii\db\Command->prepare() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(417): yii\db\Command->queryInternal() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(328): yii\db\Command->queryAll() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(133): yii\db\mysql\Schema->findColumns() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(756): yii\db\mysql\Schema->loadTableSchema() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(192): yii\db\Schema->getTableMetadata() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(439): yii\db\Schema->getTableSchema() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(266): yii\db\ActiveRecord::getTableSchema() +#13 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(238): yii\db\ActiveRecord::filterValidColumnNames() +#14 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(195): yii\db\ActiveRecord::filterCondition() +#15 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/BaseActiveRecord.php(110): yii\db\ActiveRecord::findByCondition() +#16 /media/psf/localhost/yii/ctms-admin/models/Adminer.php(160): yii\db\BaseActiveRecord::findOne() +#17 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(96): backend\models\Adminer::findByUsername() +#18 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(67): backend\models\LoginForm->getUser() +#19 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/InlineValidator.php(77): backend\models\LoginForm->validatePassword() +#20 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute() +#21 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes() +#22 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(81): yii\base\Model->validate() +#23 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(103): backend\models\LoginForm->login() +#24 [internal function]: backend\controllers\SiteController->actionLogin() +#25 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#26 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#27 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#28 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#29 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#30 /media/psf/localhost/yii/ctms-admin/web/index.php(41): yii\base\Application->run() +#31 {main} + +Next yii\db\Exception: SQLSTATE[HY000] [1045] Access denied for user 'dacms'@'localhost' (using password: YES) in /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php:648 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1067): yii\db\Connection->open() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Connection.php(1054): yii\db\Connection->getMasterPdo() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(261): yii\db\Connection->getSlavePdo() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(1181): yii\db\Command->prepare() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Command.php(417): yii\db\Command->queryInternal() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(328): yii\db\Command->queryAll() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/mysql/Schema.php(133): yii\db\mysql\Schema->findColumns() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(756): yii\db\mysql\Schema->loadTableSchema() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/Schema.php(192): yii\db\Schema->getTableMetadata() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(439): yii\db\Schema->getTableSchema() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(266): yii\db\ActiveRecord::getTableSchema() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(238): yii\db\ActiveRecord::filterValidColumnNames() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/ActiveRecord.php(195): yii\db\ActiveRecord::filterCondition() +#13 /media/psf/localhost/yii/vendor/yiisoft/yii2/db/BaseActiveRecord.php(110): yii\db\ActiveRecord::findByCondition() +#14 /media/psf/localhost/yii/ctms-admin/models/Adminer.php(160): yii\db\BaseActiveRecord::findOne() +#15 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(96): backend\models\Adminer::findByUsername() +#16 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(67): backend\models\LoginForm->getUser() +#17 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/InlineValidator.php(77): backend\models\LoginForm->validatePassword() +#18 /media/psf/localhost/yii/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\InlineValidator->validateAttribute() +#19 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes() +#20 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(81): yii\base\Model->validate() +#21 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(103): backend\models\LoginForm->login() +#22 [internal function]: backend\controllers\SiteController->actionLogin() +#23 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#24 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#25 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#26 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#27 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#28 /media/psf/localhost/yii/ctms-admin/web/index.php(41): yii\base\Application->run() +#29 {main} +Additional Information: +Array +( + [0] => HY000 + [1] => 1045 + [2] => Access denied for user 'dacms'@'localhost' (using password: YES) +) + +2024-10-24 06:21:53 [11.22.33.2][-][f54cq6bo4vsdeakd451cv8l2j3][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'JzWmWPp_1eAK2UvWct-dGr-WnORWiGjyw8eIArBJ_a1TdtQOoAnkoV30CIEdt9tAxs_2lGHXIsSNhN9B0ivF9Q==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '33fcf1edaabea6cb76a9f48aee903c113072067ccacd03a281d37b96277deb24a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"tCrVZv1AW-CWohFZyYjp7_J6NCWCbb8X\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' +] + +$_SESSION = [ + '__flash' => [] +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=3nllbkmb1i2ie3gch86ljn271o; _csrf-backend=33fcf1edaabea6cb76a9f48aee903c113072067ccacd03a281d37b96277deb24a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22tCrVZv1AW-CWohFZyYjp7_J6NCWCbb8X%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '60533' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index.php/site/login.hi' + 'REQUEST_URI' => '/index.php/site/login.hi' + 'SCRIPT_NAME' => '/index.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729722113.2972 + 'REQUEST_TIME' => 1729722113 +] +2024-10-24 15:42:27 [11.22.33.2][1][g2ub29r67knesispaklk9ofm0a][error][yii\base\UnknownPropertyException] yii\base\UnknownPropertyException: Getting unknown property: yii\web\Request::_url in /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Component.php:154 +Stack trace: +#0 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(106): yii\base\Component->__get() +#1 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(104): backend\models\LoginForm->loginLog() +#2 [internal function]: backend\controllers\SiteController->actionLogin() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#8 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#9 {main} +2024-10-24 15:42:26 [11.22.33.2][1][g2ub29r67knesispaklk9ofm0a][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'Qa3_AKML2ALZk8Drt7_UVr28cgyySny_d5QnH_XwL00W3ax54WeLUb3C8dvi1pEX-4sYXvYnEOA9whN2r71NIw==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '725b28097a69590a8117da514b8d0705acfb13bdb651737ab2f65e942f8b1293a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"WpSyBlSSdQ10UiEAF7jRDml_JV4iZMbn\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_CACHE_CONTROL' => 'no-cache' + 'HTTP_PRAGMA' => 'no-cache' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=1imj8ouqun51314ftha353tf7h; _csrf-backend=725b28097a69590a8117da514b8d0705acfb13bdb651737ab2f65e942f8b1293a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22WpSyBlSSdQ10UiEAF7jRDml_JV4iZMbn%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '52995' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729755746.8353 + 'REQUEST_TIME' => 1729755746 +] +2024-10-24 15:42:47 [11.22.33.2][1][j3dhq16c2456mq0c6nl3og5ep7][error][yii\web\HttpException:400] yii\web\BadRequestHttpException: 您提交的数据无法被验证。 in /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Controller.php:221 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(176): yii\web\Controller->beforeAction() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#4 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#5 {main} +2024-10-24 15:42:47 [11.22.33.2][1][j3dhq16c2456mq0c6nl3og5ep7][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'Qa3_AKML2ALZk8Drt7_UVr28cgyySny_d5QnH_XwL00W3ax54WeLUb3C8dvi1pEX-4sYXvYnEOA9whN2r71NIw==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '2f76a3f7066418cb129d0f6aa6a55f797077eb34d4c0874993f39d90d057e52ea:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"no28rTHYitOcZB2tui9dnfwAVr6mOfCT\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' + '_identity-backend' => 'a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea:2:{i:0;s:17:\"_identity-backend\";i:1;s:46:\"[1,\"Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc\",2592000]\";}' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_CACHE_CONTROL' => 'no-cache' + 'HTTP_PRAGMA' => 'no-cache' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=g2ub29r67knesispaklk9ofm0a; _csrf-backend=2f76a3f7066418cb129d0f6aa6a55f797077eb34d4c0874993f39d90d057e52ea%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22no28rTHYitOcZB2tui9dnfwAVr6mOfCT%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb; _identity-backend=a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea%3A2%3A%7Bi%3A0%3Bs%3A17%3A%22_identity-backend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc%22%2C2592000%5D%22%3B%7D' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '52995' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729755767.284 + 'REQUEST_TIME' => 1729755767 +] +2024-10-24 15:42:57 [11.22.33.2][1][t7hdj6g5jn2pb2pbognv4tml1j][error][yii\base\ErrorException:2] yii\base\ErrorException: Undefined variable $_url in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:106 +Stack trace: +#0 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(106): yii\web\ErrorHandler->handleError(code: '...', message: '...', file: '...', line: '...') +#1 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(104): backend\models\LoginForm->loginLog() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): backend\controllers\SiteController->actionLogin() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): ::call_user_func_array:{/media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php:57}(callback: '...', args: '...') +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams(params: '...') +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): backend\controllers\SiteController->runAction(id: '...', params: '...') +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\web\Application->runAction(route: '...', params: '...') +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest(request: '...') +#8 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\web\Application->run() +#9 {main} +2024-10-24 15:42:57 [11.22.33.2][1][t7hdj6g5jn2pb2pbognv4tml1j][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'OzhgvLJ7bLkIwCVpwaXu4nfjOB2tZp3k4LlgoWX0x6lVV1KEwC8k4GG0agqb59yWAooBecMA6qW2y1bMKpKE_Q==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '2f76a3f7066418cb129d0f6aa6a55f797077eb34d4c0874993f39d90d057e52ea:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"no28rTHYitOcZB2tui9dnfwAVr6mOfCT\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' +] + +$_SESSION = [ + '__flash' => [] + '__returnUrl' => 'http://11.22.33.48:10031/index_test.php' + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_CACHE_CONTROL' => 'no-cache' + 'HTTP_PRAGMA' => 'no-cache' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=4984c587ej7lpkmrq9kcoc1v58; _csrf-backend=2f76a3f7066418cb129d0f6aa6a55f797077eb34d4c0874993f39d90d057e52ea%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22no28rTHYitOcZB2tui9dnfwAVr6mOfCT%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '53027' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729755777.2865 + 'REQUEST_TIME' => 1729755777 +] +2024-10-24 15:43:50 [11.22.33.2][1][4obh5jnmckbg6cpud7flov4r3f][error][yii\web\HttpException:400] yii\web\BadRequestHttpException: 您提交的数据无法被验证。 in /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Controller.php:221 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(176): yii\web\Controller->beforeAction() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#4 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#5 {main} +2024-10-24 15:43:50 [11.22.33.2][1][4obh5jnmckbg6cpud7flov4r3f][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'OzhgvLJ7bLkIwCVpwaXu4nfjOB2tZp3k4LlgoWX0x6lVV1KEwC8k4GG0agqb59yWAooBecMA6qW2y1bMKpKE_Q==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '03d4540caea8f8e079971bdf92c0e5858a7679a49e1e02aa8b46c77ea5fdcb10a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"nXOGt75O3yaPPoBAYA7QQE-gA9GWLHnQ\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' + '_identity-backend' => 'a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea:2:{i:0;s:17:\"_identity-backend\";i:1;s:46:\"[1,\"Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc\",2592000]\";}' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_CACHE_CONTROL' => 'no-cache' + 'HTTP_PRAGMA' => 'no-cache' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=t7hdj6g5jn2pb2pbognv4tml1j; _csrf-backend=03d4540caea8f8e079971bdf92c0e5858a7679a49e1e02aa8b46c77ea5fdcb10a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22nXOGt75O3yaPPoBAYA7QQE-gA9GWLHnQ%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb; _identity-backend=a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea%3A2%3A%7Bi%3A0%3Bs%3A17%3A%22_identity-backend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc%22%2C2592000%5D%22%3B%7D' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '53027' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729755830.126 + 'REQUEST_TIME' => 1729755830 +] +2024-10-24 15:44:00 [11.22.33.2][1][6a3n43nlomfu17cc8f1up44lj5][error][yii\base\UnknownPropertyException] yii\base\UnknownPropertyException: Getting unknown property: yii\web\Request::_url in /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Component.php:154 +Stack trace: +#0 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(106): yii\base\Component->__get() +#1 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(104): backend\models\LoginForm->loginLog() +#2 [internal function]: backend\controllers\SiteController->actionLogin() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#8 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#9 {main} +2024-10-24 15:44:00 [11.22.33.2][1][6a3n43nlomfu17cc8f1up44lj5][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'fHQ-7nu6n8ldXdUntjIG3SnM5cUesF29TrpT9BEzOwoSLHGpD42qhm4ktHfmXUSccI3SlE_1cNoPgxSjXXtVWw==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + '964e468463197865ef14c9b9de79d2ec' => 'f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8' + '877ad1caa01e4486e46420725e0bc2e2' => 'd4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI' + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '03d4540caea8f8e079971bdf92c0e5858a7679a49e1e02aa8b46c77ea5fdcb10a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"nXOGt75O3yaPPoBAYA7QQE-gA9GWLHnQ\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' +] + +$_SESSION = [ + '__flash' => [] + '__returnUrl' => 'http://11.22.33.48:10031/index_test.php' + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_CACHE_CONTROL' => 'no-cache' + 'HTTP_PRAGMA' => 'no-cache' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => '964e468463197865ef14c9b9de79d2ec=f92b89b4-0fa9-4e3c-b8fd-89f8b3bb1a7b.DrDREC6fyHc4hKcCiauRxNOzWB8; 877ad1caa01e4486e46420725e0bc2e2=d4948930-ca69-4679-9854-f4ab606c8a18.LLE2CFAEqNqKSjwPX1ohcCvRfqI; advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=j64cp904jn27bkpa0euhke129j; _csrf-backend=03d4540caea8f8e079971bdf92c0e5858a7679a49e1e02aa8b46c77ea5fdcb10a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22nXOGt75O3yaPPoBAYA7QQE-gA9GWLHnQ%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '53028' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729755840.2432 + 'REQUEST_TIME' => 1729755840 +] +2024-10-25 16:10:30 [11.22.33.2][1][o3oqf74nhmb8f11k1r97erupfe][error][yii\web\HttpException:404] yii\web\NotFoundHttpException: 页面未找到。 in /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Request.php:299 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(82): yii\web\Request->resolve() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#2 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#3 {main} +2024-10-25 16:10:30 [11.22.33.2][1][o3oqf74nhmb8f11k1r97erupfe][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [ + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + 'advanced-backend' => 'o3oqf74nhmb8f11k1r97erupfe' + '_csrf-backend' => '4d515fda9a26e0c38ec2ad2298bd3ca3267fa7baebe550d2246fb4200a1c0339a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"ULmR92fSjkyb_ydHSQU-bVw55gbgV3aH\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_CACHE_CONTROL' => 'max-age=0' + 'HTTP_PRIORITY' => 'u=4' + 'HTTP_COOKIE' => 'PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=o3oqf74nhmb8f11k1r97erupfe; _csrf-backend=4d515fda9a26e0c38ec2ad2298bd3ca3267fa7baebe550d2246fb4200a1c0339a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22ULmR92fSjkyb_ydHSQU-bVw55gbgV3aH%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => '*/*' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/installHook.js.map' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '51223' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/installHook.js.map' + 'REQUEST_URI' => '/index_test.php/site/installHook.js.map' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '' + 'CONTENT_TYPE' => '' + 'REQUEST_METHOD' => 'GET' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/installHook.js.map' + 'REQUEST_TIME_FLOAT' => 1729843830.7609 + 'REQUEST_TIME' => 1729843830 +] +2024-10-25 16:13:21 [11.22.33.2][1][o3oqf74nhmb8f11k1r97erupfe][error][yii\web\HttpException:404] yii\web\NotFoundHttpException: 页面未找到。 in /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Request.php:299 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(82): yii\web\Request->resolve() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#2 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#3 {main} +2024-10-25 16:13:21 [11.22.33.2][1][o3oqf74nhmb8f11k1r97erupfe][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [ + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + 'advanced-backend' => 'o3oqf74nhmb8f11k1r97erupfe' + '_csrf-backend' => '4d515fda9a26e0c38ec2ad2298bd3ca3267fa7baebe550d2246fb4200a1c0339a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"ULmR92fSjkyb_ydHSQU-bVw55gbgV3aH\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_CACHE_CONTROL' => 'max-age=0' + 'HTTP_PRIORITY' => 'u=4' + 'HTTP_COOKIE' => 'PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=o3oqf74nhmb8f11k1r97erupfe; _csrf-backend=4d515fda9a26e0c38ec2ad2298bd3ca3267fa7baebe550d2246fb4200a1c0339a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22ULmR92fSjkyb_ydHSQU-bVw55gbgV3aH%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => '*/*' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/installHook.js.map' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '51441' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/installHook.js.map' + 'REQUEST_URI' => '/index_test.php/site/installHook.js.map' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '' + 'CONTENT_TYPE' => '' + 'REQUEST_METHOD' => 'GET' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/installHook.js.map' + 'REQUEST_TIME_FLOAT' => 1729844001.227 + 'REQUEST_TIME' => 1729844001 +] +2024-10-25 16:13:35 [11.22.33.2][1][o3oqf74nhmb8f11k1r97erupfe][error][yii\web\HttpException:404] yii\web\NotFoundHttpException: 页面未找到。 in /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Request.php:299 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(82): yii\web\Request->resolve() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#2 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#3 {main} +2024-10-25 16:13:35 [11.22.33.2][1][o3oqf74nhmb8f11k1r97erupfe][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [ + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + 'advanced-backend' => 'o3oqf74nhmb8f11k1r97erupfe' + '_csrf-backend' => '4d515fda9a26e0c38ec2ad2298bd3ca3267fa7baebe550d2246fb4200a1c0339a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"ULmR92fSjkyb_ydHSQU-bVw55gbgV3aH\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii/ctms-admin/web' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_CACHE_CONTROL' => 'max-age=0' + 'HTTP_PRIORITY' => 'u=4' + 'HTTP_COOKIE' => 'PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=o3oqf74nhmb8f11k1r97erupfe; _csrf-backend=4d515fda9a26e0c38ec2ad2298bd3ca3267fa7baebe550d2246fb4200a1c0339a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22ULmR92fSjkyb_ydHSQU-bVw55gbgV3aH%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii%2Fctms-admin%2Fweb' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => '*/*' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/installHook.js.map' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '51441' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/installHook.js.map' + 'REQUEST_URI' => '/index_test.php/site/installHook.js.map' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '' + 'CONTENT_TYPE' => '' + 'REQUEST_METHOD' => 'GET' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/installHook.js.map' + 'REQUEST_TIME_FLOAT' => 1729844015.1923 + 'REQUEST_TIME' => 1729844015 +] +2024-10-26 11:04:58 [11.22.33.2][1][17tksqsbjvakiv05oqcn3epr3s][error][yii\base\InvalidConfigException] yii\base\InvalidConfigException: Transport configuration array must contain either "dsn", or "scheme" and "host" keys. in /media/psf/localhost/yii/vendor/yiisoft/yii2-symfonymailer/src/Mailer.php:126 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2-symfonymailer/src/Mailer.php(81): yii\symfonymailer\Mailer->createTransport() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Component.php(180): yii\symfonymailer\Mailer->setTransport() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/BaseYii.php(558): yii\base\Component->__set() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/BaseObject.php(107): yii\BaseYii::configure() +#4 [internal function]: yii\base\BaseObject->__construct() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/di/Container.php(419): ReflectionClass->newInstanceArgs() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/di/Container.php(170): yii\di\Container->build() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/BaseYii.php(365): yii\di\Container->get() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/di/ServiceLocator.php(137): yii\BaseYii::createObject() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(766): yii\di\ServiceLocator->get() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/di/ServiceLocator.php(74): yii\base\Module->get() +#11 /media/psf/localhost/yii/ctms-admin/models/LoginForm.php(125): yii\di\ServiceLocator->__get() +#12 /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php(104): backend\models\LoginForm->loginLog() +#13 [internal function]: backend\controllers\SiteController->actionLogin() +#14 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array() +#15 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams() +#16 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#17 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#18 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#19 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#20 {main} +2024-10-26 11:04:58 [11.22.33.2][1][17tksqsbjvakiv05oqcn3epr3s][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'L3h7wO8FenLLe2uyN5gPZEyEekh7yYC6ZcWnaLiVSB96NBaS1jccIaEQEtBo4WssH9UvZRmf949QosUP7qYpVw==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '4d515fda9a26e0c38ec2ad2298bd3ca3267fa7baebe550d2246fb4200a1c0339a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"ULmR92fSjkyb_ydHSQU-bVw55gbgV3aH\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=p8smgkvckfl7592g5e2djfeg11; _csrf-backend=4d515fda9a26e0c38ec2ad2298bd3ca3267fa7baebe550d2246fb4200a1c0339a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22ULmR92fSjkyb_ydHSQU-bVw55gbgV3aH%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '57937' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729911898.1158 + 'REQUEST_TIME' => 1729911898 +] +2024-10-26 12:39:47 [11.22.33.2][1][3bap1gcspe7l4n04d1fdi1q6am][error][yii\web\HttpException:400] yii\web\BadRequestHttpException: 您提交的数据无法被验证。 in /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Controller.php:221 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(176): yii\web\Controller->beforeAction() +#1 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#4 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#5 {main} +2024-10-26 12:39:47 [11.22.33.2][1][3bap1gcspe7l4n04d1fdi1q6am][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => 'L3h7wO8FenLLe2uyN5gPZEyEekh7yYC6ZcWnaLiVSB96NBaS1jccIaEQEtBo4WssH9UvZRmf949QosUP7qYpVw==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' + '_identity-backend' => 'a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea:2:{i:0;s:17:\"_identity-backend\";i:1;s:46:\"[1,\"Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc\",2592000]\";}' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=17tksqsbjvakiv05oqcn3epr3s; _csrf-backend=7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii; _identity-backend=a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea%3A2%3A%7Bi%3A0%3Bs%3A17%3A%22_identity-backend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc%22%2C2592000%5D%22%3B%7D' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '59913' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729917587.5981 + 'REQUEST_TIME' => 1729917587 +] +2024-10-26 12:59:05 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtps.qq.com:465": stream_socket_client(): php_network_getaddresses: getaddrinfo for smtps.qq.com failed: Name or service not known + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:134 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 12:59:05 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtps.qq.com:465": stream_socket_client(): php_network_getaddresses: getaddrinfo for smtps.qq.com failed: Name or service not known + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:144 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 12:59:04 [11.22.33.2][1][-][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => '672mbuG2s8HgoGFUoDpwqHSAatlpWGBBiIxtc9RWHVOj1JE2tNn3lKnFFW3EdxrFN-w6uCszODu49Bw2syN0DA==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=1euijp5c30ubpa45vq9vaid68o; _csrf-backend=7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '60620' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729918744.9297 + 'REQUEST_TIME' => 1729918744 +] +2024-10-26 13:00:02 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtps.qq.com:465": stream_socket_client(): php_network_getaddresses: getaddrinfo for smtps.qq.com failed: Name or service not known + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:134 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 13:00:02 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtps.qq.com:465": stream_socket_client(): php_network_getaddresses: getaddrinfo for smtps.qq.com failed: Name or service not known + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:144 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 13:00:01 [11.22.33.2][1][-][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => '672mbuG2s8HgoGFUoDpwqHSAatlpWGBBiIxtc9RWHVOj1JE2tNn3lKnFFW3EdxrFN-w6uCszODu49Bw2syN0DA==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=e0jepevk9ckg9bh35ocd2200n5; _csrf-backend=7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '60620' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729918801.2518 + 'REQUEST_TIME' => 1729918801 +] +2024-10-26 13:07:20 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtp.qq.com:587": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: +error:1408F10B:SSL routines:ssl3_get_record:wrong version number + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:134 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 13:07:21 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtp.qq.com:587": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: +error:1408F10B:SSL routines:ssl3_get_record:wrong version number + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:144 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 13:07:22 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtp.qq.com:587": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: +error:1408F10B:SSL routines:ssl3_get_record:wrong version number + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:148 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 13:07:22 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtp.qq.com:587": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: +error:1408F10B:SSL routines:ssl3_get_record:wrong version number + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:148 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 13:07:20 [11.22.33.2][1][-][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => '672mbuG2s8HgoGFUoDpwqHSAatlpWGBBiIxtc9RWHVOj1JE2tNn3lKnFFW3EdxrFN-w6uCszODu49Bw2syN0DA==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=i8t2rlij5i7kfl31bekmfne4vp; _csrf-backend=7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '61327' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729919240.0208 + 'REQUEST_TIME' => 1729919240 +] +2024-10-26 13:51:02 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtp.qq.com:587": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: +error:1408F10B:SSL routines:ssl3_get_record:wrong version number + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:144 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 13:51:01 [11.22.33.2][1][-][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => '672mbuG2s8HgoGFUoDpwqHSAatlpWGBBiIxtc9RWHVOj1JE2tNn3lKnFFW3EdxrFN-w6uCszODu49Bw2syN0DA==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=6bpfbpkgvm3qt0unesjt4bu1t8; _csrf-backend=7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '64910' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729921861.7689 + 'REQUEST_TIME' => 1729921861 +] +2024-10-26 13:53:48 [11.22.33.2][1][-][error][yii\symfonymailer\Mailer::sendMessage] Connection could not be established with host "ssl://smtp.qq.com:587": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: +error:1408F10B:SSL routines:ssl3_get_record:wrong version number + in /media/psf/localhost/yii/ctms-admin/models/LoginForm.php:144 + in /media/psf/localhost/yii/ctms-admin/controllers/SiteController.php:104 +2024-10-26 13:53:48 [11.22.33.2][1][-][info][application] $_GET = [] + +$_POST = [ + '_csrf-backend' => '672mbuG2s8HgoGFUoDpwqHSAatlpWGBBiIxtc9RWHVOj1JE2tNn3lKnFFW3EdxrFN-w6uCszODu49Bw2syN0DA==' + 'LoginForm' => [ + 'username' => 'fm453' + 'password' => 'Lukegzs168.com' + 'rememberMe' => '1' + ] + 'login-button' => '' +] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=6lh7h10b1cc4m7q5cvapebtubm; _csrf-backend=7eb3be4c6671b50baa2c802294c111e03cc6399aa0b8d35955f6c90f5c807016a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22Hi7XUoDUIet9dMjmClPaBkXz0xqEgui_%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ORIGIN' => 'http://11.22.33.48:10031' + 'HTTP_CONTENT_LENGTH' => '245' + 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php/site/login.hi' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/site/login.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '65115' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/site/login.hi' + 'REQUEST_URI' => '/index_test.php/site/login.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '245' + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded' + 'REQUEST_METHOD' => 'POST' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/site/login.hi' + 'REQUEST_TIME_FLOAT' => 1729922028.0054 + 'REQUEST_TIME' => 1729922028 +] +2024-10-26 19:32:05 [11.22.33.2][1][fvr4ujs96urlu2nq5qudep2snf][error][yii\base\UnknownMethodException] yii\base\UnknownMethodException: Calling unknown method: yii\web\Application::session() in /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Component.php:308 +Stack trace: +#0 /media/psf/localhost/yii/ctms-admin/controllers/Common.php(24): yii\base\Component->__call() +#1 /media/psf/localhost/yii/ctms-admin/controllers/OrderController.php(36): backend\controllers\Common->init() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/BaseObject.php(109): backend\controllers\OrderController->init() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Controller.php(95): yii\base\BaseObject->__construct() +#4 [internal function]: yii\base\Controller->__construct() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/di/Container.php(411): ReflectionClass->newInstanceArgs() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/di/Container.php(170): yii\di\Container->build() +#7 /media/psf/localhost/yii/vendor/yiisoft/yii2/BaseYii.php(345): yii\di\Container->get() +#8 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(666): yii\BaseYii::createObject() +#9 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(620): yii\base\Module->createControllerByID() +#10 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(546): yii\base\Module->createController() +#11 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#12 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#13 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#14 {main} +2024-10-26 19:32:05 [11.22.33.2][1][fvr4ujs96urlu2nq5qudep2snf][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '0187bd531a5a810efd8ccdf9a2a07ac9d81f84f3822d9a637c68eed670dc7053a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"WWn9vR6metqT7B-BCouqzRWlbsIs97j2\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' + '_identity-backend' => 'a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea:2:{i:0;s:17:\"_identity-backend\";i:1;s:46:\"[1,\"Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc\",2592000]\";}' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=4' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=8cjvt4qn9dm1rg02kjqpj9ft5s; _csrf-backend=0187bd531a5a810efd8ccdf9a2a07ac9d81f84f3822d9a637c68eed670dc7053a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22WWn9vR6metqT7B-BCouqzRWlbsIs97j2%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii; _identity-backend=a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea%3A2%3A%7Bi%3A0%3Bs%3A17%3A%22_identity-backend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc%22%2C2592000%5D%22%3B%7D' + 'HTTP_REFERER' => 'http://11.22.33.48:10031/index_test.php' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/order/list.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '61842' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/order/list.hi' + 'REQUEST_URI' => '/index_test.php/order/list.hi' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '' + 'CONTENT_TYPE' => '' + 'REQUEST_METHOD' => 'GET' + 'QUERY_STRING' => '' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/order/list.hi' + 'REQUEST_TIME_FLOAT' => 1729942325.5346 + 'REQUEST_TIME' => 1729942325 +] +2024-10-27 07:25:51 [11.22.33.2][1][nvpjtk4o28tpcg541rk036d88j][error][Error] Error: Class "Common" not found in /media/psf/localhost/yii/ctms-admin/controllers/OrderController.php:32 +Stack trace: +#0 /media/psf/localhost/yii/vendor/yiisoft/yii2/BaseYii.php(293): include() +#1 [internal function]: yii\BaseYii::autoload() +#2 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(661): class_exists() +#3 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(620): yii\base\Module->createControllerByID() +#4 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Module.php(546): yii\base\Module->createController() +#5 /media/psf/localhost/yii/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction() +#6 /media/psf/localhost/yii/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest() +#7 /media/psf/localhost/yii/ctms-admin/web/index_test.php(42): yii\base\Application->run() +#8 {main} +2024-10-27 07:25:51 [11.22.33.2][1][nvpjtk4o28tpcg541rk036d88j][info][application] $_GET = [ + 'pid' => '1' +] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [ + 'advanced-backend' => 'f54cq6bo4vsdeakd451cv8l2j3' + 'PHPSESSID' => '0egqk0f8a5me52erj7ijh8q82s' + '_csrf-frontend' => 'd6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba:2:{i:0;s:14:\"_csrf-frontend\";i:1;s:32:\"k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq\";}' + '_csrf-backend' => '0187bd531a5a810efd8ccdf9a2a07ac9d81f84f3822d9a637c68eed670dc7053a:2:{i:0;s:13:\"_csrf-backend\";i:1;s:32:\"WWn9vR6metqT7B-BCouqzRWlbsIs97j2\";}' + 'advanced-ctms-api' => 'o564h84tqrpnhvn9p9k2v9si7r' + 'advanced-frontend-web' => 'evf9hlrcca64078arvo6mbkbt1' + 'csrf' => '43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn' + 'advanced-frontend-api' => 'o5oea55lgfvq15je1tn5pvnnbb' + 'i_like_gitea' => 'eac81993543b0a60' + 'lang' => 'zh-CN' + 'http_order' => 'id desc' + 'http_serverType' => 'nginx' + 'http_bt_user_info' => '{\"status\":true,\"msg\":\"获取成功!\",\"data\":{\"username\":\"186****1880\"}}' + 'http_pro_end' => '-1' + 'http_ltd_end' => '-1' + 'http_rank' => 'list' + 'http_file_recycle_status' => 'true' + '452c1c59f44f02669d0e09d453d695fc' => '6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs' + 'tencent' => 'false' + '_identity-frontend' => '8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a:2:{i:0;s:18:\"_identity-frontend\";i:1;s:46:\"[1,\"LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF\",2592000]\";}' + 'http_Path' => '/media/psf/localhost/yii' + '_identity-backend' => 'a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea:2:{i:0;s:17:\"_identity-backend\";i:1;s:46:\"[1,\"Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc\",2592000]\";}' +] + +$_SESSION = [ + '__flash' => [] + '__id' => 1 + '__authKey' => 'Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc' +] + +$_SERVER = [ + 'USER' => 'www' + 'HOME' => '/home/www' + 'HTTP_PRIORITY' => 'u=0, i' + 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1' + 'HTTP_COOKIE' => 'advanced-backend=f54cq6bo4vsdeakd451cv8l2j3; PHPSESSID=0egqk0f8a5me52erj7ijh8q82s; _csrf-frontend=d6f914521f30ce8e7b76fa0c9dac185af0cccbd2cf65441db5d0f6bb626c878ba%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22k2NsfI3MCpfMtu_lIdwucXGDqglRnKLq%22%3B%7D; advanced-backend=snt9jpb7upr0r18edv43tglcas; _csrf-backend=0187bd531a5a810efd8ccdf9a2a07ac9d81f84f3822d9a637c68eed670dc7053a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22WWn9vR6metqT7B-BCouqzRWlbsIs97j2%22%3B%7D; advanced-ctms-api=o564h84tqrpnhvn9p9k2v9si7r; advanced-frontend-web=evf9hlrcca64078arvo6mbkbt1; csrf=43KcKEeDJDwBF7Xw8xmWrHpG8bhArkQn; advanced-frontend-api=o5oea55lgfvq15je1tn5pvnnbb; i_like_gitea=eac81993543b0a60; lang=zh-CN; http_order=id%20desc; http_serverType=nginx; http_bt_user_info=%7B%22status%22%3Atrue%2C%22msg%22%3A%22%E8%8E%B7%E5%8F%96%E6%88%90%E5%8A%9F!%22%2C%22data%22%3A%7B%22username%22%3A%22186****1880%22%7D%7D; http_pro_end=-1; http_ltd_end=-1; http_rank=list; http_file_recycle_status=true; 452c1c59f44f02669d0e09d453d695fc=6b06abfc-e831-426e-bea8-785995879422.TTym5rHW6z0qzHbIceCywkhH3xs; tencent=false; _identity-frontend=8474fe00cfc7bd44986d7467bb77d6b052ad23330a0da4db4edeff0e5f5791b4a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22_identity-frontend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22LOn0vaVC9ew-LtvPTYqyYJee1u3n5QFF%22%2C2592000%5D%22%3B%7D; http_Path=%2Fmedia%2Fpsf%2Flocalhost%2Fyii; _identity-backend=a4abec2298c52c088960ca2c6d864823f194c678d852aea23f5410d71d961d8ea%3A2%3A%7Bi%3A0%3Bs%3A17%3A%22_identity-backend%22%3Bi%3A1%3Bs%3A46%3A%22%5B1%2C%22Ar8SbMSghjsg1N7o3mOFU6UZGWQxz2Nc%22%2C2592000%5D%22%3B%7D' + 'HTTP_CONNECTION' => 'keep-alive' + 'HTTP_DNT' => '1' + 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate' + 'HTTP_ACCEPT_LANGUAGE' => 'zh-CN,en-US;q=0.7,en;q=0.3' + 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:132.0) Gecko/20100101 Firefox/132.0' + 'HTTP_HOST' => '11.22.33.48:10031' + 'PATH_INFO' => '/order/list.hi' + 'REDIRECT_STATUS' => '200' + 'SERVER_NAME' => 'admin.ctms.localhost' + 'SERVER_PORT' => '10031' + 'SERVER_ADDR' => '11.22.33.48' + 'REMOTE_PORT' => '63228' + 'REMOTE_ADDR' => '11.22.33.2' + 'SERVER_SOFTWARE' => 'nginx/1.24.0' + 'GATEWAY_INTERFACE' => 'CGI/1.1' + 'REQUEST_SCHEME' => 'http' + 'SERVER_PROTOCOL' => 'HTTP/1.1' + 'DOCUMENT_ROOT' => '/media/psf/localhost/yii/ctms-admin/web' + 'DOCUMENT_URI' => '/index_test.php/order/list.hi' + 'REQUEST_URI' => '/index_test.php/order/list.hi?pid=1' + 'SCRIPT_NAME' => '/index_test.php' + 'CONTENT_LENGTH' => '' + 'CONTENT_TYPE' => '' + 'REQUEST_METHOD' => 'GET' + 'QUERY_STRING' => 'pid=1' + 'SCRIPT_FILENAME' => '/media/psf/localhost/yii/ctms-admin/web/index_test.php' + 'FCGI_ROLE' => 'RESPONDER' + 'PHP_SELF' => '/index_test.php/order/list.hi' + 'REQUEST_TIME_FLOAT' => 1729985151.8528 + 'REQUEST_TIME' => 1729985151 +] diff --git a/ctms-admin/web/404.html b/ctms-admin/web/404.html new file mode 100755 index 0000000..c893246 --- /dev/null +++ b/ctms-admin/web/404.html @@ -0,0 +1,27 @@ + + + + + + + 404 + + + + +

404,您请求的文件不存在!

+ + diff --git a/dacms-api/views/layouts/dev.php b/dacms-api/views/layouts/dev.php deleted file mode 100755 index 15a4c00..0000000 --- a/dacms-api/views/layouts/dev.php +++ /dev/null @@ -1,8 +0,0 @@ -
-
-

温馨提示


-
-

- 功能尚未开放,敬请稍候……

- -
\ No newline at end of file diff --git a/dacms-api/views/layouts/main.php b/dacms-api/views/layouts/main.php deleted file mode 100755 index d4f0c5c..0000000 --- a/dacms-api/views/layouts/main.php +++ /dev/null @@ -1,211 +0,0 @@ - -beginPage() ?> - - - - - - - <?= Html::encode($this->title) ?> - - - - - - - - - - - - - - - - - - - - - - - head() ?> - - -beginBody() ?> -controller->module->defaultRoute != "site") || (Yii::$app->controller->module->defaultRoute == "site" && Yii::$app->controller->module->requestedRoute != "" - && Yii::$app->controller->module->requestedRoute != "site/login")): ?> - - -controller->module->id, $routes)): ?> -
-
-
-
-
- - - - controller->module->id, $routes)): ?> -
-
-
-
-
- - -endBody() ?> - - - - - - - - - - - - -endPage() ?> diff --git a/dacms-api/views/layouts/msg.php b/dacms-api/views/layouts/msg.php deleted file mode 100755 index 04286a8..0000000 --- a/dacms-api/views/layouts/msg.php +++ /dev/null @@ -1,32 +0,0 @@ -title = isset($title) ? $title : '提示'; - $content = isset($content) ? $content : ''; - $class = isset($class) ? $class : 'info'; - $class = in_array($class, ['danger', 'warning', 'success', 'info']) ? $class : 'info'; - $buttons = isset($buttons) ? $buttons : [['title' => '好的,我知道了', 'class' => 'primary', 'url' => FALSE]]; - -?> -
-
-

title) ?>


-
- - - href="" - class="btn btn-"> - -
\ No newline at end of file diff --git a/dacms-api/web/index.php b/dacms-api/web/index.php index 54e17eb..771b1a2 100755 --- a/dacms-api/web/index.php +++ b/dacms-api/web/index.php @@ -10,7 +10,7 @@ defined('YII_ENV') or define('YII_ENV', 'prod'); date_default_timezone_set('PRC'); //设置时区为中国 define('TIMESTAMP', time()); - define('HI_APP', 'ctms'); //给子项目设置的统一短标识 + define('HI_APP', 'dacms'); //给子项目设置的统一短标识 //跨域设置 require(__DIR__ . '/../../addons-' . HI_APP . '/access.php'); require(__DIR__ . '/../../cors.php'); diff --git a/dacms-api/web/index_test.php b/dacms-api/web/index_test.php index 805fe24..8bc8dfb 100644 --- a/dacms-api/web/index_test.php +++ b/dacms-api/web/index_test.php @@ -10,7 +10,7 @@ defined('YII_ENV') or define('YII_ENV', 'dev'); date_default_timezone_set('PRC'); //设置时区为中国 define('TIMESTAMP', time()); - define('HI_APP', 'ctms'); //给子项目设置的统一短标识 + define('HI_APP', 'dacms'); //给子项目设置的统一短标识 //跨域设置 require(__DIR__ . '/../../addons-' . HI_APP . '/access.php'); require(__DIR__ . '/../../cors.php'); diff --git a/dacms-home/web/.gitignore b/dacms-home/web/.gitignore index 25c74e6..e43592a 100755 --- a/dacms-home/web/.gitignore +++ b/dacms-home/web/.gitignore @@ -1,2 +1,2 @@ -/index.php -/index-test.php +assets +.well-known \ No newline at end of file diff --git a/front-hiluker/web/.gitignore b/front-hiluker/web/.gitignore index 25c74e6..f40fe05 100755 --- a/front-hiluker/web/.gitignore +++ b/front-hiluker/web/.gitignore @@ -1,2 +1 @@ -/index.php -/index-test.php +assets \ No newline at end of file diff --git a/vendor/autoload.php b/vendor/autoload.php index 722dfe0..c824f54 100755 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running ' . PHP_VERSION . ', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.' . PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } else if (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/vendor/behat/gherkin/.github/workflows/build.yml b/vendor/behat/gherkin/.github/workflows/build.yml deleted file mode 100644 index 93d5d1d..0000000 --- a/vendor/behat/gherkin/.github/workflows/build.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Build - -on: - push: - branches: [master] - pull_request: - release: - types: [created] - -jobs: - tests: - runs-on: ubuntu-latest - name: Build and test - strategy: - fail-fast: false - matrix: - php: [7.2, 7.3, 7.4, 8.0, 8.1] - composer-flags: [ "" ] - symfony-version: [ "" ] - include: - - php: 7.2 - symfony-version: '3.*' - - php: 7.3 - symfony-version: '4.*' - - php: 7.4 - symfony-version: '5.*' - - php: 8.0 - symfony-version: '5.*' - - steps: - - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: "${{ matrix.php }}" - coverage: none - - - name: Update Symfony version - if: matrix.symfony-version != '' - run: composer require --no-update "symfony/symfony:${{ matrix.symfony-version }}" - - - name: Install dependencies - run: composer update ${{ matrix.composer-flags }} - - - name: Run tests (phpunit) - run: ./vendor/bin/phpunit diff --git a/vendor/behat/gherkin/.github/workflows/update.yml b/vendor/behat/gherkin/.github/workflows/update.yml deleted file mode 100644 index 0ba32d3..0000000 --- a/vendor/behat/gherkin/.github/workflows/update.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Update Cucumber - -on: - schedule: - - cron: '0 7 * * *' - -jobs: - cucumber-update: - runs-on: ubuntu-latest - name: Upstream cucumber update - steps: - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 7.4 - coverage: none - - - uses: actions/checkout@v2 - - - name: Install dependencies - run: composer update - - - name: Update cucumber tag - id: cucumber - run: bin/update_cucumber - - - name: Re-install dependencies - run: composer update - if: steps.cucumber.outputs.cucumber_version - - - name: Update translations - run: bin/update_i18n - if: steps.cucumber.outputs.cucumber_version - - - name: Find changelog - id: changelog - run: bin/cucumber_changelog ${{ steps.cucumber.outputs.cucumber_version }} - if: steps.cucumber.outputs.cucumber_version - - - name: Open a PR - uses: peter-evans/create-pull-request@v3 - if: steps.cucumber.outputs.cucumber_version - with: - commit-message: Automatic Cucumber tag update to ${{ steps.cucumber.outputs.cucumber_version }} - branch: cucumber-update-${{ steps.cucumber.outputs.cucumber_version }} - delete-branch: true - title: Cucumber update ${{ steps.cucumber.outputs.cucumber_version }} - body: ${{ steps.changelog.outputs.changelog }} - base: 'master' diff --git a/vendor/behat/gherkin/CHANGES.md b/vendor/behat/gherkin/CHANGES.md index 4533536..ac2a0af 100644 --- a/vendor/behat/gherkin/CHANGES.md +++ b/vendor/behat/gherkin/CHANGES.md @@ -1,442 +1,380 @@ -4.9.0 / 2021-10-12 -================== +# 4.10.0 / 2024-10-19 -* Simplify the boolean condition for the tag matching by @stof in https://github.com/Behat/Gherkin/pull/219 -* Remove symfony phpunit bridge by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/220 -* Ignore the bin folder in archives by @stof in https://github.com/Behat/Gherkin/pull/226 -* Cast table node exceptions into ParserExceptions when throwing by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/216 -* Cucumber changelog in PRs and using correct hash by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/225 -* Support alternative docstrings format (```) by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/214 -* Fix DocBlocks (Boolean -> bool) by @simonhammes in https://github.com/Behat/Gherkin/pull/237 -* Tag parsing by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/215 -* Remove test - cucumber added an example with Rule which is not supported by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/239 -* Add PHP 8.1 support by @javer in https://github.com/Behat/Gherkin/pull/242 -* Fix main branch alias version by @mvorisek in https://github.com/Behat/Gherkin/pull/244 +- Add support for Symfony 6 and 7 thanks to @tacman +- Sync with Cucumber 24.1.0 +- Fix exception when filter string is empty thanks to @magikid +- Fix nullable parameters warning in PHP 8.4 thanks to @heiglandreas and @jrfnl +- Fix parsing of scenario outline rows with trailing backslashes +- Fix PHPUnit 10 deprecation messages +- A lot of great CI work by @heiglandreas and @jrfnl -4.8.0 / 2021-02-04 -================== +# 4.9.0 / 2021-10-12 -* Drop support for PHP before version 7.2 +- Simplify the boolean condition for the tag matching by @stof in https://github.com/Behat/Gherkin/pull/219 +- Remove symfony phpunit bridge by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/220 +- Ignore the bin folder in archives by @stof in https://github.com/Behat/Gherkin/pull/226 +- Cast table node exceptions into ParserExceptions when throwing by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/216 +- Cucumber changelog in PRs and using correct hash by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/225 +- Support alternative docstrings format (```) by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/214 +- Fix DocBlocks (Boolean -> bool) by @simonhammes in https://github.com/Behat/Gherkin/pull/237 +- Tag parsing by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/215 +- Remove test - cucumber added an example with Rule which is not supported by @ciaranmcnulty in https://github.com/Behat/Gherkin/pull/239 +- Add PHP 8.1 support by @javer in https://github.com/Behat/Gherkin/pull/242 +- Fix main branch alias version by @mvorisek in https://github.com/Behat/Gherkin/pull/244 -4.7.3 / 2021-02-04 -================== + # 4.8.0 / 2021-02-04 -* Refactored comments parsing to avoid Maximum function nesting level errors +- Drop support for PHP before version 7.2 -4.7.2 / 2021-02-03 -================== + # 4.7.3 / 2021-02-04 -* Issue where Scenario Outline title was not populated into Examples -* Updated translations from cucumber 16.0.0 +- Refactored comments parsing to avoid Maximum function nesting level errors -4.7.1 / 2021-01-26 -================== + # 4.7.2 / 2021-02-03 -* Issue parsing comments before scenarios when following an Examples table +- Issue where Scenario Outline title was not populated into Examples +- Updated translations from cucumber 16.0.0 -4.7.0 / 2021-01-24 -================== + # 4.7.1 / 2021-01-26 - * Provides better messages for TableNode construct errors - * Now allows single character steps - * Supports multiple Example Tables with tags +- Issue parsing comments before scenarios when following an Examples table -4.6.2 / 2020-03-17 -================== + # 4.7.0 / 2021-01-24 - * Fixed issues due to incorrect cache key +- Provides better messages for TableNode construct errors +- Now allows single character steps +- Supports multiple Example Tables with tags -4.6.1 / 2020-02-27 -================== +# 4.6.2 / 2020-03-17 - * Fix AZ translations - * Correctly filter features, now that the base path is correctly set +- Fixed issues due to incorrect cache key -4.6.0 / 2019-01-16 -================== +# 4.6.1 / 2020-02-27 - * Updated translations (including 'Example' as synonym for 'Scenario' in `en`) +- Fix AZ translations +- Correctly filter features, now that the base path is correctly set -4.5.1 / 2017-08-30 -================== +# 4.6.0 / 2019-01-16 - * Fix regression in `PathsFilter` +- Updated translations (including 'Example' as synonym for 'Scenario' in `en`) -4.5.0 / 2017-08-30 -================== +# 4.5.1 / 2017-08-30 - * Sync i18n with Cucumber Gherkin - * Drop support for HHVM tests on Travis - * Add `TableNode::fromList()` method (thanks @TravisCarden) - * Add `ExampleNode::getOutlineTitle()` method (thanks @duxet) - * Use realpath, so the feature receives the cwd prefixed (thanks @glennunipro) - * Explicitly handle non-two-dimensional arrays in TableNode (thanks @TravisCarden) - * Fix to line/linefilter scenario runs which take relative paths to files (thanks @generalconsensus) +- Fix regression in `PathsFilter` -4.4.5 / 2016-10-30 -================== +# 4.5.0 / 2017-08-30 - * Fix partial paths matching in `PathsFilter` +- Sync i18n with Cucumber Gherkin +- Drop support for HHVM tests on Travis +- Add `TableNode::fromList()` method (thanks @TravisCarden) +- Add `ExampleNode::getOutlineTitle()` method (thanks @duxet) +- Use realpath, so the feature receives the cwd prefixed (thanks @glennunipro) +- Explicitly handle non-two-dimensional arrays in TableNode (thanks @TravisCarden) +- Fix to line/linefilter scenario runs which take relative paths to files (thanks @generalconsensus) -4.4.4 / 2016-09-18 -================== +# 4.4.5 / 2016-10-30 - * Provide clearer exception for non-writeable cache directories +- Fix partial paths matching in `PathsFilter` -4.4.3 / 2016-09-18 -================== +# 4.4.4 / 2016-09-18 - * Ensure we reset tags between features +- Provide clearer exception for non-writeable cache directories -4.4.2 / 2016-09-03 -================== +# 4.4.3 / 2016-09-18 - * Sync 18n with gherkin 3 +- Ensure we reset tags between features -4.4.1 / 2015-12-30 -================== +# 4.4.2 / 2016-09-03 - * Ensure keywords are trimmed when syncing translations - * Sync 18n with cucumber +- Sync 18n with gherkin 3 -4.4.0 / 2015-09-19 -================== +# 4.4.1 / 2015-12-30 - * Added validation enforcing that all rows of a `TableNode` have the same number of columns - * Added `TableNode::getColumn` to get a column from the table - * Sync 18n with cucumber +- Ensure keywords are trimmed when syncing translations +- Sync 18n with cucumber -4.3.0 / 2014-06-06 -================== +# 4.4.0 / 2015-09-19 - * Added `setFilters(array)` method to `Gherkin` class - * Added `NarrativeFilter` for non-english `RoleFilter` lovers +- Added validation enforcing that all rows of a `TableNode` have the same number of columns +- Added `TableNode::getColumn` to get a column from the table +- Sync 18n with cucumber -4.2.1 / 2014-06-06 -================== +# 4.3.0 / 2014-06-06 - * Fix parsing of features without line feed at the end +- Added `setFilters(array)` method to `Gherkin` class +- Added `NarrativeFilter` for non-english `RoleFilter` lovers -4.2.0 / 2014-05-27 -================== +# 4.2.1 / 2014-06-06 - * Added `getKeyword()` and `getKeywordType()` methods to `StepNode`, deprecated `getType()`. - Thanks to @kibao +- Fix parsing of features without line feed at the end -4.1.3 / 2014-05-25 -================== +# 4.2.0 / 2014-05-27 - * Properly handle tables with rows terminating in whitespace +- Added `getKeyword()` and `getKeywordType()` methods to `StepNode`, deprecated `getType()`. + Thanks to @kibao -4.1.2 / 2014-05-14 -================== +# 4.1.3 / 2014-05-25 - * Handle case where Gherkin cache is broken +- Properly handle tables with rows terminating in whitespace -4.1.1 / 2014-05-05 -================== +# 4.1.2 / 2014-05-14 - * Fixed the compatibility with PHP 5.6-beta by avoiding to use the broken PHP array function - * The YamlFileLoader no longer extend from ArrayLoader but from AbstractFileLoader +- Handle case where Gherkin cache is broken -4.1.0 / 2014-04-20 -================== +# 4.1.1 / 2014-05-05 - * Fixed scenario tag filtering - * Do not allow multiple multiline step arguments - * Sync 18n with cucumber +- Fixed the compatibility with PHP 5.6-beta by avoiding to use the broken PHP array function +- The YamlFileLoader no longer extend from ArrayLoader but from AbstractFileLoader -4.0.0 / 2014-01-05 -================== +# 4.1.0 / 2014-04-20 - * Changed the behavior when no loader can be found for the resource. Instead of throwing an exception, the - Gherkin class now returns an empty array. +- Fixed scenario tag filtering +- Do not allow multiple multiline step arguments +- Sync 18n with cucumber -3.1.3 / 2014-01-04 -================== +# 4.0.0 / 2014-01-05 - * Dropped the dependency on the Symfony Finder by using SPL iterators directly - * Added testing on HHVM on Travis. HHVM is officially supported (previous release was actually already compatible) +- Changed the behavior when no loader can be found for the resource. Instead of throwing an exception, the + Gherkin class now returns an empty array. -3.1.2 / 2014-01-01 -================== +# 3.1.3 / 2014-01-04 - * All paths passed to PathsFilter are converted using realpath +- Dropped the dependency on the Symfony Finder by using SPL iterators directly +- Added testing on HHVM on Travis. HHVM is officially supported (previous release was actually already compatible) -3.1.1 / 2013-12-31 -================== +# 3.1.2 / 2014-01-01 - * Add `ComplexFilterInterace` that has complex behavior for scenarios and requires to pass - feature too - * `TagFilter` is an instance of a `ComplexFilterInterace` now +- All paths passed to PathsFilter are converted using realpath -3.1.0 / 2013-12-31 -================== +# 3.1.1 / 2013-12-31 - * Example node is a scenario - * Nodes do not have uprefs (memory usage fix) - * Scenario filters do not depend on feature nodes +- Add `ComplexFilterInterace` that has complex behavior for scenarios and requires to pass + feature too +- `TagFilter` is an instance of a `ComplexFilterInterace` now -3.0.5 / 2014-01-01 -================== +# 3.1.0 / 2013-12-31 - * All paths passed to PathsFilter are converted using realpath +- Example node is a scenario +- Nodes do not have uprefs (memory usage fix) +- Scenario filters do not depend on feature nodes -3.0.4 / 2013-12-31 -================== +# 3.0.5 / 2014-01-01 - * TableNode is now traversable using foreach - * All possibly thrown exceptions implement Gherkin\Exception interface - * Sync i18n with cucumber +- All paths passed to PathsFilter are converted using realpath -3.0.3 / 2013-09-15 -================== +# 3.0.4 / 2013-12-31 - * Extend ExampleNode with additional methods +- TableNode is now traversable using foreach +- All possibly thrown exceptions implement Gherkin\Exception interface +- Sync i18n with cucumber -3.0.2 / 2013-09-14 -================== +# 3.0.3 / 2013-09-15 - * Extract `KeywordNodeInterface` and `ScenarioLikeInterface` - * Add `getIndex()` methods to scenarios, outlines, steps and examples - * Throw proper exception for fractured node tree +- Extend ExampleNode with additional methods -3.0.1 / 2013-09-14 -================== +# 3.0.2 / 2013-09-14 - * Use versioned subfolder in FileCache +- Extract `KeywordNodeInterface` and `ScenarioLikeInterface` +- Add `getIndex()` methods to scenarios, outlines, steps and examples +- Throw proper exception for fractured node tree -3.0.0 / 2013-09-14 -================== +# 3.0.1 / 2013-09-14 - * A lot of optimizations in Parser and Lexer - * Node tree is now immutable by nature (no setters) - * Example nodes are now part of the node tree. They are lazily generated by Outline node - * Sync with latest cucumber i18n +- Use versioned subfolder in FileCache -2.3.4 / 2013-08-11 -================== +# 3.0.0 / 2013-09-14 - * Fix leaks in memory cache +- A lot of optimizations in Parser and Lexer +- Node tree is now immutable by nature (no setters) +- Example nodes are now part of the node tree. They are lazily generated by Outline node +- Sync with latest cucumber i18n -2.3.3 / 2013-08-11 -================== +# 2.3.4 / 2013-08-11 - * Fix encoding bug introduced with previous release - * Sync i18n with cucumber +- Fix leaks in memory cache -2.3.2 / 2013-08-11 -================== +# 2.3.3 / 2013-08-11 - * Explicitly use utf8 encoding +- Fix encoding bug introduced with previous release +- Sync i18n with cucumber -2.3.1 / 2013-08-10 -================== +# 2.3.2 / 2013-08-11 - * Support `an` prefix with RoleFilter +- Explicitly use utf8 encoding -2.3.0 / 2013-08-04 -================== +# 2.3.1 / 2013-08-10 - * Add RoleFilter - * Add PathsFilter - * Add MemoryCache +- Support `an` prefix with RoleFilter -2.2.9 / 2013-03-02 -================== +# 2.3.0 / 2013-08-04 - * Fix dependency version requirement +- Add RoleFilter +- Add PathsFilter +- Add MemoryCache -2.2.8 / 2013-03-02 -================== +# 2.2.9 / 2013-03-02 - * Features filtering behavior change. Now emptified (by filtering) features - that do not match filter themselves are removed from resultset. - * Small potential bug fix in TableNode +- Fix dependency version requirement -2.2.7 / 2013-01-27 -================== +# 2.2.8 / 2013-03-02 - * Fixed bug in i18n syncing script - * Resynced Gherkin i18n +- Features filtering behavior change. Now emptified (by filtering) features + that do not match filter themselves are removed from resultset. +- Small potential bug fix in TableNode -2.2.6 / 2013-01-26 -================== +# 2.2.7 / 2013-01-27 - * Support long row hashes in tables ([see](https://github.com/Behat/Gherkin/issues/40)) - * Synced Gherkin i18n +- Fixed bug in i18n syncing script +- Resynced Gherkin i18n -2.2.5 / 2012-09-26 -================== +# 2.2.6 / 2013-01-26 - * Fixed issue with loading empty features - * Synced Gherkin i18n +- Support long row hashes in tables ([see](https://github.com/Behat/Gherkin/issues/40)) +- Synced Gherkin i18n -2.2.4 / 2012-08-03 -================== +# 2.2.5 / 2012-09-26 - * Fixed exception message for "no loader found" +- Fixed issue with loading empty features +- Synced Gherkin i18n -2.2.3 / 2012-08-03 -================== +# 2.2.4 / 2012-08-03 - * Fixed minor loader bug with empty base path - * Synced Gherkin i18n +- Fixed exception message for "no loader found" -2.2.2 / 2012-07-01 -================== +# 2.2.3 / 2012-08-03 - * Added ability to filter outline scenarios by line and range filters - * Synced Gherkin i18n - * Refactored table parser to read row line numbers too +- Fixed minor loader bug with empty base path +- Synced Gherkin i18n -2.2.1 / 2012-05-04 -================== +# 2.2.2 / 2012-07-01 - * Fixed StepNode `getLanguage()` and `getFile()` +- Added ability to filter outline scenarios by line and range filters +- Synced Gherkin i18n +- Refactored table parser to read row line numbers too -2.2.0 / 2012-05-03 -================== +# 2.2.1 / 2012-05-04 - * Features freeze after parsing - * Implemented GherkinDumper (@Halleck45) - * Synced i18n with Cucumber - * Updated inline documentation +- Fixed StepNode `getLanguage()` and `getFile()` -2.1.1 / 2012-03-09 -================== +# 2.2.0 / 2012-05-03 - * Fixed caching bug, where `isFresh()` always returned false +- Features freeze after parsing +- Implemented GherkinDumper (@Halleck45) +- Synced i18n with Cucumber +- Updated inline documentation -2.1.0 / 2012-03-09 -================== +# 2.1.1 / 2012-03-09 - * Added parser caching layer - * Added support for table delimiter escaping (use `\|` for that) - * Added LineRangeFilter (thanks @headrevision) - * Synced i18n dictionary with cucumber/gherkin +- Fixed caching bug, where `isFresh()` always returned false -2.0.2 / 2012-02-04 -================== +# 2.1.0 / 2012-03-09 - * Synced i18n dictionary with cucumber/gherkin +- Added parser caching layer +- Added support for table delimiter escaping (use `\|` for that) +- Added LineRangeFilter (thanks @headrevision) +- Synced i18n dictionary with cucumber/gherkin -2.0.1 / 2012-01-26 -================== +# 2.0.2 / 2012-02-04 - * Fixed issue about parsing features without indentation +- Synced i18n dictionary with cucumber/gherkin -2.0.0 / 2012-01-19 -================== +# 2.0.1 / 2012-01-26 - * Background titles support - * Correct parsing of titles/descriptions (hirarchy lexing) - * Migration to the cucumber/gherkin i18n dictionary - * Speed optimizations - * Refactored KeywordsDumper - * New loaders - * Bugfixes +- Fixed issue about parsing features without indentation -1.1.4 / 2012-01-08 -================== +# 2.0.0 / 2012-01-19 - * Read feature description even if it looks like a step +- Background titles support +- Correct parsing of titles/descriptions (hirarchy lexing) +- Migration to the cucumber/gherkin i18n dictionary +- Speed optimizations +- Refactored KeywordsDumper +- New loaders +- Bugfixes -1.1.3 / 2011-12-14 -================== +# 1.1.4 / 2012-01-08 - * Removed file loading routines from Parser (fixes `is_file()` issue on some systems - thanks - @flodocteurklein) +- Read feature description even if it looks like a step -1.1.2 / 2011-12-01 -================== +# 1.1.3 / 2011-12-14 - * Updated spanish trasnaltion (@anbotero) - * Integration with Composer and Travis CI +- Removed file loading routines from Parser (fixes `is_file()` issue on some systems - thanks + @flodocteurklein) -1.1.1 / 2011-07-29 -================== +# 1.1.2 / 2011-12-01 - * Updated pt language step types (@danielcsgomes) - * Updated vendors +- Updated spanish trasnaltion (@anbotero) +- Integration with Composer and Travis CI -1.1.0 / 2011-07-16 -================== +# 1.1.1 / 2011-07-29 - * Return all tags, including inherited in `Scenario::getTags()` - * New `Feature::getOwnTags()` and `Scenario::getOwnTags()` method added, - which returns only own tags +- Updated pt language step types (@danielcsgomes) +- Updated vendors -1.0.8 / 2011-06-29 -================== +# 1.1.0 / 2011-07-16 - * Fixed comments parsing. - You can’t have comments at the end of a line # like this - # But you can still have comments at the beginning of a line +- Return all tags, including inherited in `Scenario::getTags()` +- New `Feature::getOwnTags()` and `Scenario::getOwnTags()` method added, + which returns only own tags -1.0.7 / 2011-06-28 -================== +# 1.0.8 / 2011-06-29 - * Added `getRaw()` method to PyStringNode - * Updated vendors +- Fixed comments parsing. + You can’t have comments at the end of a line # like this + # But you can still have comments at the beginning of a line -1.0.6 / 2011-06-17 -================== +# 1.0.7 / 2011-06-28 - * Updated vendors +- Added `getRaw()` method to PyStringNode +- Updated vendors -1.0.5 / 2011-06-10 -================== +# 1.0.6 / 2011-06-17 - * Fixed bug, introduced with 1.0.4 - hash in PyStrings +- Updated vendors -1.0.4 / 2011-06-10 -================== +# 1.0.5 / 2011-06-10 - * Fixed inability to comment pystrings +- Fixed bug, introduced with 1.0.4 - hash in PyStrings -1.0.3 / 2011-04-21 -================== +# 1.0.4 / 2011-06-10 - * Fixed introduced with 1.0.2 pystring parsing bug +- Fixed inability to comment pystrings -1.0.2 / 2011-04-18 -================== +# 1.0.3 / 2011-04-21 - * Fixed bugs in text with comments parsing +- Fixed introduced with 1.0.2 pystring parsing bug -1.0.1 / 2011-04-01 -================== +# 1.0.2 / 2011-04-18 - * Updated vendors +- Fixed bugs in text with comments parsing -1.0.0 / 2011-03-08 -================== +# 1.0.1 / 2011-04-01 - * Updated vendors +- Updated vendors -1.0.0RC2 / 2011-02-25 -===================== +# 1.0.0 / 2011-03-08 - * Windows support - * Missing phpunit config +- Updated vendors -1.0.0RC1 / 2011-02-15 -===================== +# 1.0.0RC2 / 2011-02-25 - * Huge optimizations to Lexer & Parser - * Additional loaders (Yaml, Array, Directory) - * Filters (Tag, Name, Line) - * Code refactoring - * Nodes optimizations - * Additional tests for exceptions and translations - * Keywords dumper +- Windows support +- Missing phpunit config -0.2.0 / 2011-01-05 -================== +# 1.0.0RC1 / 2011-02-15 - * New Parser & Lexer (based on AST) - * New verbose parsing exception handling - * New translation mechanics - * 47 brand new translations (see i18n) - * Full test suite for everything from AST nodes to translations +- Huge optimizations to Lexer & Parser +- Additional loaders (Yaml, Array, Directory) +- Filters (Tag, Name, Line) +- Code refactoring +- Nodes optimizations +- Additional tests for exceptions and translations +- Keywords dumper + +# 0.2.0 / 2011-01-05 + +- New Parser & Lexer (based on AST) +- New verbose parsing exception handling +- New translation mechanics +- 47 brand new translations (see i18n) +- Full test suite for everything from AST nodes to translations diff --git a/vendor/behat/gherkin/composer.json b/vendor/behat/gherkin/composer.json index 7a48c3e..a292fae 100644 --- a/vendor/behat/gherkin/composer.json +++ b/vendor/behat/gherkin/composer.json @@ -18,9 +18,9 @@ }, "require-dev": { - "symfony/yaml": "~3|~4|~5", + "symfony/yaml": "~3|~4|~5|~6|~7", "phpunit/phpunit": "~8|~9", - "cucumber/cucumber": "dev-gherkin-24.0.0" + "cucumber/cucumber": "dev-gherkin-24.1.0" }, "suggest": { @@ -50,16 +50,16 @@ "type": "package", "package": { "name": "cucumber/cucumber", - "version": "dev-gherkin-24.0.0", + "version": "dev-gherkin-24.1.0", "source": { "type": "git", "url": "https://github.com/cucumber/cucumber.git", - "reference": "effd4cf5273798c74793a63f9c88a14a1047346d" + "reference": "1bd907bfcd246275e6d11f62c0885e654cec58cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cucumber/cucumber/zipball/effd4cf5273798c74793a63f9c88a14a1047346d", - "reference": "effd4cf5273798c74793a63f9c88a14a1047346d" + "url": "https://api.github.com/repos/cucumber/cucumber/zipball/1bd907bfcd246275e6d11f62c0885e654cec58cf", + "reference": "1bd907bfcd246275e6d11f62c0885e654cec58cf" } } } diff --git a/vendor/behat/gherkin/i18n.php b/vendor/behat/gherkin/i18n.php index e819171..95035a0 100644 --- a/vendor/behat/gherkin/i18n.php +++ b/vendor/behat/gherkin/i18n.php @@ -1220,7 +1220,7 @@ return array ( 'given' => '假如<|假定<|假设<|*', 'name' => 'Chinese simplified', 'native' => '简体中文', - 'rule' => 'Rule', + 'rule' => 'Rule|规则', 'scenario' => '剧本|场景', 'scenario_outline' => '剧本大纲|场景大纲', 'then' => '那么<|*', diff --git a/vendor/behat/gherkin/src/Behat/Gherkin/Lexer.php b/vendor/behat/gherkin/src/Behat/Gherkin/Lexer.php index 1f3b3c4..761281b 100644 --- a/vendor/behat/gherkin/src/Behat/Gherkin/Lexer.php +++ b/vendor/behat/gherkin/src/Behat/Gherkin/Lexer.php @@ -507,7 +507,7 @@ class Lexer $token = $this->takeToken('TableRow'); $line = mb_substr($line, 1, mb_strlen($line, 'utf8') - 2, 'utf8'); $columns = array_map(function ($column) { - return trim(str_replace('\\|', '|', $column)); + return trim(str_replace(['\\|', '\\\\'], ['|', '\\'], $column)); }, preg_split('/(?parser = $parser; $this->cache = $cache; diff --git a/vendor/behat/gherkin/src/Behat/Gherkin/Node/FeatureNode.php b/vendor/behat/gherkin/src/Behat/Gherkin/Node/FeatureNode.php index d53b97c..833a5f1 100644 --- a/vendor/behat/gherkin/src/Behat/Gherkin/Node/FeatureNode.php +++ b/vendor/behat/gherkin/src/Behat/Gherkin/Node/FeatureNode.php @@ -71,7 +71,7 @@ class FeatureNode implements KeywordNodeInterface, TaggedNodeInterface $title, $description, array $tags, - BackgroundNode $background = null, + ?BackgroundNode $background, array $scenarios, $keyword, $language, diff --git a/vendor/bin/codecept b/vendor/bin/codecept index 052a5a6..14ef0cb 100755 --- a/vendor/bin/codecept +++ b/vendor/bin/codecept @@ -107,11 +107,13 @@ if (PHP_VERSION_ID < 80000) { } } } - - if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) { - include("phpvfscomposer://" . __DIR__ . '/..'.'/codeception/codeception/codecept'); - exit(0); + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), TRUE)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + return include("phpvfscomposer://" . __DIR__ . '/..' . '/codeception/codeception/codecept'); } } -include __DIR__ . '/..'.'/codeception/codeception/codecept'; +return include __DIR__ . '/..' . '/codeception/codeception/codecept'; diff --git a/vendor/codeception/codeception/src/Codeception/Lib/ModuleContainer.php b/vendor/codeception/codeception/src/Codeception/Lib/ModuleContainer.php index bda5655..9dd2bb1 100644 --- a/vendor/codeception/codeception/src/Codeception/Lib/ModuleContainer.php +++ b/vendor/codeception/codeception/src/Codeception/Lib/ModuleContainer.php @@ -97,7 +97,7 @@ class ModuleContainer if (!class_exists($moduleClass)) { if (isset(self::$packages[$moduleName])) { $package = self::$packages[$moduleName]; - throw new ConfigurationException("Codeception's module {$moduleName} not found. Install it with:\n\ncomposer require {$package} --dev"); + throw new ConfigurationException("Module {$moduleName} is not installed.\nUse Composer to install corresponding package:\n\ncomposer require {$package} --dev"); } throw new ConfigurationException("Module {$moduleName} could not be found and loaded"); } diff --git a/vendor/codeception/codeception/src/Codeception/Reporter/ReportPrinter.php b/vendor/codeception/codeception/src/Codeception/Reporter/ReportPrinter.php index 9042c29..580c698 100644 --- a/vendor/codeception/codeception/src/Codeception/Reporter/ReportPrinter.php +++ b/vendor/codeception/codeception/src/Codeception/Reporter/ReportPrinter.php @@ -64,7 +64,7 @@ class ReportPrinter implements ConsolePrinter public function testFailure(FailEvent $event): void { - $this->printTestResult($event->getTest(), "FAIL"); + $this->printTestResult($event->getTest(), "\033[41;37mFAIL\033[0m"); $this->failureCount++; } diff --git a/vendor/codeception/codeception/src/Codeception/Subscriber/Console.php b/vendor/codeception/codeception/src/Codeception/Subscriber/Console.php index e20494f..5d229ed 100644 --- a/vendor/codeception/codeception/src/Codeception/Subscriber/Console.php +++ b/vendor/codeception/codeception/src/Codeception/Subscriber/Console.php @@ -811,7 +811,7 @@ class Console implements EventSubscriberInterface if ($time !== 0.0) { $this ->message(number_format(round($time, 2), 2)) - ->prepend(' (') + ->prepend('(') ->append('s)') ->style('info') ->write(); diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index afef3fa..7824d8f 100755 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -42,35 +42,37 @@ namespace Composer\Autoload; */ class ClassLoader { - /** @var ?string */ + /** @var \Closure(string):void */ + private static $includeFile; + + /** @var string|null */ private $vendorDir; // PSR-4 /** - * @var array[] - * @psalm-var array> + * @var array> */ private $prefixLengthsPsr4 = array(); /** - * @var array[] - * @psalm-var array> + * @var array> */ private $prefixDirsPsr4 = array(); /** - * @var array[] - * @psalm-var array + * @var list */ private $fallbackDirsPsr4 = array(); // PSR-0 /** - * @var array[] - * @psalm-var array> + * List of PSR-0 prefixes + * + * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) + * + * @var array>> */ private $prefixesPsr0 = array(); /** - * @var array[] - * @psalm-var array + * @var list */ private $fallbackDirsPsr0 = array(); @@ -78,8 +80,7 @@ class ClassLoader private $useIncludePath = false; /** - * @var string[] - * @psalm-var array + * @var array */ private $classMap = array(); @@ -87,29 +88,29 @@ class ClassLoader private $classMapAuthoritative = false; /** - * @var bool[] - * @psalm-var array + * @var array */ private $missingClasses = array(); - /** @var ?string */ + /** @var string|null */ private $apcuPrefix; /** - * @var self[] + * @var array */ private static $registeredLoaders = array(); /** - * @param ?string $vendorDir + * @param string|null $vendorDir */ public function __construct($vendorDir = null) { $this->vendorDir = $vendorDir; + self::initializeIncludeClosure(); } /** - * @return string[] + * @return array> */ public function getPrefixes() { @@ -121,8 +122,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array> + * @return array> */ public function getPrefixesPsr4() { @@ -130,8 +130,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array + * @return list */ public function getFallbackDirs() { @@ -139,8 +138,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array + * @return list */ public function getFallbackDirsPsr4() { @@ -148,8 +146,7 @@ class ClassLoader } /** - * @return string[] Array of classname => path - * @psalm-return array + * @return array Array of classname => path */ public function getClassMap() { @@ -157,8 +154,7 @@ class ClassLoader } /** - * @param string[] $classMap Class to filename map - * @psalm-param array $classMap + * @param array $classMap Class to filename map * * @return void */ @@ -175,24 +171,25 @@ class ClassLoader * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * - * @param string $prefix The prefix - * @param string[]|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories * * @return void */ public function add($prefix, $paths, $prepend = false) { + $paths = (array) $paths; if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( - (array) $paths, + $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, - (array) $paths + $paths ); } @@ -201,19 +198,19 @@ class ClassLoader $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; + $this->prefixesPsr0[$first][$prefix] = $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, + $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], - (array) $paths + $paths ); } } @@ -222,9 +219,9 @@ class ClassLoader * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param string[]|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException * @@ -232,17 +229,18 @@ class ClassLoader */ public function addPsr4($prefix, $paths, $prepend = false) { + $paths = (array) $paths; if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( - (array) $paths, + $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, - (array) $paths + $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { @@ -252,18 +250,18 @@ class ClassLoader throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; + $this->prefixDirsPsr4[$prefix] = $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, + $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], - (array) $paths + $paths ); } } @@ -272,8 +270,8 @@ class ClassLoader * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * - * @param string $prefix The prefix - * @param string[]|string $paths The PSR-0 base directories + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 base directories * * @return void */ @@ -290,8 +288,8 @@ class ClassLoader * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param string[]|string $paths The PSR-4 base directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException * @@ -425,7 +423,8 @@ class ClassLoader public function loadClass($class) { if ($file = $this->findFile($class)) { - includeFile($file); + $includeFile = self::$includeFile; + $includeFile($file); return true; } @@ -476,9 +475,9 @@ class ClassLoader } /** - * Returns the currently registered loaders indexed by their corresponding vendor directories. + * Returns the currently registered loaders keyed by their corresponding vendor directories. * - * @return self[] + * @return array */ public static function getRegisteredLoaders() { @@ -555,18 +554,26 @@ class ClassLoader return false; } -} -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - * @private - */ -function includeFile($file) -{ - include $file; + /** + * @return void + */ + private static function initializeIncludeClosure() + { + if (self::$includeFile !== null) { + return; + } + + /** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + */ + self::$includeFile = \Closure::bind(static function($file) { + include $file; + }, null, null); + } } diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index 41bc143..51e734a 100755 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -28,7 +28,7 @@ class InstalledVersions { /** * @var mixed[]|null - * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null + * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null */ private static $installed; @@ -39,7 +39,7 @@ class InstalledVersions /** * @var array[] - * @psalm-var array}> + * @psalm-var array}> */ private static $installedByVendor = array(); @@ -98,7 +98,7 @@ class InstalledVersions { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { - return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); + return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; } } @@ -119,7 +119,7 @@ class InstalledVersions */ public static function satisfies(VersionParser $parser, $packageName, $constraint) { - $constraint = $parser->parseConstraints($constraint); + $constraint = $parser->parseConstraints((string) $constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); @@ -243,7 +243,7 @@ class InstalledVersions /** * @return array - * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} + * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} */ public static function getRootPackage() { @@ -257,7 +257,7 @@ class InstalledVersions * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] - * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} + * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} */ public static function getRawData() { @@ -280,7 +280,7 @@ class InstalledVersions * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ public static function getAllRawData() { @@ -303,7 +303,7 @@ class InstalledVersions * @param array[] $data A vendor/composer/installed.php data set * @return void * - * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data + * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data */ public static function reload($data) { @@ -313,7 +313,7 @@ class InstalledVersions /** * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ private static function getInstalled() { @@ -328,7 +328,9 @@ class InstalledVersions if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { - $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require $vendorDir.'/composer/installed.php'; + $installed[] = self::$installedByVendor[$vendorDir] = $required; if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { self::$installed = $installed[count($installed) - 1]; } @@ -340,12 +342,17 @@ class InstalledVersions // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { - self::$installed = require __DIR__ . '/installed.php'; + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require __DIR__ . '/installed.php'; + self::$installed = $required; } else { self::$installed = array(); } } - $installed[] = self::$installed; + + if (self::$installed !== array()) { + $installed[] = self::$installed; + } return $installed; } diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index 924ae82..139c058 100755 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -14,7 +14,6 @@ return array( '8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php', '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', - '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php', '2cffec82183ee1cea088009cef9a6fc3' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', '5255c38a0faeba867671b61dfda6d864' => $vendorDir . '/paragonie/random_compat/lib/random.php', '801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php', diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index a0904e7..5ef0998 100755 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -17,7 +17,6 @@ return array( 'common\\tests\\' => array($baseDir . '/common/tests', $baseDir . '/common/tests/_support'), 'cebe\\markdown\\' => array($vendorDir . '/cebe/markdown'), 'backend\\tests\\' => array($baseDir . '/backend/tests', $baseDir . '/backend/tests/_support'), - 'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'), 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'), 'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'), @@ -50,5 +49,5 @@ return array( 'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/src'), 'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'), 'Codeception\\Extension\\' => array($vendorDir . '/codeception/codeception/ext'), - 'Codeception\\' => array($vendorDir . '/codeception/codeception/src/Codeception', $vendorDir . '/codeception/stub/src', $vendorDir . '/codeception/verify/src/Codeception'), + 'Codeception\\' => array($vendorDir . '/codeception/stub/src', $vendorDir . '/codeception/verify/src/Codeception', $vendorDir . '/codeception/codeception/src/Codeception'), ); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index a553c09..f80a697 100755 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -33,25 +33,18 @@ class ComposerAutoloaderInitcf8142ffb616573c604f92b052bd5895 $loader->register(true); - $includeFiles = \Composer\Autoload\ComposerStaticInitcf8142ffb616573c604f92b052bd5895::$files; - foreach ($includeFiles as $fileIdentifier => $file) { - composerRequirecf8142ffb616573c604f92b052bd5895($fileIdentifier, $file); + $filesToLoad = \Composer\Autoload\ComposerStaticInitcf8142ffb616573c604f92b052bd5895::$files; + $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; + } + }, null, null); + foreach ($filesToLoad as $fileIdentifier => $file) { + $requireFile($fileIdentifier, $file); } return $loader; } } - -/** - * @param string $fileIdentifier - * @param string $file - * @return void - */ -function composerRequirecf8142ffb616573c604f92b052bd5895($fileIdentifier, $file) -{ - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - - require $file; - } -} diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 766666c..2f18d01 100755 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -15,7 +15,6 @@ class ComposerStaticInitcf8142ffb616573c604f92b052bd5895 '8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php', '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', - '25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php', '2cffec82183ee1cea088009cef9a6fc3' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', '5255c38a0faeba867671b61dfda6d864' => __DIR__ . '/..' . '/paragonie/random_compat/lib/random.php', '801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php', @@ -52,7 +51,6 @@ class ComposerStaticInitcf8142ffb616573c604f92b052bd5895 ), 'S' => array ( - 'Symfony\\Polyfill\\Php72\\' => 23, 'Symfony\\Polyfill\\Mbstring\\' => 26, 'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33, 'Symfony\\Polyfill\\Intl\\Idn\\' => 26, @@ -155,10 +153,6 @@ class ComposerStaticInitcf8142ffb616573c604f92b052bd5895 0 => __DIR__ . '/../..' . '/backend/tests', 1 => __DIR__ . '/../..' . '/backend/tests/_support', ), - 'Symfony\\Polyfill\\Php72\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-php72', - ), 'Symfony\\Polyfill\\Mbstring\\' => array ( 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring', @@ -290,9 +284,9 @@ class ComposerStaticInitcf8142ffb616573c604f92b052bd5895 ), 'Codeception\\' => array ( - 0 => __DIR__ . '/..' . '/codeception/codeception/src/Codeception', - 1 => __DIR__ . '/..' . '/codeception/stub/src', - 2 => __DIR__ . '/..' . '/codeception/verify/src/Codeception', + 0 => __DIR__ . '/..' . '/codeception/stub/src', + 1 => __DIR__ . '/..' . '/codeception/verify/src/Codeception', + 2 => __DIR__ . '/..' . '/codeception/codeception/src/Codeception', ), ); diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 7bbf9ef..0b7d010 100755 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -7,12 +7,12 @@ "source": { "type": "git", "url": "https://github.com/Behat/Gherkin.git", - "reference": "01379b1f9bc67a9040a472d069f1ee34cbe1b1b3" + "reference": "3ce7eec6f4bfad9f9f80e6b116f25aed2e66cf06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/01379b1f9bc67a9040a472d069f1ee34cbe1b1b3", - "reference": "01379b1f9bc67a9040a472d069f1ee34cbe1b1b3", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/3ce7eec6f4bfad9f9f80e6b116f25aed2e66cf06", + "reference": "3ce7eec6f4bfad9f9f80e6b116f25aed2e66cf06", "shasum": "", "mirrors": [ { @@ -25,14 +25,14 @@ "php": "~7.2|~8.0" }, "require-dev": { - "cucumber/cucumber": "dev-gherkin-24.0.0", + "cucumber/cucumber": "dev-gherkin-24.1.0", "phpunit/phpunit": "~8|~9", - "symfony/yaml": "~3|~4|~5" + "symfony/yaml": "~3|~4|~5|~6|~7" }, "suggest": { "symfony/yaml": "If you want to parse features, represented in YAML files" }, - "time": "2022-07-07T14:25:02+00:00", + "time": "2024-10-19T14:47:56+00:00", "default-branch": true, "type": "library", "extra": { @@ -254,17 +254,17 @@ }, { "name": "codeception/codeception", - "version": "5.1.x-dev", - "version_normalized": "5.1.9999999.9999999-dev", + "version": "5.1.2", + "version_normalized": "5.1.2.0", "source": { "type": "git", "url": "https://github.com/Codeception/Codeception.git", - "reference": "0297b0b030b05a3163bbb80153e0d5e0a234bae0" + "reference": "3b2d7d1a88e7e1d9dc0acb6d3c8f0acda0a37374" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/0297b0b030b05a3163bbb80153e0d5e0a234bae0", - "reference": "0297b0b030b05a3163bbb80153e0d5e0a234bae0", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/3b2d7d1a88e7e1d9dc0acb6d3c8f0acda0a37374", + "reference": "3b2d7d1a88e7e1d9dc0acb6d3c8f0acda0a37374", "shasum": "", "mirrors": [ { @@ -327,8 +327,7 @@ "symfony/phpunit-bridge": "For phpunit-bridge support", "vlucas/phpdotenv": "For loading params from .env files" }, - "time": "2024-05-16T16:56:36+00:00", - "default-branch": true, + "time": "2024-03-07T07:19:42+00:00", "bin": [ "codecept" ], @@ -368,7 +367,7 @@ ], "support": { "issues": "https://github.com/Codeception/Codeception/issues", - "source": "https://github.com/Codeception/Codeception/tree/5.1" + "source": "https://github.com/Codeception/Codeception/tree/5.1.2" }, "funding": [ { @@ -1514,17 +1513,17 @@ }, { "name": "nikic/php-parser", - "version": "v5.1.0", - "version_normalized": "5.1.0.0", + "version": "v5.3.0", + "version_normalized": "5.3.0.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" + "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3abf7425cd284141dc5d8d14a9ee444de3345d1a", + "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a", "shasum": "", "mirrors": [ { @@ -1543,7 +1542,7 @@ "ircmaxell/php-yacc": "^0.0.7", "phpunit/phpunit": "^9.0" }, - "time": "2024-07-01T20:03:41+00:00", + "time": "2024-09-29T13:56:26+00:00", "bin": [ "bin/php-parse" ], @@ -1575,7 +1574,7 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.0" }, "install-path": "../nikic/php-parser" }, @@ -1586,12 +1585,12 @@ "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "64f3265002e9e181436942aac2fbd482e186dc55" + "reference": "bf95de2af7feb426f91eee6c66d6ad8661c38e29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/64f3265002e9e181436942aac2fbd482e186dc55", - "reference": "64f3265002e9e181436942aac2fbd482e186dc55", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/bf95de2af7feb426f91eee6c66d6ad8661c38e29", + "reference": "bf95de2af7feb426f91eee6c66d6ad8661c38e29", "shasum": "", "mirrors": [ { @@ -1609,7 +1608,7 @@ "suggest": { "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, - "time": "2022-06-19T18:08:39+00:00", + "time": "2024-09-10T09:24:43+00:00", "default-branch": true, "type": "library", "installation-source": "dist", @@ -1831,12 +1830,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "cfa5f0972763e046de8750b40947df259bf1ad5c" + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/cfa5f0972763e046de8750b40947df259bf1ad5c", - "reference": "cfa5f0972763e046de8750b40947df259bf1ad5c", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", "shasum": "", "mirrors": [ { @@ -1849,16 +1848,16 @@ "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-text-template": "^2.0.4", + "sebastian/code-unit-reverse-lookup": "^2.0.3", + "sebastian/complexity": "^2.0.3", + "sebastian/environment": "^5.1.5", + "sebastian/lines-of-code": "^1.0.4", + "sebastian/version": "^3.0.2", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { "phpunit/phpunit": "^9.6" @@ -1867,7 +1866,7 @@ "ext-pcov": "PHP extension that provides line coverage", "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, - "time": "2024-07-17T05:07:06+00:00", + "time": "2024-08-22T04:23:01+00:00", "type": "library", "extra": { "branch-alias": { @@ -1901,7 +1900,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" }, "funding": [ { @@ -2559,12 +2558,12 @@ "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "", "mirrors": [ { @@ -2576,7 +2575,7 @@ "require": { "php": ">=8.0.0" }, - "time": "2021-07-14T16:46:02+00:00", + "time": "2024-09-11T13:17:53+00:00", "default-branch": true, "type": "library", "extra": { @@ -2608,7 +2607,7 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, "install-path": "../psr/log" }, @@ -2619,12 +2618,12 @@ "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "4fd21e6417e86047a0699f764262371484d4faae" + "reference": "5c196904f494bb97ad9935fe4b2cb509857bbe5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4fd21e6417e86047a0699f764262371484d4faae", - "reference": "4fd21e6417e86047a0699f764262371484d4faae", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/5c196904f494bb97ad9935fe4b2cb509857bbe5a", + "reference": "5c196904f494bb97ad9935fe4b2cb509857bbe5a", "shasum": "", "mirrors": [ { @@ -2652,7 +2651,7 @@ "ext-pdo-sqlite": "The doc command requires SQLite to work.", "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, - "time": "2024-07-19T07:29:18+00:00", + "time": "2024-09-29T21:42:50+00:00", "default-branch": true, "bin": [ "bin/psysh" @@ -4703,12 +4702,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "", "mirrors": [ { @@ -4718,7 +4717,7 @@ ] }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -4726,7 +4725,7 @@ "suggest": { "ext-ctype": "For best performance" }, - "time": "2024-05-31T15:07:36+00:00", + "time": "2024-09-09T11:45:10+00:00", "default-branch": true, "type": "library", "extra": { @@ -4767,7 +4766,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/1.x" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" }, "funding": [ { @@ -4792,12 +4791,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "", "mirrors": [ { @@ -4807,12 +4806,12 @@ ] }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" }, - "time": "2024-05-31T15:07:36+00:00", + "time": "2024-09-09T11:45:10+00:00", "default-branch": true, "type": "library", "extra": { @@ -4855,7 +4854,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { @@ -4880,12 +4879,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", "shasum": "", "mirrors": [ { @@ -4895,14 +4894,13 @@ ] }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "suggest": { "ext-intl": "For best performance" }, - "time": "2024-05-31T15:07:36+00:00", + "time": "2024-09-09T11:45:10+00:00", "default-branch": true, "type": "library", "extra": { @@ -4949,7 +4947,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" }, "funding": [ { @@ -4974,12 +4972,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "", "mirrors": [ { @@ -4989,12 +4987,12 @@ ] }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" }, - "time": "2024-05-31T15:07:36+00:00", + "time": "2024-09-09T11:45:10+00:00", "default-branch": true, "type": "library", "extra": { @@ -5040,7 +5038,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { @@ -5065,12 +5063,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8740a072b86292957feb42703edde77fcfca84fb" + "reference": "2369cb908b33d7b7518cce042615de430142497f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8740a072b86292957feb42703edde77fcfca84fb", - "reference": "8740a072b86292957feb42703edde77fcfca84fb", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2369cb908b33d7b7518cce042615de430142497f", + "reference": "2369cb908b33d7b7518cce042615de430142497f", "shasum": "", "mirrors": [ { @@ -5080,7 +5078,7 @@ ] }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -5088,7 +5086,7 @@ "suggest": { "ext-mbstring": "For best performance" }, - "time": "2024-06-20T08:18:00+00:00", + "time": "2024-09-10T14:38:51+00:00", "default-branch": true, "type": "library", "extra": { @@ -5148,89 +5146,6 @@ ], "install-path": "../symfony/polyfill-mbstring" }, - { - "name": "symfony/polyfill-php72", - "version": "1.x-dev", - "version_normalized": "1.9999999.9999999.9999999-dev", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "10112722600777e02d2745716b70c5db4ca70442" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", - "reference": "10112722600777e02d2745716b70c5db4ca70442", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": ">=7.1" - }, - "time": "2024-06-19T12:30:46+00:00", - "default-branch": true, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/polyfill-php72" - }, { "name": "symfony/service-contracts", "version": "3.0.x-dev", diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index da9157d..5d15a59 100755 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -1,143 +1,143 @@ array( - 'pretty_version' => '1.0.0+no-version-set', - 'version' => '1.0.0.0', + 'name' => 'yiisoft/yii2-app-advanced', + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', + 'reference' => '15f92bfe43d92c2e068ab846da7c76b482c205cc', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => NULL, - 'name' => 'yiisoft/yii2-app-advanced', 'dev' => true, ), 'versions' => array( 'behat/gherkin' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '3ce7eec6f4bfad9f9f80e6b116f25aed2e66cf06', 'type' => 'library', 'install_path' => __DIR__ . '/../behat/gherkin', 'aliases' => array( 0 => '4.x-dev', ), - 'reference' => '01379b1f9bc67a9040a472d069f1ee34cbe1b1b3', 'dev_requirement' => true, ), 'bower-asset/bootstrap' => array( 'pretty_version' => 'v5.3.3', 'version' => '5.3.3.0', + 'reference' => '6e1f75f420f68e1d52733b8e407fc7c3766c9dba', 'type' => 'bower-asset', 'install_path' => __DIR__ . '/../bower-asset/bootstrap', 'aliases' => array(), - 'reference' => '6e1f75f420f68e1d52733b8e407fc7c3766c9dba', 'dev_requirement' => false, ), 'bower-asset/inputmask' => array( 'pretty_version' => '3.3.11', 'version' => '3.3.11.0', + 'reference' => '5e670ad62f50c738388d4dcec78d2888505ad77b', 'type' => 'bower-asset', 'install_path' => __DIR__ . '/../bower-asset/inputmask', 'aliases' => array(), - 'reference' => '5e670ad62f50c738388d4dcec78d2888505ad77b', 'dev_requirement' => false, ), 'bower-asset/jquery' => array( 'pretty_version' => '3.7.1', 'version' => '3.7.1.0', + 'reference' => 'fde1f76e2799dd877c176abde0ec836553246991', 'type' => 'bower-asset', 'install_path' => __DIR__ . '/../bower-asset/jquery', 'aliases' => array(), - 'reference' => 'fde1f76e2799dd877c176abde0ec836553246991', 'dev_requirement' => false, ), 'bower-asset/punycode' => array( 'pretty_version' => 'v1.3.2', 'version' => '1.3.2.0', + 'reference' => '38c8d3131a82567bfef18da09f7f4db68c84f8a3', 'type' => 'bower-asset', 'install_path' => __DIR__ . '/../bower-asset/punycode', 'aliases' => array(), - 'reference' => '38c8d3131a82567bfef18da09f7f4db68c84f8a3', 'dev_requirement' => false, ), 'bower-asset/yii2-pjax' => array( 'pretty_version' => '2.0.8', 'version' => '2.0.8.0', + 'reference' => 'a9298d57da63d14a950f1b94366a864bc62264fb', 'type' => 'bower-asset', 'install_path' => __DIR__ . '/../bower-asset/yii2-pjax', 'aliases' => array(), - 'reference' => 'a9298d57da63d14a950f1b94366a864bc62264fb', 'dev_requirement' => false, ), 'cebe/markdown' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '2b2461bed9e15305486319ee552bafca75d1cdaa', 'type' => 'library', 'install_path' => __DIR__ . '/../cebe/markdown', 'aliases' => array( 0 => '1.2.x-dev', ), - 'reference' => '2b2461bed9e15305486319ee552bafca75d1cdaa', 'dev_requirement' => false, ), 'codeception/codeception' => array( - 'pretty_version' => '5.1.x-dev', - 'version' => '5.1.9999999.9999999-dev', + 'pretty_version' => '5.1.2', + 'version' => '5.1.2.0', + 'reference' => '3b2d7d1a88e7e1d9dc0acb6d3c8f0acda0a37374', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/codeception', 'aliases' => array(), - 'reference' => '0297b0b030b05a3163bbb80153e0d5e0a234bae0', 'dev_requirement' => true, ), 'codeception/lib-asserts' => array( 'pretty_version' => '2.1.0', 'version' => '2.1.0.0', + 'reference' => 'b8c7dff552249e560879c682ba44a4b963af91bc', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/lib-asserts', 'aliases' => array(), - 'reference' => 'b8c7dff552249e560879c682ba44a4b963af91bc', 'dev_requirement' => true, ), 'codeception/lib-innerbrowser' => array( 'pretty_version' => '3.x-dev', 'version' => '3.9999999.9999999.9999999-dev', + 'reference' => '10482f7e34c0537bf5b87bc82a3d65a1842a8b4f', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/lib-innerbrowser', 'aliases' => array(), - 'reference' => '10482f7e34c0537bf5b87bc82a3d65a1842a8b4f', 'dev_requirement' => true, ), 'codeception/lib-web' => array( 'pretty_version' => '1.0.5', 'version' => '1.0.5.0', + 'reference' => 'cea9d53c9cd665498632acc417c9a96bff7eb2b0', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/lib-web', 'aliases' => array(), - 'reference' => 'cea9d53c9cd665498632acc417c9a96bff7eb2b0', 'dev_requirement' => true, ), 'codeception/module-asserts' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', + 'reference' => '1b6b150b30586c3614e7e5761b31834ed7968603', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/module-asserts', 'aliases' => array(), - 'reference' => '1b6b150b30586c3614e7e5761b31834ed7968603', 'dev_requirement' => true, ), 'codeception/module-filesystem' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', + 'reference' => '326ef1c1edf90f52ceec2965ff240a8d93c1ba63', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/module-filesystem', 'aliases' => array(), - 'reference' => '326ef1c1edf90f52ceec2965ff240a8d93c1ba63', 'dev_requirement' => true, ), 'codeception/module-yii2' => array( 'pretty_version' => '1.1.10', 'version' => '1.1.10.0', + 'reference' => '2971f1fb44cd3088f7ecbe78bc51161c037a6551', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/module-yii2', 'aliases' => array(), - 'reference' => '2971f1fb44cd3088f7ecbe78bc51161c037a6551', 'dev_requirement' => true, ), 'codeception/phpunit-wrapper' => array( @@ -149,216 +149,216 @@ 'codeception/stub' => array( 'pretty_version' => '4.1.3', 'version' => '4.1.3.0', + 'reference' => '4fcad2c165f365377486dc3fd8703b07f1f2fcae', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/stub', 'aliases' => array(), - 'reference' => '4fcad2c165f365377486dc3fd8703b07f1f2fcae', 'dev_requirement' => true, ), 'codeception/verify' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', + 'reference' => '25b84a96f0fe7dcf28e8021f02b57643b751a707', 'type' => 'library', 'install_path' => __DIR__ . '/../codeception/verify', 'aliases' => array(), - 'reference' => '25b84a96f0fe7dcf28e8021f02b57643b751a707', 'dev_requirement' => true, ), 'doctrine/deprecations' => array( 'pretty_version' => '1.1.x-dev', 'version' => '1.1.9999999.9999999-dev', + 'reference' => 'dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/deprecations', 'aliases' => array(), - 'reference' => 'dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab', 'dev_requirement' => false, ), 'doctrine/instantiator' => array( 'pretty_version' => '1.5.x-dev', 'version' => '1.5.9999999.9999999-dev', + 'reference' => '12be2483e1f0e850b353e26869e4e6c038459501', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/instantiator', 'aliases' => array(), - 'reference' => '12be2483e1f0e850b353e26869e4e6c038459501', 'dev_requirement' => true, ), 'doctrine/lexer' => array( 'pretty_version' => '2.1.x-dev', 'version' => '2.1.9999999.9999999-dev', + 'reference' => '861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/lexer', 'aliases' => array(), - 'reference' => '861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6', 'dev_requirement' => false, ), 'egulias/email-validator' => array( 'pretty_version' => '3.x-dev', 'version' => '3.9999999.9999999.9999999-dev', + 'reference' => 'e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7', 'type' => 'library', 'install_path' => __DIR__ . '/../egulias/email-validator', 'aliases' => array(), - 'reference' => 'e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7', 'dev_requirement' => false, ), 'ezyang/htmlpurifier' => array( 'pretty_version' => 'v4.16.0', 'version' => '4.16.0.0', + 'reference' => '523407fb06eb9e5f3d59889b3978d5bfe94299c8', 'type' => 'library', 'install_path' => __DIR__ . '/../ezyang/htmlpurifier', 'aliases' => array(), - 'reference' => '523407fb06eb9e5f3d59889b3978d5bfe94299c8', 'dev_requirement' => false, ), 'fakerphp/faker' => array( 'pretty_version' => '1.23.x-dev', 'version' => '1.23.9999999.9999999-dev', + 'reference' => '4dae775c9fbd5d734f5307b73e29d34adf289e50', 'type' => 'library', 'install_path' => __DIR__ . '/../fakerphp/faker', 'aliases' => array(), - 'reference' => '4dae775c9fbd5d734f5307b73e29d34adf289e50', 'dev_requirement' => true, ), 'guzzlehttp/psr7' => array( 'pretty_version' => '2.7.x-dev', 'version' => '2.7.9999999.9999999-dev', + 'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), - 'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201', 'dev_requirement' => true, ), 'myclabs/deep-copy' => array( 'pretty_version' => '1.x-dev', 'version' => '1.9999999.9999999.9999999-dev', + 'reference' => '2f5294676c802a62b0549f6bc8983f14294ce369', 'type' => 'library', 'install_path' => __DIR__ . '/../myclabs/deep-copy', 'aliases' => array(), - 'reference' => '2f5294676c802a62b0549f6bc8983f14294ce369', 'dev_requirement' => true, ), 'nikic/php-parser' => array( - 'pretty_version' => 'v5.1.0', - 'version' => '5.1.0.0', + 'pretty_version' => 'v5.3.0', + 'version' => '5.3.0.0', + 'reference' => '3abf7425cd284141dc5d8d14a9ee444de3345d1a', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), - 'reference' => '683130c2ff8c2739f4822ff7ac5c873ec529abd1', 'dev_requirement' => true, ), 'paragonie/random_compat' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => 'bf95de2af7feb426f91eee6c66d6ad8661c38e29', 'type' => 'library', 'install_path' => __DIR__ . '/../paragonie/random_compat', 'aliases' => array( 0 => '9999999-dev', ), - 'reference' => '64f3265002e9e181436942aac2fbd482e186dc55', 'dev_requirement' => false, ), 'phar-io/manifest' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '54750ef60c58e43759730615a392c31c80e23176', 'type' => 'library', 'install_path' => __DIR__ . '/../phar-io/manifest', 'aliases' => array( 0 => '2.0.x-dev', ), - 'reference' => '54750ef60c58e43759730615a392c31c80e23176', 'dev_requirement' => true, ), 'phar-io/version' => array( 'pretty_version' => '3.2.1', 'version' => '3.2.1.0', + 'reference' => '4f7fd7836c6f332bb2933569e566a0d6c4cbed74', 'type' => 'library', 'install_path' => __DIR__ . '/../phar-io/version', 'aliases' => array(), - 'reference' => '4f7fd7836c6f332bb2933569e566a0d6c4cbed74', 'dev_requirement' => true, ), 'phpspec/php-diff' => array( 'pretty_version' => 'v1.1.3', 'version' => '1.1.3.0', + 'reference' => 'fc1156187f9f6c8395886fe85ed88a0a245d72e9', 'type' => 'library', 'install_path' => __DIR__ . '/../phpspec/php-diff', 'aliases' => array(), - 'reference' => 'fc1156187f9f6c8395886fe85ed88a0a245d72e9', 'dev_requirement' => true, ), 'phpunit/php-code-coverage' => array( 'pretty_version' => '9.2.x-dev', 'version' => '9.2.9999999.9999999-dev', + 'reference' => '85402a822d1ecf1db1096959413d35e1c37cf1a5', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-code-coverage', 'aliases' => array(), - 'reference' => 'cfa5f0972763e046de8750b40947df259bf1ad5c', 'dev_requirement' => true, ), 'phpunit/php-file-iterator' => array( 'pretty_version' => '3.0.x-dev', 'version' => '3.0.9999999.9999999-dev', + 'reference' => '38b24367e1b340aa78b96d7cab042942d917bb84', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-file-iterator', 'aliases' => array(), - 'reference' => '38b24367e1b340aa78b96d7cab042942d917bb84', 'dev_requirement' => true, ), 'phpunit/php-invoker' => array( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', + 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-invoker', 'aliases' => array(), - 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67', 'dev_requirement' => true, ), 'phpunit/php-text-template' => array( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', + 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-text-template', 'aliases' => array(), - 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28', 'dev_requirement' => true, ), 'phpunit/php-timer' => array( 'pretty_version' => '5.0.3', 'version' => '5.0.3.0', + 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-timer', 'aliases' => array(), - 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2', 'dev_requirement' => true, ), 'phpunit/phpunit' => array( 'pretty_version' => '9.5.28', 'version' => '9.5.28.0', + 'reference' => '954ca3113a03bf780d22f07bf055d883ee04b65e', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/phpunit', 'aliases' => array(), - 'reference' => '954ca3113a03bf780d22f07bf055d883ee04b65e', 'dev_requirement' => true, ), 'psr/container' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '707984727bd5b2b670e59559d3ed2500240cf875', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array( 0 => '2.0.x-dev', ), - 'reference' => '707984727bd5b2b670e59559d3ed2500240cf875', 'dev_requirement' => false, ), 'psr/event-dispatcher' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '977ffcf551e3bfb73d90aac3e8e1583fd8d2f89a', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array( 0 => '1.0.x-dev', ), - 'reference' => '977ffcf551e3bfb73d90aac3e8e1583fd8d2f89a', 'dev_requirement' => false, ), 'psr/event-dispatcher-implementation' => array( @@ -370,12 +370,12 @@ 'psr/http-factory' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '7037f4b0950474e9d1350e8df89b15f1842085f6', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array( 0 => '1.0.x-dev', ), - 'reference' => '7037f4b0950474e9d1350e8df89b15f1842085f6', 'dev_requirement' => true, ), 'psr/http-factory-implementation' => array( @@ -387,12 +387,12 @@ 'psr/http-message' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array( 0 => '2.0.x-dev', ), - 'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71', 'dev_requirement' => true, ), 'psr/http-message-implementation' => array( @@ -404,12 +404,12 @@ 'psr/log' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => 'f16e1d5863e37f8d8c2a01719f5b34baa2b714d3', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array( 0 => '3.x-dev', ), - 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'dev_requirement' => false, ), 'psr/log-implementation' => array( @@ -421,230 +421,230 @@ 'psy/psysh' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', + 'reference' => '5c196904f494bb97ad9935fe4b2cb509857bbe5a', 'type' => 'library', 'install_path' => __DIR__ . '/../psy/psysh', 'aliases' => array( 0 => '0.12.x-dev', ), - 'reference' => '4fd21e6417e86047a0699f764262371484d4faae', 'dev_requirement' => true, ), 'ralouphie/getallheaders' => array( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', + 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'type' => 'library', 'install_path' => __DIR__ . '/../ralouphie/getallheaders', 'aliases' => array(), - 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'dev_requirement' => true, ), 'sebastian/cli-parser' => array( 'pretty_version' => '1.0.x-dev', 'version' => '1.0.9999999.9999999-dev', + 'reference' => '2b56bea83a09de3ac06bb18b92f068e60cc6f50b', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/cli-parser', 'aliases' => array(), - 'reference' => '2b56bea83a09de3ac06bb18b92f068e60cc6f50b', 'dev_requirement' => true, ), 'sebastian/code-unit' => array( 'pretty_version' => '1.0.8', 'version' => '1.0.8.0', + 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/code-unit', 'aliases' => array(), - 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120', 'dev_requirement' => true, ), 'sebastian/code-unit-reverse-lookup' => array( 'pretty_version' => '2.0.3', 'version' => '2.0.3.0', + 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/code-unit-reverse-lookup', 'aliases' => array(), - 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5', 'dev_requirement' => true, ), 'sebastian/comparator' => array( 'pretty_version' => '4.0.x-dev', 'version' => '4.0.9999999.9999999-dev', + 'reference' => 'b247957a1c8dc81a671770f74b479c0a78a818f1', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/comparator', 'aliases' => array(), - 'reference' => 'b247957a1c8dc81a671770f74b479c0a78a818f1', 'dev_requirement' => true, ), 'sebastian/complexity' => array( 'pretty_version' => '2.0.x-dev', 'version' => '2.0.9999999.9999999-dev', + 'reference' => '25f207c40d62b8b7aa32f5ab026c53561964053a', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/complexity', 'aliases' => array(), - 'reference' => '25f207c40d62b8b7aa32f5ab026c53561964053a', 'dev_requirement' => true, ), 'sebastian/diff' => array( 'pretty_version' => '4.0.x-dev', 'version' => '4.0.9999999.9999999-dev', + 'reference' => 'ba01945089c3a293b01ba9badc29ad55b106b0bc', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), - 'reference' => 'ba01945089c3a293b01ba9badc29ad55b106b0bc', 'dev_requirement' => true, ), 'sebastian/environment' => array( 'pretty_version' => '5.1.x-dev', 'version' => '5.1.9999999.9999999-dev', + 'reference' => '830c43a844f1f8d5b7a1f6d6076b784454d8b7ed', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/environment', 'aliases' => array(), - 'reference' => '830c43a844f1f8d5b7a1f6d6076b784454d8b7ed', 'dev_requirement' => true, ), 'sebastian/exporter' => array( 'pretty_version' => '4.0.x-dev', 'version' => '4.0.9999999.9999999-dev', + 'reference' => '78c00df8f170e02473b682df15bfcdacc3d32d72', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/exporter', 'aliases' => array(), - 'reference' => '78c00df8f170e02473b682df15bfcdacc3d32d72', 'dev_requirement' => true, ), 'sebastian/global-state' => array( 'pretty_version' => '5.0.x-dev', 'version' => '5.0.9999999.9999999-dev', + 'reference' => 'bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/global-state', 'aliases' => array(), - 'reference' => 'bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9', 'dev_requirement' => true, ), 'sebastian/lines-of-code' => array( 'pretty_version' => '1.0.x-dev', 'version' => '1.0.9999999.9999999-dev', + 'reference' => 'e1e4a170560925c26d424b6a03aed157e7dcc5c5', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/lines-of-code', 'aliases' => array(), - 'reference' => 'e1e4a170560925c26d424b6a03aed157e7dcc5c5', 'dev_requirement' => true, ), 'sebastian/object-enumerator' => array( 'pretty_version' => '4.0.4', 'version' => '4.0.4.0', + 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/object-enumerator', 'aliases' => array(), - 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71', 'dev_requirement' => true, ), 'sebastian/object-reflector' => array( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', + 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/object-reflector', 'aliases' => array(), - 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7', 'dev_requirement' => true, ), 'sebastian/recursion-context' => array( 'pretty_version' => '4.0.x-dev', 'version' => '4.0.9999999.9999999-dev', + 'reference' => 'e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/recursion-context', 'aliases' => array(), - 'reference' => 'e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1', 'dev_requirement' => true, ), 'sebastian/resource-operations' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', + 'reference' => 'ff553e7482dcee39fa4acc2b175d6ddeb0f7bc25', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/resource-operations', 'aliases' => array( 0 => '3.0.x-dev', ), - 'reference' => 'ff553e7482dcee39fa4acc2b175d6ddeb0f7bc25', 'dev_requirement' => true, ), 'sebastian/type' => array( 'pretty_version' => '3.2.x-dev', 'version' => '3.2.9999999.9999999-dev', + 'reference' => '75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/type', 'aliases' => array(), - 'reference' => '75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7', 'dev_requirement' => true, ), 'sebastian/version' => array( 'pretty_version' => '3.0.x-dev', 'version' => '3.0.9999999.9999999-dev', + 'reference' => 'c6c1022351a901512170118436c764e473f6de8c', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/version', 'aliases' => array(), - 'reference' => 'c6c1022351a901512170118436c764e473f6de8c', 'dev_requirement' => true, ), 'symfony/browser-kit' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => '4d1bf7886e2af0a194332486273debcd6662cfc9', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/browser-kit', 'aliases' => array(), - 'reference' => '4d1bf7886e2af0a194332486273debcd6662cfc9', 'dev_requirement' => true, ), 'symfony/console' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => 'c3ebc83d031b71c39da318ca8b7a07ecc67507ed', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), - 'reference' => 'c3ebc83d031b71c39da318ca8b7a07ecc67507ed', 'dev_requirement' => true, ), 'symfony/css-selector' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => 'f1d00bddb83a4cb2138564b2150001cb6ce272b1', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), - 'reference' => 'f1d00bddb83a4cb2138564b2150001cb6ce272b1', 'dev_requirement' => true, ), 'symfony/deprecation-contracts' => array( 'pretty_version' => '3.0.x-dev', 'version' => '3.0.9999999.9999999-dev', + 'reference' => 'c30dd04b9a303689a26d7986f7cffce04203a107', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), - 'reference' => 'c30dd04b9a303689a26d7986f7cffce04203a107', 'dev_requirement' => true, ), 'symfony/dom-crawler' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => '622578ff158318b1b49d95068bd6b66c713601e9', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dom-crawler', 'aliases' => array(), - 'reference' => '622578ff158318b1b49d95068bd6b66c713601e9', 'dev_requirement' => true, ), 'symfony/event-dispatcher' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => '2eaf8e63bc5b8cefabd4a800157f0d0c094f677a', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), - 'reference' => '2eaf8e63bc5b8cefabd4a800157f0d0c094f677a', 'dev_requirement' => false, ), 'symfony/event-dispatcher-contracts' => array( 'pretty_version' => '3.0.x-dev', 'version' => '3.0.9999999.9999999-dev', + 'reference' => 'dea993e5425eb355355e2c5f28685559535dda6c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), - 'reference' => 'dea993e5425eb355355e2c5f28685559535dda6c', 'dev_requirement' => false, ), 'symfony/event-dispatcher-implementation' => array( @@ -656,205 +656,196 @@ 'symfony/finder' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => '5cc9cac6586fc0c28cd173780ca696e419fefa11', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), - 'reference' => '5cc9cac6586fc0c28cd173780ca696e419fefa11', 'dev_requirement' => true, ), 'symfony/mailer' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => 'cd60799210c488f545ddde2444dc1aa548322872', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/mailer', 'aliases' => array(), - 'reference' => 'cd60799210c488f545ddde2444dc1aa548322872', 'dev_requirement' => false, ), 'symfony/mime' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => 'd7052547a0070cbeadd474e172b527a00d657301', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/mime', 'aliases' => array(), - 'reference' => 'd7052547a0070cbeadd474e172b527a00d657301', 'dev_requirement' => false, ), 'symfony/polyfill-ctype' => array( 'pretty_version' => '1.x-dev', 'version' => '1.9999999.9999999.9999999-dev', + 'reference' => 'a3cc8b044a6ea513310cbd48ef7333b384945638', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), - 'reference' => '0424dff1c58f028c451efff2045f5d92410bd540', 'dev_requirement' => true, ), 'symfony/polyfill-intl-grapheme' => array( 'pretty_version' => '1.x-dev', 'version' => '1.9999999.9999999.9999999-dev', + 'reference' => 'b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), - 'reference' => '64647a7c30b2283f5d49b874d84a18fc22054b7a', 'dev_requirement' => true, ), 'symfony/polyfill-intl-idn' => array( 'pretty_version' => '1.x-dev', 'version' => '1.9999999.9999999.9999999-dev', + 'reference' => 'c36586dcf89a12315939e00ec9b4474adcb1d773', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn', 'aliases' => array(), - 'reference' => 'a6e83bdeb3c84391d1dfe16f42e40727ce524a5c', 'dev_requirement' => false, ), 'symfony/polyfill-intl-normalizer' => array( 'pretty_version' => '1.x-dev', 'version' => '1.9999999.9999999.9999999-dev', + 'reference' => '3833d7255cc303546435cb650316bff708a1c75c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), - 'reference' => 'a95281b0be0d9ab48050ebd988b967875cdb9fdb', 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( 'pretty_version' => '1.x-dev', 'version' => '1.9999999.9999999.9999999-dev', + 'reference' => '2369cb908b33d7b7518cce042615de430142497f', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), - 'reference' => '8740a072b86292957feb42703edde77fcfca84fb', - 'dev_requirement' => false, - ), - 'symfony/polyfill-php72' => array( - 'pretty_version' => '1.x-dev', - 'version' => '1.9999999.9999999.9999999-dev', - 'type' => 'library', - 'install_path' => __DIR__ . '/../symfony/polyfill-php72', - 'aliases' => array(), - 'reference' => '10112722600777e02d2745716b70c5db4ca70442', 'dev_requirement' => false, ), 'symfony/service-contracts' => array( 'pretty_version' => '3.0.x-dev', 'version' => '3.0.9999999.9999999-dev', + 'reference' => '24ce74899f476f56d7e6c148c809afef0b7de19c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), - 'reference' => '24ce74899f476f56d7e6c148c809afef0b7de19c', 'dev_requirement' => false, ), 'symfony/string' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => 'd9e72497367c23e08bf94176d2be45b00a9d232a', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), - 'reference' => 'd9e72497367c23e08bf94176d2be45b00a9d232a', 'dev_requirement' => true, ), 'symfony/var-dumper' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => 'eb980457fa6899840fe1687e8627a03a7d8a3d52', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-dumper', 'aliases' => array(), - 'reference' => 'eb980457fa6899840fe1687e8627a03a7d8a3d52', 'dev_requirement' => true, ), 'symfony/yaml' => array( 'pretty_version' => '6.0.x-dev', 'version' => '6.0.9999999.9999999-dev', + 'reference' => 'deec3a812a0305a50db8ae689b183f43d915c884', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/yaml', 'aliases' => array(), - 'reference' => 'deec3a812a0305a50db8ae689b183f43d915c884', 'dev_requirement' => true, ), 'theseer/tokenizer' => array( 'pretty_version' => '1.2.3', 'version' => '1.2.3.0', + 'reference' => '737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2', 'type' => 'library', 'install_path' => __DIR__ . '/../theseer/tokenizer', 'aliases' => array(), - 'reference' => '737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2', 'dev_requirement' => true, ), 'yiisoft/yii2' => array( 'pretty_version' => '2.0.49.x-dev', 'version' => '2.0.49.9999999-dev', + 'reference' => 'deec9b7330a09e06ab9e002c8718a8b478524dda', 'type' => 'library', 'install_path' => __DIR__ . '/../yiisoft/yii2', 'aliases' => array(), - 'reference' => 'deec9b7330a09e06ab9e002c8718a8b478524dda', 'dev_requirement' => false, ), 'yiisoft/yii2-app-advanced' => array( - 'pretty_version' => '1.0.0+no-version-set', - 'version' => '1.0.0.0', + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', + 'reference' => '15f92bfe43d92c2e068ab846da7c76b482c205cc', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => NULL, 'dev_requirement' => false, ), 'yiisoft/yii2-bootstrap5' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '1a4f4d66c9ef3a076dc327999f8dc8b52caa5ac0', 'type' => 'yii2-extension', 'install_path' => __DIR__ . '/../yiisoft/yii2-bootstrap5', 'aliases' => array( 0 => '2.0.x-dev', ), - 'reference' => '1a4f4d66c9ef3a076dc327999f8dc8b52caa5ac0', 'dev_requirement' => false, ), 'yiisoft/yii2-composer' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => '2cd6eee19e94b9e98f3516340138041683350fcf', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../yiisoft/yii2-composer', 'aliases' => array( 0 => '2.0.x-dev', ), - 'reference' => '2cd6eee19e94b9e98f3516340138041683350fcf', 'dev_requirement' => false, ), 'yiisoft/yii2-debug' => array( 'pretty_version' => '2.1.25', 'version' => '2.1.25.0', + 'reference' => '4d011b9bfc83bde71cde43c9f6837f5a74685ea7', 'type' => 'yii2-extension', 'install_path' => __DIR__ . '/../yiisoft/yii2-debug', 'aliases' => array(), - 'reference' => '4d011b9bfc83bde71cde43c9f6837f5a74685ea7', 'dev_requirement' => true, ), 'yiisoft/yii2-faker' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', + 'reference' => 'e269bfd508588b8dbc2a70b852e4a0e37e31afea', 'type' => 'yii2-extension', 'install_path' => __DIR__ . '/../yiisoft/yii2-faker', 'aliases' => array( 0 => '2.0.x-dev', ), - 'reference' => 'e269bfd508588b8dbc2a70b852e4a0e37e31afea', 'dev_requirement' => true, ), 'yiisoft/yii2-gii' => array( 'pretty_version' => '2.2.6', 'version' => '2.2.6.0', + 'reference' => 'ac574e7e2c29fd865145c8688719f252d19aae23', 'type' => 'yii2-extension', 'install_path' => __DIR__ . '/../yiisoft/yii2-gii', 'aliases' => array(), - 'reference' => 'ac574e7e2c29fd865145c8688719f252d19aae23', 'dev_requirement' => true, ), 'yiisoft/yii2-symfonymailer' => array( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', + 'reference' => '82f5902551a160633c4734b5096977ce76a809d9', 'type' => 'yii2-extension', 'install_path' => __DIR__ . '/../yiisoft/yii2-symfonymailer', 'aliases' => array(), - 'reference' => '82f5902551a160633c4734b5096977ce76a809d9', 'dev_requirement' => false, ), ), diff --git a/vendor/nikic/php-parser/README.md b/vendor/nikic/php-parser/README.md index 7555838..edb3ed3 100644 --- a/vendor/nikic/php-parser/README.md +++ b/vendor/nikic/php-parser/README.md @@ -6,7 +6,7 @@ PHP Parser This is a PHP parser written in PHP. Its purpose is to simplify static code analysis and manipulation. -[**Documentation for version 5.x**][doc_master] (current; for running on PHP >= 7.4; for parsing PHP 7.0 to PHP 8.3, with limited support for parsing PHP 5.x). +[**Documentation for version 5.x**][doc_master] (current; for running on PHP >= 7.4; for parsing PHP 7.0 to PHP 8.4, with limited support for parsing PHP 5.x). [Documentation for version 4.x][doc_4_x] (supported; for running on PHP >= 7.0; for parsing PHP 5.2 to PHP 8.3). diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php index fa5dc10..138fa63 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php @@ -28,7 +28,7 @@ class ClassConst implements PhpParser\Builder { * Creates a class constant builder * * @param string|Identifier $name Name - * @param Node\Expr|bool|null|int|float|string|array $value Value + * @param Node\Expr|bool|null|int|float|string|array|\UnitEnum $value Value */ public function __construct($name, $value) { $this->constants = [new Const_($name, BuilderHelpers::normalizeValue($value))]; @@ -38,7 +38,7 @@ class ClassConst implements PhpParser\Builder { * Add another constant to const group * * @param string|Identifier $name Name - * @param Node\Expr|bool|null|int|float|string|array $value Value + * @param Node\Expr|bool|null|int|float|string|array|\UnitEnum $value Value * * @return $this The builder instance (for fluid interface) */ diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php index 04058bf..c766321 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php @@ -13,7 +13,6 @@ use PhpParser\Node\Stmt; class EnumCase implements PhpParser\Builder { /** @var Identifier|string */ protected $name; - /** @var ?Node\Expr */ protected ?Node\Expr $value = null; /** @var array */ protected array $attributes = []; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php index f439e87..324a32b 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php @@ -122,6 +122,28 @@ class Param implements PhpParser\Builder { return $this; } + /** + * Gives the promoted property private(set) visibility. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivateSet() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PRIVATE_SET); + + return $this; + } + + /** + * Gives the promoted property protected(set) visibility. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtectedSet() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PROTECTED_SET); + + return $this; + } + /** * Adds an attribute group. * diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php index 3fc96d9..c80fe48 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php @@ -23,6 +23,8 @@ class Property implements PhpParser\Builder { protected ?Node $type = null; /** @var list */ protected array $attributeGroups = []; + /** @var list */ + protected array $hooks = []; /** * Creates a property builder. @@ -88,6 +90,50 @@ class Property implements PhpParser\Builder { return $this; } + /** + * Makes the property abstract. Requires at least one property hook to be specified as well. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeAbstract() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::ABSTRACT); + + return $this; + } + + /** + * Makes the property final. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeFinal() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::FINAL); + + return $this; + } + + /** + * Gives the property private(set) visibility. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivateSet() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PRIVATE_SET); + + return $this; + } + + /** + * Gives the property protected(set) visibility. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtectedSet() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PROTECTED_SET); + + return $this; + } + /** * Sets default value for the property. * @@ -142,12 +188,27 @@ class Property implements PhpParser\Builder { return $this; } + /** + * Adds a property hook. + * + * @return $this The builder instance (for fluid interface) + */ + public function addHook(Node\PropertyHook $hook) { + $this->hooks[] = $hook; + + return $this; + } + /** * Returns the built class node. * * @return Stmt\Property The built property node */ public function getNode(): PhpParser\Node { + if ($this->flags & Modifiers::ABSTRACT && !$this->hooks) { + throw new PhpParser\Error('Only hooked properties may be declared abstract'); + } + return new Stmt\Property( $this->flags !== 0 ? $this->flags : Modifiers::PUBLIC, [ @@ -155,7 +216,8 @@ class Property implements PhpParser\Builder { ], $this->attributes, $this->type, - $this->attributeGroups + $this->attributeGroups, + $this->hooks ); } } diff --git a/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php b/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php index b7efe5e..07642f9 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +++ b/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php @@ -210,7 +210,7 @@ class BuilderFactory { /** * Creates node a for a literal value. * - * @param Expr|bool|null|int|float|string|array $value $value + * @param Expr|bool|null|int|float|string|array|\UnitEnum $value $value */ public function val($value): Expr { return BuilderHelpers::normalizeValue($value); diff --git a/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php b/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php index 3e41b26..f29a691 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +++ b/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php @@ -6,6 +6,7 @@ use PhpParser\Node\ComplexType; use PhpParser\Node\Expr; use PhpParser\Node\Identifier; use PhpParser\Node\Name; +use PhpParser\Node\Name\FullyQualified; use PhpParser\Node\NullableType; use PhpParser\Node\Scalar; use PhpParser\Node\Stmt; @@ -214,7 +215,7 @@ final class BuilderHelpers { * Normalizes a value: Converts nulls, booleans, integers, * floats, strings and arrays into their respective nodes * - * @param Node\Expr|bool|null|int|float|string|array $value The value to normalize + * @param Node\Expr|bool|null|int|float|string|array|\UnitEnum $value The value to normalize * * @return Expr The normalized value */ @@ -268,6 +269,10 @@ final class BuilderHelpers { return new Expr\Array_($items); } + if ($value instanceof \UnitEnum) { + return new Expr\ClassConstFetch(new FullyQualified(\get_class($value)), new Identifier($value->name)); + } + throw new \LogicException('Invalid value'); } diff --git a/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php b/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php index c02844a..cdbe2bd 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php @@ -20,9 +20,9 @@ class TokenStream { * * @param Token[] $tokens Tokens in PhpToken::tokenize() format */ - public function __construct(array $tokens) { + public function __construct(array $tokens, int $tabWidth) { $this->tokens = $tokens; - $this->indentMap = $this->calcIndentMap(); + $this->indentMap = $this->calcIndentMap($tabWidth); } /** @@ -248,7 +248,7 @@ class TokenStream { * * @return int[] Token position to indentation map */ - private function calcIndentMap(): array { + private function calcIndentMap(int $tabWidth): array { $indentMap = []; $indent = 0; foreach ($this->tokens as $i => $token) { @@ -258,11 +258,11 @@ class TokenStream { $content = $token->text; $newlinePos = \strrpos($content, "\n"); if (false !== $newlinePos) { - $indent = \strlen($content) - $newlinePos - 1; + $indent = $this->getIndent(\substr($content, $newlinePos + 1), $tabWidth); } elseif ($i === 1 && $this->tokens[0]->id === \T_OPEN_TAG && $this->tokens[0]->text[\strlen($this->tokens[0]->text) - 1] === "\n") { // Special case: Newline at the end of opening tag followed by whitespace. - $indent = \strlen($content); + $indent = $this->getIndent($content, $tabWidth); } } } @@ -272,4 +272,11 @@ class TokenStream { return $indentMap; } + + private function getIndent(string $ws, int $tabWidth): int { + $spaces = \substr_count($ws, " "); + $tabs = \substr_count($ws, "\t"); + assert(\strlen($ws) === $spaces + $tabs); + return $spaces + $tabs * $tabWidth; + } } diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php index 934954c..c9b3b6d 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php @@ -5,15 +5,13 @@ namespace PhpParser\Lexer; use PhpParser\Error; use PhpParser\ErrorHandler; use PhpParser\Lexer; +use PhpParser\Lexer\TokenEmulator\AsymmetricVisibilityTokenEmulator; use PhpParser\Lexer\TokenEmulator\AttributeEmulator; use PhpParser\Lexer\TokenEmulator\EnumTokenEmulator; -use PhpParser\Lexer\TokenEmulator\CoaleseEqualTokenEmulator; use PhpParser\Lexer\TokenEmulator\ExplicitOctalEmulator; -use PhpParser\Lexer\TokenEmulator\FlexibleDocStringEmulator; -use PhpParser\Lexer\TokenEmulator\FnTokenEmulator; use PhpParser\Lexer\TokenEmulator\MatchTokenEmulator; use PhpParser\Lexer\TokenEmulator\NullsafeTokenEmulator; -use PhpParser\Lexer\TokenEmulator\NumericLiteralSeparatorEmulator; +use PhpParser\Lexer\TokenEmulator\PropertyTokenEmulator; use PhpParser\Lexer\TokenEmulator\ReadonlyFunctionTokenEmulator; use PhpParser\Lexer\TokenEmulator\ReadonlyTokenEmulator; use PhpParser\Lexer\TokenEmulator\ReverseEmulator; @@ -47,6 +45,8 @@ class Emulative extends Lexer { new ReadonlyTokenEmulator(), new ExplicitOctalEmulator(), new ReadonlyFunctionTokenEmulator(), + new PropertyTokenEmulator(), + new AsymmetricVisibilityTokenEmulator(), ]; // Collect emulators that are relevant for the PHP version we're running diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php index 9803f99..066e7cd 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php @@ -14,8 +14,12 @@ abstract class KeywordEmulator extends TokenEmulator { /** @param Token[] $tokens */ protected function isKeywordContext(array $tokens, int $pos): bool { - $previousNonSpaceToken = $this->getPreviousNonSpaceToken($tokens, $pos); - return $previousNonSpaceToken === null || $previousNonSpaceToken->id !== \T_OBJECT_OPERATOR; + $prevToken = $this->getPreviousNonSpaceToken($tokens, $pos); + if ($prevToken === null) { + return false; + } + return $prevToken->id !== \T_OBJECT_OPERATOR + && $prevToken->id !== \T_NULLSAFE_OBJECT_OPERATOR; } public function emulate(string $code, array $tokens): array { diff --git a/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php b/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php index b7120ee..0f0f22d 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php @@ -14,23 +14,47 @@ final class Modifiers { public const ABSTRACT = 16; public const FINAL = 32; public const READONLY = 64; + public const PUBLIC_SET = 128; + public const PROTECTED_SET = 256; + public const PRIVATE_SET = 512; - public const VISIBILITY_MASK = 1 | 2 | 4; + public const VISIBILITY_MASK = self::PUBLIC | self::PROTECTED | self::PRIVATE; + + public const VISIBILITY_SET_MASK = self::PUBLIC_SET | self::PROTECTED_SET | self::PRIVATE_SET; + + private const TO_STRING_MAP = [ + self::PUBLIC => 'public', + self::PROTECTED => 'protected', + self::PRIVATE => 'private', + self::STATIC => 'static', + self::ABSTRACT => 'abstract', + self::FINAL => 'final', + self::READONLY => 'readonly', + self::PUBLIC_SET => 'public(set)', + self::PROTECTED_SET => 'protected(set)', + self::PRIVATE_SET => 'private(set)', + ]; + + public static function toString(int $modifier): string { + if (!isset(self::TO_STRING_MAP[$modifier])) { + throw new \InvalidArgumentException("Unknown modifier $modifier"); + } + return self::TO_STRING_MAP[$modifier]; + } + + private static function isValidModifier(int $modifier): bool { + $isPow2 = ($modifier & ($modifier - 1)) == 0 && $modifier != 0; + return $isPow2 && $modifier <= self::PRIVATE_SET; + } /** * @internal */ public static function verifyClassModifier(int $a, int $b): void { - if ($a & Modifiers::ABSTRACT && $b & Modifiers::ABSTRACT) { - throw new Error('Multiple abstract modifiers are not allowed'); - } - - if ($a & Modifiers::FINAL && $b & Modifiers::FINAL) { - throw new Error('Multiple final modifiers are not allowed'); - } - - if ($a & Modifiers::READONLY && $b & Modifiers::READONLY) { - throw new Error('Multiple readonly modifiers are not allowed'); + assert(self::isValidModifier($b)); + if (($a & $b) != 0) { + throw new Error( + 'Multiple ' . self::toString($b) . ' modifiers are not allowed'); } if ($a & 48 && $b & 48) { @@ -42,24 +66,16 @@ final class Modifiers { * @internal */ public static function verifyModifier(int $a, int $b): void { - if ($a & Modifiers::VISIBILITY_MASK && $b & Modifiers::VISIBILITY_MASK) { + assert(self::isValidModifier($b)); + if (($a & Modifiers::VISIBILITY_MASK && $b & Modifiers::VISIBILITY_MASK) || + ($a & Modifiers::VISIBILITY_SET_MASK && $b & Modifiers::VISIBILITY_SET_MASK) + ) { throw new Error('Multiple access type modifiers are not allowed'); } - if ($a & Modifiers::ABSTRACT && $b & Modifiers::ABSTRACT) { - throw new Error('Multiple abstract modifiers are not allowed'); - } - - if ($a & Modifiers::STATIC && $b & Modifiers::STATIC) { - throw new Error('Multiple static modifiers are not allowed'); - } - - if ($a & Modifiers::FINAL && $b & Modifiers::FINAL) { - throw new Error('Multiple final modifiers are not allowed'); - } - - if ($a & Modifiers::READONLY && $b & Modifiers::READONLY) { - throw new Error('Multiple readonly modifiers are not allowed'); + if (($a & $b) != 0) { + throw new Error( + 'Multiple ' . self::toString($b) . ' modifiers are not allowed'); } if ($a & 48 && $b & 48) { diff --git a/vendor/nikic/php-parser/lib/PhpParser/NameContext.php b/vendor/nikic/php-parser/lib/PhpParser/NameContext.php index 292df69..2265ecc 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/NameContext.php +++ b/vendor/nikic/php-parser/lib/PhpParser/NameContext.php @@ -185,7 +185,7 @@ class NameContext { // Check for relevant type-specific use statements foreach ($this->origAliases[$type] as $alias => $orig) { if ($type === Stmt\Use_::TYPE_CONSTANT) { - // Constants are are complicated-sensitive + // Constants are complicated-sensitive $normalizedOrig = $this->normalizeConstName($orig->toString()); if ($normalizedOrig === $this->normalizeConstName($name)) { $possibleNames[] = new Name($alias); diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php index 0e9ff0e..a277ca0 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php @@ -21,6 +21,8 @@ class Param extends NodeAbstract { public int $flags; /** @var AttributeGroup[] PHP attribute groups */ public array $attrGroups; + /** @var PropertyHook[] Property hooks for promoted properties */ + public array $hooks; /** * Constructs a parameter node. @@ -33,13 +35,15 @@ class Param extends NodeAbstract { * @param array $attributes Additional attributes * @param int $flags Optional visibility flags * @param list $attrGroups PHP attribute groups + * @param PropertyHook[] $hooks Property hooks for promoted properties */ public function __construct( Expr $var, ?Expr $default = null, ?Node $type = null, bool $byRef = false, bool $variadic = false, array $attributes = [], int $flags = 0, - array $attrGroups = [] + array $attrGroups = [], + array $hooks = [] ) { $this->attributes = $attributes; $this->type = $type; @@ -49,10 +53,11 @@ class Param extends NodeAbstract { $this->default = $default; $this->flags = $flags; $this->attrGroups = $attrGroups; + $this->hooks = $hooks; } public function getSubNodeNames(): array { - return ['attrGroups', 'flags', 'type', 'byRef', 'variadic', 'var', 'default']; + return ['attrGroups', 'flags', 'type', 'byRef', 'variadic', 'var', 'default', 'hooks']; } public function getType(): string { @@ -81,4 +86,25 @@ class Param extends NodeAbstract { public function isReadonly(): bool { return (bool) ($this->flags & Modifiers::READONLY); } + + /** + * Whether the promoted property has explicit public(set) visibility. + */ + public function isPublicSet(): bool { + return (bool) ($this->flags & Modifiers::PUBLIC_SET); + } + + /** + * Whether the promoted property has explicit protected(set) visibility. + */ + public function isProtectedSet(): bool { + return (bool) ($this->flags & Modifiers::PROTECTED_SET); + } + + /** + * Whether the promoted property has explicit private(set) visibility. + */ + public function isPrivateSet(): bool { + return (bool) ($this->flags & Modifiers::PRIVATE_SET); + } } diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php new file mode 100644 index 0000000..6c0c968 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php @@ -0,0 +1,15 @@ + $attributes Additional attributes * @param null|Identifier|Name|ComplexType $type Type declaration * @param Node\AttributeGroup[] $attrGroups PHP attribute groups + * @param Node\PropertyHook[] $hooks Property hooks */ - public function __construct(int $flags, array $props, array $attributes = [], ?Node $type = null, array $attrGroups = []) { + public function __construct(int $flags, array $props, array $attributes = [], ?Node $type = null, array $attrGroups = [], array $hooks = []) { $this->attributes = $attributes; $this->flags = $flags; $this->props = $props; $this->type = $type; $this->attrGroups = $attrGroups; + $this->hooks = $hooks; } public function getSubNodeNames(): array { - return ['attrGroups', 'flags', 'type', 'props']; + return ['attrGroups', 'flags', 'type', 'props', 'hooks']; } /** @@ -76,6 +80,27 @@ class Property extends Node\Stmt { return (bool) ($this->flags & Modifiers::READONLY); } + /** + * Whether the property has explicit public(set) visibility. + */ + public function isPublicSet(): bool { + return (bool) ($this->flags & Modifiers::PUBLIC_SET); + } + + /** + * Whether the property has explicit protected(set) visibility. + */ + public function isProtectedSet(): bool { + return (bool) ($this->flags & Modifiers::PROTECTED_SET); + } + + /** + * Whether the property has explicit private(set) visibility. + */ + public function isPrivateSet(): bool { + return (bool) ($this->flags & Modifiers::PRIVATE_SET); + } + public function getType(): string { return 'Stmt_Property'; } diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php b/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php index a2535de..39ce86a 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php @@ -185,6 +185,15 @@ class NodeDumper { if ($flags & Modifiers::READONLY) { $strs[] = 'READONLY'; } + if ($flags & Modifiers::PUBLIC_SET) { + $strs[] = 'PUBLIC_SET'; + } + if ($flags & Modifiers::PROTECTED_SET) { + $strs[] = 'PROTECTED_SET'; + } + if ($flags & Modifiers::PRIVATE_SET) { + $strs[] = 'PRIVATE_SET'; + } if ($strs) { return implode(' | ', $strs) . ' (' . $flags . ')'; diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php index ccd014e..99449c4 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php @@ -110,6 +110,12 @@ class NameResolver extends NodeVisitorAbstract { $node->type = $this->resolveType($node->type); } $this->resolveAttrGroups($node); + } elseif ($node instanceof Node\PropertyHook) { + foreach ($node->params as $param) { + $param->type = $this->resolveType($param->type); + $this->resolveAttrGroups($param); + } + $this->resolveAttrGroups($node); } elseif ($node instanceof Stmt\Const_) { foreach ($node->consts as $const) { $this->addNamespacedName($const); diff --git a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php index 050f91e..60bc49a 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php @@ -122,54 +122,58 @@ class Php7 extends \PhpParser\ParserAbstract public const T_PROTECTED = 357; public const T_PUBLIC = 358; public const T_READONLY = 359; - public const T_VAR = 360; - public const T_UNSET = 361; - public const T_ISSET = 362; - public const T_EMPTY = 363; - public const T_HALT_COMPILER = 364; - public const T_CLASS = 365; - public const T_TRAIT = 366; - public const T_INTERFACE = 367; - public const T_ENUM = 368; - public const T_EXTENDS = 369; - public const T_IMPLEMENTS = 370; - public const T_OBJECT_OPERATOR = 371; - public const T_NULLSAFE_OBJECT_OPERATOR = 372; - public const T_LIST = 373; - public const T_ARRAY = 374; - public const T_CALLABLE = 375; - public const T_CLASS_C = 376; - public const T_TRAIT_C = 377; - public const T_METHOD_C = 378; - public const T_FUNC_C = 379; - public const T_LINE = 380; - public const T_FILE = 381; - public const T_START_HEREDOC = 382; - public const T_END_HEREDOC = 383; - public const T_DOLLAR_OPEN_CURLY_BRACES = 384; - public const T_CURLY_OPEN = 385; - public const T_PAAMAYIM_NEKUDOTAYIM = 386; - public const T_NAMESPACE = 387; - public const T_NS_C = 388; - public const T_DIR = 389; - public const T_NS_SEPARATOR = 390; - public const T_ELLIPSIS = 391; - public const T_NAME_FULLY_QUALIFIED = 392; - public const T_NAME_QUALIFIED = 393; - public const T_NAME_RELATIVE = 394; - public const T_ATTRIBUTE = 395; + public const T_PUBLIC_SET = 360; + public const T_PROTECTED_SET = 361; + public const T_PRIVATE_SET = 362; + public const T_VAR = 363; + public const T_UNSET = 364; + public const T_ISSET = 365; + public const T_EMPTY = 366; + public const T_HALT_COMPILER = 367; + public const T_CLASS = 368; + public const T_TRAIT = 369; + public const T_INTERFACE = 370; + public const T_ENUM = 371; + public const T_EXTENDS = 372; + public const T_IMPLEMENTS = 373; + public const T_OBJECT_OPERATOR = 374; + public const T_NULLSAFE_OBJECT_OPERATOR = 375; + public const T_LIST = 376; + public const T_ARRAY = 377; + public const T_CALLABLE = 378; + public const T_CLASS_C = 379; + public const T_TRAIT_C = 380; + public const T_METHOD_C = 381; + public const T_FUNC_C = 382; + public const T_PROPERTY_C = 383; + public const T_LINE = 384; + public const T_FILE = 385; + public const T_START_HEREDOC = 386; + public const T_END_HEREDOC = 387; + public const T_DOLLAR_OPEN_CURLY_BRACES = 388; + public const T_CURLY_OPEN = 389; + public const T_PAAMAYIM_NEKUDOTAYIM = 390; + public const T_NAMESPACE = 391; + public const T_NS_C = 392; + public const T_DIR = 393; + public const T_NS_SEPARATOR = 394; + public const T_ELLIPSIS = 395; + public const T_NAME_FULLY_QUALIFIED = 396; + public const T_NAME_QUALIFIED = 397; + public const T_NAME_RELATIVE = 398; + public const T_ATTRIBUTE = 399; - protected int $tokenToSymbolMapSize = 396; - protected int $actionTableSize = 1268; - protected int $gotoTableSize = 730; + protected int $tokenToSymbolMapSize = 400; + protected int $actionTableSize = 1287; + protected int $gotoTableSize = 618; - protected int $invalidSymbol = 168; + protected int $invalidSymbol = 172; protected int $errorSymbol = 1; protected int $defaultAction = -32766; protected int $unexpectedTokenRule = 32767; protected int $YY2TBLSTATE = 437; - protected int $numNonLeafStates = 743; + protected int $numNonLeafStates = 742; protected array $symbolToName = array( "EOF", @@ -295,6 +299,9 @@ class Php7 extends \PhpParser\ParserAbstract "T_PROTECTED", "T_PUBLIC", "T_READONLY", + "T_PUBLIC_SET", + "T_PROTECTED_SET", + "T_PRIVATE_SET", "T_VAR", "T_UNSET", "T_ISSET", @@ -315,6 +322,7 @@ class Php7 extends \PhpParser\ParserAbstract "T_TRAIT_C", "T_METHOD_C", "T_FUNC_C", + "T_PROPERTY_C", "T_LINE", "T_FILE", "T_START_HEREDOC", @@ -343,32 +351,32 @@ class Php7 extends \PhpParser\ParserAbstract ); protected array $tokenToSymbol = array( - 0, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 56, 166, 168, 167, 55, 168, 168, - 161, 162, 53, 50, 8, 51, 52, 54, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 31, 159, - 44, 16, 46, 30, 68, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 70, 168, 160, 36, 168, 165, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 163, 35, 164, 58, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 1, 2, 3, 4, + 0, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 56, 170, 172, 171, 55, 172, 172, + 165, 166, 53, 50, 8, 51, 52, 54, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 31, 163, + 44, 16, 46, 30, 68, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 70, 172, 164, 36, 172, 169, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 167, 35, 168, 58, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 37, 38, 39, 40, @@ -382,548 +390,541 @@ class Php7 extends \PhpParser\ParserAbstract 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158 + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162 ); protected array $action = array( - 133, 134, 135, 586, 136, 137, 0, 755, 756, 757, - 138, 38,-32766,-32766,-32766, 151,-32766,-32766,-32766,-32767, - -32767,-32767,-32767, 102, 103, 104, 105, 106, 1116, 1117, - 1118, 1115, 1114, 1113, 1119, 749, 748,-32766,-32766,-32766, + 128, 129, 130, 565, 131, 132, 944, 754, 755, 756, + 133, 38, 838, 485, 561, 1364,-32766,-32766,-32766, 0, + 829, 1121, 1122, 1123, 1117, 1116, 1115, 1124, 1118, 1119, + 1120,-32766,-32766,-32766, -331, 748, 747,-32766, 840,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 1252, 841,-32766, 1331, 758,-32766,-32766,-32766,-32766, - -599,-32766,-32766,-32766, 104, 105, 106, -599, 1315, 265, - 139, 406, 762, 763, 764, 765, 994,-32766, 431,-32766, - -32766, -16,-32766, 242, 1031, 819, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 795, 587, 796, 797, - 798, 799, 787, 788, 347, 348, 790, 791, 776, 777, - 778, 780, 781, 782, 358, 822, 823, 824, 825, 826, - 588, 783, 784, 589, 590,-32766, 807, 805, 806, 818, - 802, 803, 839, 830, 591, 592, 801, 593, 594, 595, - 596, 597, 598, 830, 461, 462, 463, 1040, 804, 599, - 600, 945, 140, 2, 133, 134, 135, 586, 136, 137, - 1064, 755, 756, 757, 138, 38, -328, -110, -110, 1335, - 291, 23, -110,-32766,-32766,-32766, 1334, 35, -110, 1116, - 1117, 1118, 1115, 1114, 1113, 1119, 616,-32766, 129, 749, - 748, 107, 108, 109,-32766, 275,-32766,-32766,-32766,-32766, - -32766,-32766,-32766, 832, 995, -194, 145, 110, 300, 758, - 840, 75,-32766,-32766,-32766, 1360, 142, 328, 1361, -599, - 328, -599, 253, 265, 139, 406, 762, 763, 764, 765, - 82, -272, 431,-32766, 328,-32766,-32766,-32766,-32766, 819, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, - 795, 587, 796, 797, 798, 799, 787, 788, 347, 348, - 790, 791, 776, 777, 778, 780, 781, 782, 358, 822, - 823, 824, 825, 826, 588, 783, 784, 589, 590, 834, - 807, 805, 806, 818, 802, 803, 716, 311, 591, 592, - 801, 593, 594, 595, 596, 597, 598, -78, 83, 84, - 85, -85, 804, 599, 600, 313, 149, 779, 750, 751, - 752, 753, 754, 729, 755, 756, 757, 792, 793, 37, - -328, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 325, 275, 485,-32766,-32766, - -32766, -58,-32766,-32766,-32766, 963, 964, 127, 110, -194, - 965, 341, 758,-32766,-32766,-32766, 959, -85, 292,-32766, - 1092,-32766,-32766,-32766,-32766,-32766, 759, 760, 761, 762, - 763, 764, 765, -193,-32766, 828,-32766,-32766,-32766, -367, - 431, -367, 819, 766, 767, 768, 769, 770, 771, 772, - 773, 774, 775, 795, 817, 796, 797, 798, 799, 787, - 788, 789, 816, 790, 791, 776, 777, 778, 780, 781, - 782, 821, 822, 823, 824, 825, 826, 827, 783, 784, - 785, 786, -552, 807, 805, 806, 818, 802, 803, 342, - 329, 794, 800, 801, 808, 809, 811, 810, 812, 813, - 1037, 866, 610, 867,-32766, 804, 815, 814, 50, 51, - 52, 516, 53, 54, 835, 1247, 1246, 1248, 55, 56, - -110, 57, 1040, 924, 1094, -110, 1040, -110, 292, 486, - 749, 748, 307, 384, 383, -110, -110, -110, -110, -110, - -110, -110, -110, 425, 924, 284, -552, -552, 372, 291, - 838, 924, 1252, 719, 470, 471, 58, 59,-32766,-32766, - 21, -550, 60, 560, 61, 247, 248, 62, 63, 64, - 65, 66, 67, 68, 69, -552, 28, 267, 70, 446, - 517, 720, 1108, -342, 1279, 1280, 518, -193, 839, 376, - 836, -548, 1277, 42, 25, 519, 391, 520, 241, 521, - 924, 522, 947, 1245, 523, 524, 914, 660, 26, 44, - 45, 447, 379, 378,-32766, 46, 525, 1027, 1026, 1025, - 1028, 370, 340, 442, 1285, -550, -550, 914, 1238, 947, - 527, 528, 529, 839, 914, 839, 1040, 443, 1350, 1243, - -550, 359, 531, 532, 444, 1266, 1267, 1268, 1269, 1263, - 1264, 299, -556, 445, -550, -548, -548, 1270, 1265, 291, - 1039, 1247, 1246, 1248, 300, 749, 748, 71, 364, 845, - -548, 323, 324, 328, -153, -153, -153, 152, 1247, 1246, - 1248, 926, -555, 914, -548, 714, 1063, 154,-32766, -153, - 1093, -153, 155, -153, 741, -153, 156, -596, 28, 268, - 36, 250, 926,-32766, -596, 377, 714, 679, 680, 926, - 839, 1273, 75, 714, 1277, 288, 963, 964, 328, -547, - 393, 526, 7, 1037, -57, 1040, 900, 959, -110, -110, - -110, 32, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 1040, 158, 382, 383, 866, - 1238, 867, 924, 749, 748, 1252, 33, 425, 926, 150, - 409, 924, 714, -153, 531, 532, -87, 1266, 1267, 1268, - 1269, 1263, 1264, 124, 1154, 1156, -84, -4, 924, 1270, - 1265, 125, 721, -547, -547, -546, 130, 749, 748, 73, - -32766, 724, 839, -78, 324, 328, 1245, 131, -547, 300, - -590, 1037, -590,-32766,-32766,-32766, 144,-32766, 159,-32766, - -554,-32766, -547, 160,-32766, 380, 381, 924, 161,-32766, - -32766,-32766, 162, 1040,-32766,-32766,-32766, 385, 386, 163, - 1245,-32766, 422, 651, 652, 914, 839,-32766,-32766,-32766, - -32766,-32766, -73,-32766, 914,-32766, 284, 731,-32766, -546, - -546, -72, 48,-32766,-32766,-32766, -596, -71, -596,-32766, - -32766, 914, -70, -69, -546,-32766, 422, -68, -67, -66, - 74, -110, -110, 141,-32766, -50, -110, 328, -546, -65, - -46, -18, -110, 377, 148, 438, 274, 285, 730, 733, - 298,-32766, 923, 147, 963, 964, 289, 290, -549, 526, - 914, -302, -298, 280, 530, 959, -110, -110, -110, 132, - 980, 281, 300, 941, 714, 75, 301, 302,-32766, 926, - 286, 328, 287, 714, 1245, 334, 293, 10, 294, 275, - 1362,-32766,-32766,-32766, 110,-32766, 926,-32766, 707,-32766, - 714, -4,-32766, 146, 830, 126, 689,-32766,-32766,-32766, - 705, 20,-32766,-32766,-32766, 924, 839, 682, 1245,-32766, - 422, 1123, -549, -549, 649,-32766,-32766,-32766,-32766,-32766, - 565,-32766, 661,-32766, 467, 926,-32766, -549,-32766, 714, - 666,-32766,-32766,-32766,-32766, 496, 667,-32766,-32766,-32766, - 1245, -549, 683,-32766, 422, 924, 571,-32766,-32766,-32766, - 838,-32766,-32766,-32766, 306,-32766, 735, 1278,-32766, 308, - 0, 960, 491,-32766,-32766,-32766,-32766, 0, 0,-32766, - -32766, 0, 1245, 578, 0,-32766, 422, -546, 305,-32766, - -32766,-32766, 312,-32766,-32766,-32766, 0,-32766, 914, 40, - -32766, 0, 0, 1284, 1286,-32766,-32766,-32766, -511, 0, - -501,-32766,-32766, 8, -250, -250, -250,-32766, 422, 614, - 377, 24, 49, 28, 267, 374,-32766, 943, 41, 300, - -275, 963, 964, 738, 739, 839, 526, 858, 914, 1277, - 905, 900, 959, -110, -110, -110, 1004, 981, 988, 978, - 989, -546, -546, 903, -249, -249, -249, 976, 28, 268, - 377, 1274, 288, 1097, 1100, 1101, -546, 1098, 1099, 1105, - 839, 963, 964, 926, 1277, 1238, 526, 714, -250, 850, - -546, 900, 959, -110, -110, -110, 303, 304, 1301, 1319, - 532, 1353, 1266, 1267, 1268, 1269, 1263, 1264, 654, -273, - -584, 375, -583, -582, 1270, 1265, -556, -555, -554, -553, - 1238, -495, 694, 926, 73, 128, 1, 714, -249, 324, - 328, 29, 30, 39, 43, 532, 47, 1266, 1267, 1268, - 1269, 1263, 1264, 72, 76, 77, 78, 79, 80, 1270, - 1265, 81, 143, 153,-32766, 157, 245, 330, 695, 73, - 1245, 359, 360, 361, 324, 328, 362,-32766,-32766,-32766, - 363,-32766, 364,-32766, 365,-32766, 366, 367,-32766, 696, - 697, 368, 369,-32766,-32766,-32766, 371, 439, 559,-32766, - -32766, -272, 13, 14, 15,-32766, 422, 1247, 1246, 1248, - 16, 18, 408, 284,-32766, 487, 488, 495, 498, 499, - 500, 501, 505, 506, 507, 514, 576, 700, 1256, 1194, - 1275, 1066, 1065, 1046, 1233, 1042, -277, -102, 12, 17, - 27, 297, 407, 607, 611, 640, 706, 1198, 1251, 1195, - 1332, 0, 34, 0, 322, 373, 715, 718, 722, 723, - 725, 726, 727, 728, 732, 717, 0, 901, 1357, 1359, - 861, 860, 869, 953, 996, 868, 1358, 952, 950, 951, - 954, 1226, 934, 944, 932, 986, 987, 638, 1356, 1313, - 1302, 1320, 1329, 0, 1211, 0, 0, 328 + -32767, 24,-32766, 1033, -567, 757, 1121, 1122, 1123, 1117, + 1116, 1115, 1124, 1118, 1119, 1120, 2, 381, 382, 265, + 134, 384, 761, 762, 763, 764, 1110, 425, 426, 1299, + 328, 36, 248, 26, 291, 818, 765, 766, 767, 768, + 769, 770, 771, 772, 773, 774, 794, 566, 795, 796, + 797, 798, 786, 787, 345, 346, 789, 790, 775, 776, + 777, 779, 780, 781, 357, 821, 822, 823, 824, 825, + 567, -567, -567, 299, 782, 783, 568, 569, -194, 806, + 804, 805, 817, 801, 802, 35, -193, 570, 571, 800, + 572, 573, 574, 575,-32766, 576, 577, 471, 472, 486, + 238, -567, 803, 578, 579, -370, 135, -370, 128, 129, + 130, 565, 131, 132, 1066, 754, 755, 756, 133, 38, + -32766, 136, 728, 1026, 1025, 1024, 1030, 1027, 1028, 1029, + -32766,-32766,-32766,-32767,-32767,-32767,-32767, 101, 102, 103, + 104, 105, -331, 748, 747, 1042, 923,-32766,-32766,-32766, + 839,-32766, 145,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766,-32766, 757,-32766,-32766,-32766, 611,-32766, 290, + -32766,-32766,-32766,-32766,-32766, 834, 718, 265, 134, 384, + 761, 762, 763, 764, -614,-32766, 426,-32766,-32766,-32766, + -32766, -614, 251, 818, 765, 766, 767, 768, 769, 770, + 771, 772, 773, 774, 794, 566, 795, 796, 797, 798, + 786, 787, 345, 346, 789, 790, 775, 776, 777, 779, + 780, 781, 357, 821, 822, 823, 824, 825, 567, 913, + 426, 310, 782, 783, 568, 569, -194, 806, 804, 805, + 817, 801, 802, 1287, -193, 570, 571, 800, 572, 573, + 574, 575, -272, 576, 577, 835, 82, 83, 84, -85, + 803, 578, 579, 237, 148, 778, 749, 750, 751, 752, + 753, 946, 754, 755, 756, 791, 792, 37,-32766, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 1042, 276,-32766,-32766,-32766, 925, 1262, + 1261, 1263, 713, 831, 358, 393, 109, 7, 1096, 47, + 757,-32766,-32766,-32766, 838, -85,-32766, 1094,-32766,-32766, + -32766, 1267,-32766,-32766, 758, 759, 760, 761, 762, 763, + 764, 993,-32766, 827,-32766,-32766, 923, -614, 312, -614, + 818, 765, 766, 767, 768, 769, 770, 771, 772, 773, + 774, 794, 816, 795, 796, 797, 798, 786, 787, 788, + 815, 789, 790, 775, 776, 777, 779, 780, 781, 820, + 821, 822, 823, 824, 825, 826, 300, 301, 324, 782, + 783, 784, 785, 833, 806, 804, 805, 817, 801, 802, + 715, 1039, 793, 799, 800, 807, 808, 810, 809, 140, + 811, 812, 838, 327, 340,-32766, 125, 803, 814, 813, + 49, 50, 51, 517, 52, 53, 1042, -110, 341, 913, + 54, 55, -110, 56, -110, -565,-32766,-32766,-32766, 306, + 1042, 126, -110, -110, -110, -110, -110, -110, -110, -110, + -110, -110, -110, -611, 1095, 106, 107, 108, 740, 276, + -611, 962, 963,-32766, 290, 287, 964, 1329, 57, 58, + -32766, 109, 371, 994, 59, 958, 60, 245, 246, 61, + 62, 63, 64, 65, 66, 67, 68,-32766, 28, 267, + 69, 441, 518, 375, -345, 74, 1293, 1294, 519, 391, + 838, 327, -565, -565, 1291, 42, 20, 520, 925, 521, + 923, 522, 713, 523, -563, 693, 524, 525, -565, 923, + 443, 44, 45, 447, 378, 377, 946, 46, 526, 923, + -571, 444, -565, 369, 339, 1345, 103, 104, 105, -562, + 1253, 923, 383, 382, 445, 528, 529, 530, 865, 719, + 866, 694, 425, 461, 462, 463, 446, 532, 533, 720, + 1279, 1280, 1281, 1282, 1284, 1276, 1277, 298, 865, 363, + 866, 723, 844, 1283, 1278, 695, 696, 1262, 1261, 1263, + 299, -563, -563, 70, -153, -153, -153, 322, 323, 327, + -78, -4, 923, 913, 1262, 1261, 1263, -563, 150, -153, + 283, -153, 913, -153, 151, -153, -562, -562, 153, -570, + 1349, -563, 913, -58, 829, 376, -611, 1348, -611, 748, + 747, 837, -562, -605, 913, -605, 962, 963, 154, 748, + 747, 527, 617, 81, -569, 1039, -562, 327, 155, 899, + 958, -110, -110, -110, 32, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 157, -564, + 1042, 1374, 28, 268, 1375, 33, 923, -87, 660, 21, + 679, 680, 925, -57, 838, 913, 713, -153, 1291, 149, + 408, 925, 379, 380, 283, 713, 123, 1169, 1171, 385, + 386, 979, 124, 137, 138, 713, 730, 376, -561, 438, + 1065, 141, 144, 925, 297, 327, 158, 713, 962, 963, + 651, 652, 159, 527, 1253, -84, 160, 161, 748, 747, + 162, 531, 958, -110, -110, -110, -564, -564, -78, 287, + 1267, 532, 533, -73, 1279, 1280, 1281, 1282, 1284, 1276, + 1277, -72, -564, -71, -70, 11, 1260, 1283, 1278, 913, + -69, 748, 747, -68, 925,-32766, -564, 72, 713, -4, + -16, 1260, 323, 327, -67, -561, -561, 291,-32766,-32766, + -32766, -66,-32766, -65,-32766, -46,-32766, -18, 142,-32766, + 275, -561, 1258, 284,-32766,-32766,-32766, 729,-32766, 732, + -32766,-32766, 922, 147, 1260, -561,-32766, 422, 28, 267, + -305,-32766,-32766,-32766, -301,-32766, 1041,-32766,-32766,-32766, + 838, 838,-32766, 288, 1291, 1039, 279,-32766,-32766,-32766, + 280, 285, 286,-32766,-32766, 1262, 1261, 1263, 925,-32766, + 422, 333, 713, 28, 268, 289, 292, 293, 146, 73, + 1042,-32766, 940, 109, 689, 838, -110, -110, -561, 1291, + 1253, -110, 276,-32766, 838, 829, 1376, 704, 706, 582, + -110, 1128, 307, 649, 283,-32766, 959, 666, 533,-32766, + 1279, 1280, 1281, 1282, 1284, 1276, 1277, 682, 1042, 661, + -50, 10, 667, 1283, 1278, 1253, 304, 468, 496, 311, + 942, 299, 683, 72, 74, 305, -527,-32766, 323, 327, + 327, 299, 290, 533, 837, 1279, 1280, 1281, 1282, 1284, + 1276, 1277, 588, 139, 1298, -561, -561, 615, 1283, 1278, + 34, 0, 0,-32766, 0, 0, 0, 0, 72, 1260, + 0, -561, 0, 323, 327, 0,-32766,-32766,-32766, 0, + -32766, -517,-32766, 1300,-32766, -561, 0,-32766, 0, 0, + 8, 0,-32766,-32766,-32766, 923,-32766, 40,-32766,-32766, + 27, 373, 1260, 0,-32766, 422, 41, -599, 737,-32766, + -32766,-32766, 738,-32766, 857,-32766,-32766,-32766, 923, 904, + -32766, 1003, 980, 987, 977,-32766,-32766,-32766, 988,-32766, + 902,-32766,-32766, 975, 1099, 1260, 1102,-32766, 422, 48, + 1103, 1100,-32766,-32766,-32766, 1101,-32766, 1107,-32766,-32766, + -32766, 1288, 849,-32766, 1315, 1333, 1367, 491,-32766,-32766, + -32766, 654,-32766, -598,-32766,-32766, -597, -571, 1260, 595, + -32766, 422, -570, -569, 1267,-32766,-32766,-32766, 913,-32766, + -568,-32766,-32766,-32766, -511, 1,-32766, -275, 29, 30, + 39,-32766,-32766,-32766, -250, -250, -250,-32766,-32766, 43, + 376, 913, 71,-32766, 422, 75, 302, 303, 76, 77, + 78, 962, 963, 79, 80,-32766, 527, -249, -249, -249, + -273, 143, 374, 376, 899, 958, -110, -110, -110, 152, + 156, 243, 329, 358, 962, 963, 127, 359, 360, 527, + 361, 362, 363, 364, 365, 366, 367, 899, 958, -110, + -110, -110,-32766, -272, 368, 838, 370, 925, 1260, 13, + 439, 713, -250, 560, 321,-32766,-32766,-32766, 14,-32766, + 15,-32766, 16,-32766, 18, 406,-32766, 487, 488, 495, + 925,-32766,-32766,-32766, 713, -249, 498,-32766,-32766, 499, + -110, -110, 500,-32766, 422, -110, 501, 505, 506, 507, + 515, 593, 699, 1068, -110,-32766, 1209, 1289, 1067, 1048, + 1248, 1044, -277,-32766, -102, 12, 17, 22, 296, 405, + 607, 612, 640, 705, 1213, 1266, 1210, 1346, 0, 372, + 714, 717, 721, 722, 724, 299, 725, 726, 74, 727, + 1226, 731, 716, 0, 327, 407, 1292, 411, 734, 900, + 1371, 1373, 860, 859, 952, 995, 1372, 951, 949, 950, + 953, 1241, 933, 943, 931, 985, 986, 638, 1370, 1327, + 1316, 1334, 1343, 0, 0, 0, 327 ); protected array $actionCheck = array( - 2, 3, 4, 5, 6, 7, 0, 9, 10, 11, - 12, 13, 9, 10, 11, 14, 9, 10, 11, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 116, 117, - 118, 119, 120, 121, 122, 37, 38, 30, 116, 32, + 2, 3, 4, 5, 6, 7, 1, 9, 10, 11, + 12, 13, 82, 31, 85, 85, 9, 10, 11, 0, + 80, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 9, 10, 11, 8, 37, 38, 30, 1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 1, 1, 9, 1, 57, 9, 10, 11, 137, - 1, 9, 10, 11, 50, 51, 52, 8, 1, 71, - 72, 73, 74, 75, 76, 77, 31, 30, 80, 32, - 33, 31, 30, 14, 1, 87, 88, 89, 90, 91, + 43, 101, 30, 1, 70, 57, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 8, 106, 107, 71, + 72, 73, 74, 75, 76, 77, 126, 116, 80, 150, + 70, 151, 152, 8, 30, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 116, 128, 129, 130, 131, - 132, 133, 82, 80, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 80, 129, 130, 131, 138, 150, 151, - 152, 1, 154, 8, 2, 3, 4, 5, 6, 7, - 162, 9, 10, 11, 12, 13, 8, 117, 118, 1, - 161, 8, 122, 9, 10, 11, 8, 8, 128, 116, - 117, 118, 119, 120, 121, 122, 51, 137, 8, 37, - 38, 53, 54, 55, 30, 57, 32, 33, 34, 35, - 36, 37, 38, 80, 159, 8, 8, 69, 158, 57, - 159, 161, 9, 10, 11, 80, 163, 167, 83, 160, - 167, 162, 8, 71, 72, 73, 74, 75, 76, 77, - 163, 162, 80, 30, 167, 32, 33, 34, 35, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 156, - 128, 129, 130, 131, 132, 133, 163, 8, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 16, 9, 10, - 11, 31, 150, 151, 152, 8, 154, 2, 3, 4, - 5, 6, 7, 163, 9, 10, 11, 12, 13, 30, - 162, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 8, 57, 31, 9, 10, - 11, 16, 9, 10, 11, 117, 118, 14, 69, 162, - 122, 8, 57, 9, 10, 11, 128, 97, 30, 30, - 1, 32, 33, 34, 35, 36, 71, 72, 73, 74, - 75, 76, 77, 8, 30, 80, 32, 33, 34, 106, - 80, 108, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 70, 128, 129, 130, 131, 132, 133, 8, - 70, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 116, 106, 1, 108, 116, 150, 151, 152, 2, 3, - 4, 5, 6, 7, 80, 155, 156, 157, 12, 13, - 101, 15, 138, 1, 164, 106, 138, 108, 30, 163, - 37, 38, 113, 106, 107, 116, 117, 118, 119, 120, - 121, 122, 123, 116, 1, 161, 134, 135, 8, 161, - 155, 1, 1, 31, 134, 135, 50, 51, 9, 10, - 101, 70, 56, 85, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 163, 70, 71, 72, 73, - 74, 31, 123, 164, 78, 79, 80, 162, 82, 8, - 156, 70, 86, 87, 88, 89, 8, 91, 97, 93, - 1, 95, 122, 80, 98, 99, 84, 75, 76, 103, - 104, 105, 106, 107, 116, 109, 110, 119, 120, 121, - 122, 115, 116, 8, 146, 134, 135, 84, 122, 122, - 124, 125, 126, 82, 84, 82, 138, 8, 85, 116, - 149, 161, 136, 137, 8, 139, 140, 141, 142, 143, - 144, 145, 161, 8, 163, 134, 135, 151, 152, 161, - 137, 155, 156, 157, 158, 37, 38, 161, 161, 8, - 149, 165, 166, 167, 75, 76, 77, 14, 155, 156, - 157, 159, 161, 84, 163, 163, 1, 14, 137, 90, - 159, 92, 14, 94, 163, 96, 14, 1, 70, 71, - 147, 148, 159, 116, 8, 106, 163, 75, 76, 159, - 82, 1, 161, 163, 86, 30, 117, 118, 167, 70, - 106, 122, 108, 116, 16, 138, 127, 128, 129, 130, - 131, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 138, 14, 106, 107, 106, - 122, 108, 1, 37, 38, 1, 14, 116, 159, 101, - 102, 1, 163, 164, 136, 137, 31, 139, 140, 141, - 142, 143, 144, 16, 59, 60, 31, 0, 1, 151, - 152, 16, 31, 134, 135, 70, 16, 37, 38, 161, - 74, 31, 82, 31, 166, 167, 80, 16, 149, 158, - 160, 116, 162, 87, 88, 89, 16, 91, 16, 93, - 161, 95, 163, 16, 98, 106, 107, 1, 16, 103, - 104, 105, 16, 138, 74, 109, 110, 106, 107, 16, - 80, 115, 116, 111, 112, 84, 82, 87, 88, 89, - 124, 91, 31, 93, 84, 95, 161, 31, 98, 134, - 135, 31, 70, 103, 104, 105, 160, 31, 162, 109, - 110, 84, 31, 31, 149, 115, 116, 31, 31, 31, - 154, 117, 118, 163, 124, 31, 122, 167, 163, 31, - 31, 31, 128, 106, 31, 108, 31, 31, 31, 31, - 113, 137, 31, 31, 117, 118, 37, 37, 70, 122, - 84, 35, 35, 35, 127, 128, 129, 130, 131, 31, - 159, 35, 158, 38, 163, 161, 134, 135, 74, 159, - 35, 167, 35, 163, 80, 35, 37, 150, 37, 57, - 83, 87, 88, 89, 69, 91, 159, 93, 92, 95, - 163, 164, 98, 70, 80, 163, 77, 103, 104, 105, - 80, 97, 74, 109, 110, 1, 82, 94, 80, 115, - 116, 82, 134, 135, 113, 87, 88, 89, 124, 91, - 89, 93, 90, 95, 97, 159, 98, 149, 85, 163, - 96, 103, 104, 105, 74, 97, 100, 109, 110, 137, - 80, 163, 100, 115, 116, 1, 153, 87, 88, 89, - 155, 91, 124, 93, 133, 95, 164, 166, 98, 114, - -1, 128, 102, 103, 104, 105, 74, -1, -1, 109, - 110, -1, 80, 81, -1, 115, 116, 70, 132, 87, - 88, 89, 132, 91, 124, 93, -1, 95, 84, 159, - 98, -1, -1, 146, 146, 103, 104, 105, 149, -1, - 149, 109, 110, 149, 100, 101, 102, 115, 116, 153, - 106, 149, 70, 70, 71, 149, 124, 154, 159, 158, - 162, 117, 118, 159, 159, 82, 122, 159, 84, 86, - 159, 127, 128, 129, 130, 131, 159, 159, 159, 159, - 159, 134, 135, 159, 100, 101, 102, 159, 70, 71, - 106, 160, 30, 159, 159, 159, 149, 159, 159, 159, - 82, 117, 118, 159, 86, 122, 122, 163, 164, 160, - 163, 127, 128, 129, 130, 131, 134, 135, 160, 160, - 137, 160, 139, 140, 141, 142, 143, 144, 160, 162, - 161, 149, 161, 161, 151, 152, 161, 161, 161, 161, - 122, 161, 80, 159, 161, 163, 161, 163, 164, 166, - 167, 161, 161, 161, 161, 137, 161, 139, 140, 141, - 142, 143, 144, 161, 161, 161, 161, 161, 161, 151, - 152, 161, 161, 161, 74, 161, 161, 161, 116, 161, - 80, 161, 161, 161, 166, 167, 161, 87, 88, 89, - 161, 91, 161, 93, 161, 95, 161, 161, 98, 137, - 138, 161, 161, 103, 104, 105, 161, 161, 161, 109, - 110, 162, 162, 162, 162, 115, 116, 155, 156, 157, - 162, 162, 162, 161, 124, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, -1, 163, -1, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, -1, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, -1, 165, -1, -1, 167 + 122, 137, 138, 162, 126, 127, 128, 129, 8, 131, + 132, 133, 134, 135, 136, 8, 8, 139, 140, 141, + 142, 143, 144, 145, 9, 147, 148, 137, 138, 167, + 14, 167, 154, 155, 156, 106, 158, 108, 2, 3, + 4, 5, 6, 7, 166, 9, 10, 11, 12, 13, + 116, 8, 167, 119, 120, 121, 122, 123, 124, 125, + 9, 10, 11, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 166, 37, 38, 141, 1, 9, 10, 11, + 163, 30, 8, 32, 33, 34, 35, 36, 37, 38, + 9, 10, 11, 57, 9, 10, 11, 1, 30, 165, + 32, 33, 34, 35, 36, 80, 31, 71, 72, 73, + 74, 75, 76, 77, 1, 30, 80, 32, 33, 34, + 35, 8, 8, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 84, + 80, 8, 126, 127, 128, 129, 166, 131, 132, 133, + 134, 135, 136, 1, 166, 139, 140, 141, 142, 143, + 144, 145, 166, 147, 148, 160, 9, 10, 11, 31, + 154, 155, 156, 97, 158, 2, 3, 4, 5, 6, + 7, 122, 9, 10, 11, 12, 13, 30, 116, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 141, 57, 9, 10, 11, 163, 159, + 160, 161, 167, 80, 165, 106, 69, 108, 168, 70, + 57, 9, 10, 11, 82, 97, 30, 1, 32, 33, + 34, 1, 9, 10, 71, 72, 73, 74, 75, 76, + 77, 31, 30, 80, 32, 33, 1, 164, 8, 166, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 137, 138, 8, 126, + 127, 128, 129, 160, 131, 132, 133, 134, 135, 136, + 167, 116, 139, 140, 141, 142, 143, 144, 145, 167, + 147, 148, 82, 171, 8, 116, 167, 154, 155, 156, + 2, 3, 4, 5, 6, 7, 141, 101, 8, 84, + 12, 13, 106, 15, 108, 70, 9, 10, 11, 113, + 141, 14, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 1, 163, 53, 54, 55, 167, 57, + 8, 117, 118, 116, 165, 30, 122, 1, 50, 51, + 140, 69, 8, 163, 56, 131, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 140, 70, 71, + 72, 73, 74, 8, 168, 165, 78, 79, 80, 8, + 82, 171, 137, 138, 86, 87, 88, 89, 163, 91, + 1, 93, 167, 95, 70, 80, 98, 99, 153, 1, + 8, 103, 104, 105, 106, 107, 122, 109, 110, 1, + 165, 8, 167, 115, 116, 1, 50, 51, 52, 70, + 122, 1, 106, 107, 8, 127, 128, 129, 106, 31, + 108, 116, 116, 132, 133, 134, 8, 139, 140, 31, + 142, 143, 144, 145, 146, 147, 148, 149, 106, 165, + 108, 31, 8, 155, 156, 140, 141, 159, 160, 161, + 162, 137, 138, 165, 75, 76, 77, 169, 170, 171, + 16, 0, 1, 84, 159, 160, 161, 153, 14, 90, + 165, 92, 84, 94, 14, 96, 137, 138, 14, 165, + 1, 167, 84, 16, 80, 106, 164, 8, 166, 37, + 38, 159, 153, 164, 84, 166, 117, 118, 14, 37, + 38, 122, 51, 167, 165, 116, 167, 171, 14, 130, + 131, 132, 133, 134, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 14, 70, + 141, 80, 70, 71, 83, 14, 1, 31, 75, 76, + 75, 76, 163, 16, 82, 84, 167, 168, 86, 101, + 102, 163, 106, 107, 165, 167, 16, 59, 60, 106, + 107, 163, 16, 16, 16, 167, 31, 106, 70, 108, + 1, 167, 16, 163, 113, 171, 16, 167, 117, 118, + 111, 112, 16, 122, 122, 31, 16, 16, 37, 38, + 16, 130, 131, 132, 133, 134, 137, 138, 31, 30, + 1, 139, 140, 31, 142, 143, 144, 145, 146, 147, + 148, 31, 153, 31, 31, 154, 80, 155, 156, 84, + 31, 37, 38, 31, 163, 74, 167, 165, 167, 168, + 31, 80, 170, 171, 31, 137, 138, 30, 87, 88, + 89, 31, 91, 31, 93, 31, 95, 31, 31, 98, + 31, 153, 116, 31, 103, 104, 105, 31, 74, 31, + 109, 110, 31, 31, 80, 167, 115, 116, 70, 71, + 35, 87, 88, 89, 35, 91, 140, 93, 127, 95, + 82, 82, 98, 37, 86, 116, 35, 103, 104, 105, + 35, 35, 35, 109, 110, 159, 160, 161, 163, 115, + 116, 35, 167, 70, 71, 37, 37, 37, 70, 158, + 141, 127, 38, 69, 77, 82, 117, 118, 70, 86, + 122, 122, 57, 116, 82, 80, 83, 80, 92, 89, + 131, 82, 114, 113, 165, 85, 131, 96, 140, 140, + 142, 143, 144, 145, 146, 147, 148, 94, 141, 90, + 31, 97, 100, 155, 156, 122, 135, 97, 97, 135, + 158, 162, 100, 165, 165, 136, 153, 140, 170, 171, + 171, 162, 165, 140, 159, 142, 143, 144, 145, 146, + 147, 148, 157, 31, 150, 137, 138, 157, 155, 156, + 167, -1, -1, 74, -1, -1, -1, -1, 165, 80, + -1, 153, -1, 170, 171, -1, 87, 88, 89, -1, + 91, 153, 93, 150, 95, 167, -1, 98, -1, -1, + 153, -1, 103, 104, 105, 1, 74, 163, 109, 110, + 153, 153, 80, -1, 115, 116, 163, 165, 163, 87, + 88, 89, 163, 91, 163, 93, 127, 95, 1, 163, + 98, 163, 163, 163, 163, 103, 104, 105, 163, 74, + 163, 109, 110, 163, 163, 80, 163, 115, 116, 70, + 163, 163, 87, 88, 89, 163, 91, 163, 93, 127, + 95, 164, 164, 98, 164, 164, 164, 102, 103, 104, + 105, 164, 74, 165, 109, 110, 165, 165, 80, 81, + 115, 116, 165, 165, 1, 87, 88, 89, 84, 91, + 165, 93, 127, 95, 165, 165, 98, 166, 165, 165, + 165, 103, 104, 105, 100, 101, 102, 109, 110, 165, + 106, 84, 165, 115, 116, 165, 137, 138, 165, 165, + 165, 117, 118, 165, 165, 127, 122, 100, 101, 102, + 166, 165, 153, 106, 130, 131, 132, 133, 134, 165, + 165, 165, 165, 165, 117, 118, 167, 165, 165, 122, + 165, 165, 165, 165, 165, 165, 165, 130, 131, 132, + 133, 134, 74, 166, 165, 82, 165, 163, 80, 166, + 165, 167, 168, 165, 167, 87, 88, 89, 166, 91, + 166, 93, 166, 95, 166, 166, 98, 166, 166, 166, + 163, 103, 104, 105, 167, 168, 166, 109, 110, 166, + 117, 118, 166, 115, 116, 122, 166, 166, 166, 166, + 166, 166, 166, 166, 131, 127, 166, 166, 166, 166, + 166, 166, 166, 140, 166, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, -1, 167, + 167, 167, 167, 167, 167, 162, 167, 167, 165, 167, + 169, 167, 167, -1, 171, 168, 170, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, -1, -1, -1, 171 ); protected array $actionBase = array( - 0, -2, 152, 549, 727, 904, 944, 1022, 660, 310, - 123, 899, 500, 710, 710, 766, 710, 472, 701, 820, - 63, 305, 305, 820, 305, 493, 493, 493, 666, 666, - 666, 666, 700, 700, 860, 860, 892, 828, 794, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 51, 45, 451, 692, 1049, 1055, - 1051, 1056, 1047, 1046, 1050, 1052, 1057, 1094, 1095, 812, - 1096, 1097, 1093, 1098, 1053, 928, 1048, 1054, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 44, 343, 499, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 52, 52, - 52, 578, 578, 47, 354, 978, 943, 978, 978, 978, - 978, 978, 978, 978, 978, 203, 665, 339, 164, 164, - 7, 7, 7, 7, 7, 50, 369, 704, 704, -25, - -25, -25, -25, 448, 635, 501, 409, 283, 338, 591, - 334, 334, 14, 14, 557, 557, 9, 9, 557, 557, - 557, 537, 537, 537, 537, 441, 471, 599, 345, 428, - 802, 53, 53, 53, 53, 802, 802, 802, 802, 848, - 791, 802, 802, 802, 778, 907, 907, 942, 138, 138, - 138, 907, 593, 503, 503, 593, 238, 503, 67, 135, - -78, 833, 377, 590, -78, 362, 732, 646, 59, 795, - 659, 795, 1045, 430, 843, 843, 457, 799, 761, 900, - 1072, 1058, 836, 1091, 842, 1092, 15, 370, 712, 1044, - 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, - 1100, 443, 1045, 384, 1100, 1100, 1100, 443, 443, 443, - 443, 443, 443, 443, 443, 443, 443, 672, 384, 482, - 582, 384, 840, 443, 51, 851, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 800, 316, 51, 45, - 150, 150, 481, 83, 150, 150, 150, 150, 51, 51, - 51, 51, 659, 822, 793, 671, 856, 375, 822, 822, - 822, 270, 158, 69, 197, 816, 817, 564, 814, 814, - 829, 945, 814, 824, 814, 829, 955, 814, 814, 945, - 945, 861, 945, 180, 565, 353, 531, 579, 945, 279, - 814, 814, 814, 814, 850, 945, 586, 814, 214, 198, - 814, 814, 850, 846, 806, 145, 821, 945, 945, 945, - 850, 490, 821, 821, 821, 864, 865, 801, 805, 337, - 297, 611, 169, 825, 805, 805, 814, 538, 801, 805, - 801, 805, 863, 805, 805, 805, 801, 805, 824, 431, - 805, 742, 595, 163, 805, 6, 962, 963, 685, 964, - 952, 965, 1006, 966, 967, 1063, 940, 975, 953, 970, - 1007, 951, 950, 811, 707, 715, 854, 849, 938, 815, - 815, 815, 935, 936, 815, 815, 815, 815, 815, 815, - 815, 815, 707, 891, 866, 831, 981, 720, 731, 1034, - 847, 1073, 1099, 980, 1036, 971, 830, 740, 1019, 982, - 792, 1061, 985, 989, 1020, 1037, 868, 1038, 1074, 823, - 1075, 1076, 909, 993, 1064, 815, 962, 967, 695, 953, - 970, 951, 950, 798, 788, 786, 787, 782, 781, 770, - 776, 803, 1039, 932, 929, 918, 991, 937, 707, 919, - 1010, 1059, 1023, 1024, 1062, 827, 797, 921, 1077, 995, - 996, 1000, 1065, 1040, 1066, 859, 1011, 858, 1025, 838, - 1078, 1026, 1027, 1028, 1029, 1067, 1079, 1068, 931, 1069, - 871, 832, 927, 834, 1080, 1, 835, 837, 841, 1005, - 613, 976, 1070, 1081, 1082, 1030, 1031, 1032, 1083, 1084, - 972, 877, 1012, 813, 1018, 1009, 878, 879, 623, 839, - 1041, 818, 826, 810, 628, 632, 1085, 1086, 1087, 974, - 807, 819, 880, 881, 1042, 809, 1043, 1088, 682, 884, - 747, 1089, 1035, 752, 756, 281, 658, 335, 763, 796, - 1071, 862, 845, 804, 1001, 756, 808, 888, 1090, 894, - 895, 896, 1033, 898, 0, 0, 0, 0, 0, 0, + 0, -2, 156, 559, 641, 1004, 1027, 485, 292, 200, + -60, 283, 568, 590, 590, 715, 590, 195, 578, 892, + 395, 395, 395, 827, 313, 313, 827, 313, 731, 731, + 731, 731, 764, 764, 965, 965, 998, 932, 899, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 37, 360, 216, 701, 1062, 1068, 1064, + 1069, 1060, 1059, 1063, 1065, 1070, 1110, 1111, 812, 1112, + 1113, 1109, 1114, 1066, 907, 1061, 1067, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 135, 477, 373, 201, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 642, 642, 22, + 22, 22, 362, 813, 778, 813, 813, 813, 813, 813, + 813, 813, 813, 346, 205, 678, 188, 171, 171, 7, + 7, 7, 7, 7, 376, 779, 54, 1083, 1083, 139, + 139, 139, 139, -50, 49, 749, 380, 787, -39, 569, + 569, 536, 536, 335, 335, 349, 349, 335, 335, 335, + 212, 212, 212, 212, 415, 494, 519, 512, -71, 807, + 584, 584, 584, 584, 807, 807, 807, 807, 843, 1086, + 807, 807, 807, 639, 828, 828, 979, 452, 452, 452, + 828, 492, -70, -70, 492, 394, -70, 516, 631, 397, + 785, 486, 509, 397, -16, 299, 502, 233, 795, 626, + 795, 1058, 199, 830, 830, 794, 752, 454, 894, 1085, + 1071, 832, 1107, 842, 1108, 471, 10, 747, 1056, 1056, + 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1115, + 632, 1058, 145, 1115, 1115, 1115, 632, 632, 632, 632, + 632, 632, 632, 632, 796, 632, 632, 649, 145, 643, + 645, 145, 846, 632, 838, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, -18, 37, 37, 360, 5, + 5, 37, 341, 52, 5, 5, 5, 5, 37, 37, + 37, 37, 626, 845, 805, 633, 278, 810, 128, 845, + 845, 845, 26, 136, 120, 815, 819, 259, 825, 825, + 829, 930, 930, 825, 822, 825, 829, 825, 825, 930, + 930, 789, 930, 163, 562, 456, 535, 573, 930, 273, + 825, 825, 825, 825, 804, 930, 58, 586, 825, 234, + 194, 825, 825, 804, 801, 802, 809, 930, 930, 930, + 804, 514, 809, 809, 809, 855, 859, 800, 799, 430, + 390, 614, 127, 854, 799, 799, 825, 541, 800, 799, + 800, 799, 782, 799, 799, 799, 800, 799, 822, 470, + 799, 740, 746, 598, 75, 799, 19, 947, 950, 686, + 953, 935, 954, 1005, 955, 958, 1073, 929, 976, 944, + 959, 1008, 934, 933, 811, 720, 726, 847, 793, 925, + 824, 824, 824, 912, 917, 824, 824, 824, 824, 824, + 824, 824, 824, 720, 897, 858, 820, 982, 727, 728, + 1045, 814, 1091, 1081, 978, 947, 958, 734, 944, 959, + 934, 933, 792, 790, 772, 783, 769, 763, 760, 762, + 797, 1047, 966, 844, 736, 1018, 983, 1090, 1007, 985, + 986, 1019, 1050, 861, 1051, 1092, 818, 1093, 1094, 898, + 988, 1074, 824, 911, 852, 900, 987, 918, 720, 901, + 1052, 1003, 803, 1021, 1022, 1072, 840, 823, 902, 1095, + 989, 990, 991, 1075, 1076, 853, 1012, 931, 1023, 841, + 1087, 1030, 1033, 1036, 1040, 1077, 1096, 1079, 908, 1080, + 866, 839, 964, 821, 1097, 634, 836, 837, 850, 1001, + 640, 977, 1082, 1089, 1098, 1041, 1042, 1043, 1099, 1100, + 974, 868, 1014, 833, 1016, 997, 869, 870, 644, 849, + 1053, 831, 835, 848, 664, 674, 1101, 1102, 1103, 975, + 806, 817, 871, 875, 1054, 826, 1055, 1104, 694, 877, + 1105, 1046, 750, 751, 624, 707, 647, 754, 816, 1084, + 857, 798, 834, 999, 751, 808, 880, 1106, 881, 883, + 887, 1044, 888, 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, 456, 456, 456, 456, 456, 456, - 305, 305, 305, 305, 305, 456, 456, 456, 456, 456, - 456, 456, 305, 305, 0, 0, 305, 0, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 468, 468, 468, 468, 468, 468, 313, + 313, 313, 313, 313, 468, 468, 468, 468, 468, 468, + 468, 313, 468, 468, 468, 313, 0, 0, 313, 0, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 473, 473, 289, 289, 473, 473, - 473, 473, 473, 473, 473, 473, 473, 473, 289, 0, - 289, 289, 289, 289, 289, 289, 289, 289, 473, 861, - 473, 473, 138, 138, 138, 138, 473, 473, 473, -88, - -88, 473, 238, 473, 473, 138, 138, 473, 473, 473, - 473, 473, 473, 473, 473, 473, 473, 473, 0, 0, - 0, 384, 503, 473, 824, 824, 824, 824, 473, 473, - 473, 473, 503, 503, 473, 473, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 384, 0, - 0, 824, 824, 473, 238, 861, 168, 473, 0, 0, - 0, 0, 384, 824, 384, 443, 814, 503, 503, 814, - 443, 443, 150, 51, 168, 608, 608, 608, 608, 0, - 0, 659, 861, 861, 861, 861, 861, 861, 861, 861, - 861, 861, 861, 824, 0, 861, 0, 824, 824, 824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 824, 0, 0, 945, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, - 0, 0, 0, 0, 0, 0, 824, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 815, 827, 0, 827, - 0, 815, 815, 815, 0, 0, 0, 0, 839, 809 + 0, 0, 0, 0, 0, 0, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 716, + 716, 297, 297, 297, 297, 716, 716, 716, 716, 716, + 716, 716, 716, 716, 716, 297, 297, 0, 297, 297, + 297, 297, 297, 297, 297, 297, 789, 716, 716, 716, + 716, 452, 452, 452, 452, -95, -95, 716, 716, 716, + 394, 716, 716, 452, 452, 716, 716, 716, 716, 716, + 716, 716, 716, 716, 716, 716, 0, 0, 0, 145, + -70, 716, 822, 822, 822, 822, 716, 716, 716, 716, + -70, -70, 716, 716, 716, 0, 0, 0, 0, 0, + 0, 0, 0, 145, 0, 0, 145, 0, 0, 822, + 822, 716, 394, 789, 659, 716, 0, 0, 0, 0, + 145, 822, 145, 632, 825, -70, -70, 632, 632, 825, + 5, 37, 659, 628, 628, 628, 628, 0, 0, 626, + 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, + 789, 822, 0, 789, 0, 822, 822, 822, 0, 0, + 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, + 0, 0, 0, 0, 822, 0, 930, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 822, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 824, 840, 0, 0, 840, + 0, 824, 824, 824, 0, 0, 0, 849, 826 ); protected array $actionDefault = array( 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 100,32767,32767,32767,32767, 602, 602, - 602, 602,32767,32767, 254, 102,32767,32767, 470, 387, - 387, 387,32767,32767, 544, 544, 544, 544, 544, 544, - 32767,32767,32767,32767,32767,32767, 470,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 100,32767, 617, 617, + 617, 617,32767,32767, 254, 102,32767,32767, 486, 403, + 403, 403,32767,32767, 559, 559, 559, 559, 559,32767, + 32767,32767,32767,32767,32767, 486,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 100, - 32767,32767,32767, 36, 7, 8, 10, 11, 49, 17, - 324,32767,32767,32767,32767, 102,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 36, 7, + 8, 10, 11, 49, 17, 327, 100,32767,32767,32767, + 32767,32767,32767,32767,32767, 102,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 595,32767,32767, + 32767,32767,32767,32767,32767,32767, 610,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 474, 453, - 454, 456, 457, 386, 545, 601, 327, 598, 385, 145, - 339, 329, 242, 330, 258, 475, 259, 476, 479, 480, - 215, 287, 382, 149, 150, 417, 471, 419, 469, 473, - 418, 392, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 390, 391, 472, 450, 449, - 448,32767,32767, 415, 416,32767,32767,32767,32767,32767, - 32767,32767,32767, 102,32767, 420, 389, 423, 421, 422, - 439, 440, 437, 438, 441,32767,32767,32767,32767, 442, - 443, 444, 445, 316,32767,32767, 366, 364, 316, 111, - 32767,32767, 430, 431,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 487, 538, 447,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 391, 490, 469, + 470, 472, 473, 402, 560, 616, 330, 613, 332, 401, + 145, 342, 333, 242, 258, 491, 259, 492, 495, 496, + 215, 388, 149, 150, 433, 487, 435, 485, 489, 434, + 408, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 406, 407, 488,32767,32767, 466, + 465, 464, 431,32767,32767,32767,32767,32767,32767,32767, + 32767, 102,32767, 432, 436, 405, 439, 437, 438, 455, + 456, 453, 454, 457,32767,32767, 319,32767,32767, 458, + 459, 460, 461, 369, 367,32767,32767, 319, 111,32767, + 32767, 446, 447,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 503, 553, 463,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 102,32767, 100, 540, 412, 414, 507, 425, 426, - 424, 393,32767, 514,32767, 102,32767, 516,32767,32767, - 32767,32767,32767,32767,32767, 539,32767, 546, 546,32767, - 500, 100, 195,32767,32767, 515,32767, 195, 195,32767, - 32767,32767,32767,32767,32767,32767,32767, 609, 500, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 32767, 195, 110,32767,32767,32767, 100, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 190,32767, 268, - 270, 102, 563, 195,32767, 519,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 512,32767,32767,32767, + 102,32767, 100, 555, 428, 430, 523, 441, 442, 440, + 409,32767, 528,32767, 102,32767, 530,32767,32767,32767, + 32767,32767,32767,32767, 554,32767, 561, 561,32767, 516, + 100, 195,32767,32767, 529, 195, 195,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 624, 516, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 110, 110,32767, + 195, 110,32767,32767,32767, 100, 195, 195, 195, 195, + 195, 195, 195, 195, 531, 195, 195, 190,32767, 268, + 270, 102, 578, 195, 533,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 500, 435, 138,32767, 138, 546, 427, 428, - 429, 502, 546, 546, 546, 312, 289,32767,32767,32767, - 32767, 517, 100, 100, 100, 100, 512,32767,32767,32767, - 32767, 111, 486, 99, 99, 99, 99, 99, 103, 101, - 32767,32767,32767,32767, 223,32767, 99,32767, 101, 101, - 32767,32767, 223, 225, 212, 101, 227,32767, 567, 568, - 223, 101, 227, 227, 227, 247, 247, 489, 318, 101, - 99, 101, 101, 197, 318, 318,32767, 101, 489, 318, - 489, 318, 199, 318, 318, 318, 489, 318,32767, 101, - 318, 214, 99, 99, 318,32767,32767,32767, 502,32767, - 32767,32767,32767,32767,32767,32767, 222,32767,32767,32767, - 32767,32767,32767,32767,32767, 533,32767, 551, 565, 433, - 434, 436, 550, 548, 458, 459, 460, 461, 462, 463, - 464, 466, 597,32767, 506,32767,32767,32767, 338,32767, - 607,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 608,32767, - 546,32767,32767,32767,32767, 432, 9, 74, 495, 42, - 43, 51, 57, 523, 524, 525, 526, 520, 521, 527, - 522,32767,32767, 528, 573,32767,32767, 547, 600,32767, - 32767,32767,32767,32767,32767, 138,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 533,32767, 136, - 32767,32767,32767,32767,32767,32767,32767,32767, 529,32767, - 32767,32767, 546,32767,32767,32767,32767, 314, 311,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 546,32767,32767,32767,32767, - 32767, 291,32767, 308,32767,32767,32767,32767,32767,32767, + 32767,32767, 516, 451, 138,32767, 518, 138, 561, 443, + 444, 445, 561, 561, 561, 315, 292,32767,32767,32767, + 32767, 531, 531, 100, 100, 100, 100,32767,32767,32767, + 32767, 111, 502, 99, 99, 99, 99, 99, 103, 101, + 32767,32767,32767,32767, 223,32767, 101, 99,32767, 101, + 101,32767,32767, 223, 225, 212, 227,32767, 582, 583, + 223, 101, 227, 227, 227, 247, 247, 505, 321, 101, + 99, 101, 101, 197, 321, 321,32767, 101, 505, 321, + 505, 321, 199, 321, 321, 321, 505, 321,32767, 101, + 321, 214, 391, 99, 99, 321,32767,32767,32767, 518, + 32767,32767,32767,32767,32767,32767,32767, 222,32767,32767, + 32767,32767,32767,32767,32767,32767, 548,32767, 566, 580, + 449, 450, 452, 565, 563, 474, 475, 476, 477, 478, + 479, 480, 482, 612,32767, 522,32767,32767,32767, 341, + 32767, 622,32767,32767,32767, 9, 74, 511, 42, 43, + 51, 57, 537, 538, 539, 540, 534, 535, 541, 536, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 286,32767,32767, 381, 502, 294, 296, 297,32767,32767, - 32767,32767, 360,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 152, 152, 3, 3, 341, 152, - 152, 152, 341, 341, 152, 341, 341, 341, 152, 152, - 152, 152, 152, 152, 280, 185, 262, 265, 247, 247, - 152, 352, 152 + 32767,32767,32767,32767,32767, 623,32767, 561,32767,32767, + 32767,32767, 448, 543, 588,32767,32767, 562, 615,32767, + 32767,32767,32767,32767,32767,32767, 138,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 548,32767, 136, + 32767,32767,32767,32767,32767,32767,32767,32767, 544,32767, + 32767,32767, 561,32767,32767,32767,32767, 317, 314,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 561,32767,32767,32767,32767, + 32767, 294,32767, 311,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 387, 518, 297, 299, 300,32767,32767,32767, + 32767, 363,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 152, 152, 3, 3, 344, 152, 152, + 152, 344, 344, 152, 344, 344, 344, 152, 152, 152, + 152, 152, 152, 280, 185, 262, 265, 247, 247, 152, + 355, 152 ); protected array $goto = array( - 196, 196, 1038, 1069, 701, 353, 433, 665, 856, 710, - 427, 321, 315, 316, 337, 580, 432, 338, 434, 642, - 658, 659, 857, 676, 677, 678, 979, 167, 167, 167, - 167, 221, 197, 193, 193, 177, 179, 216, 193, 193, - 193, 193, 193, 194, 194, 194, 194, 194, 194, 188, - 189, 190, 191, 192, 218, 216, 219, 539, 540, 423, - 541, 544, 545, 546, 547, 548, 549, 550, 551, 1140, - 168, 169, 170, 195, 171, 172, 173, 166, 174, 175, - 176, 178, 215, 217, 220, 238, 243, 244, 255, 257, - 258, 259, 260, 261, 262, 263, 264, 269, 270, 271, - 272, 282, 283, 318, 319, 320, 428, 429, 430, 585, + 196, 196, 1040, 1071, 700, 465, 587, 470, 470, 855, + 736, 641, 643, 1204, 856, 663, 470, 830, 709, 687, + 690, 1013, 698, 707, 1009, 625, 662, 166, 166, 166, + 166, 220, 197, 193, 193, 176, 178, 215, 193, 193, + 193, 193, 193, 194, 194, 194, 194, 194, 188, 189, + 190, 191, 192, 217, 215, 218, 540, 541, 423, 542, + 545, 546, 547, 548, 549, 550, 551, 552, 1155, 167, + 168, 169, 195, 170, 171, 172, 165, 173, 174, 175, + 177, 214, 216, 219, 239, 242, 253, 254, 256, 257, + 258, 259, 260, 261, 262, 263, 269, 270, 271, 272, + 281, 282, 317, 318, 319, 429, 430, 431, 602, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 180, 237, 181, 198, 199, - 200, 239, 188, 189, 190, 191, 192, 218, 1140, 201, - 182, 183, 184, 202, 198, 185, 240, 203, 201, 165, - 204, 205, 186, 206, 207, 208, 187, 209, 210, 211, - 212, 213, 214, 859, 421, 1041, 1041, 625, 662, 685, - 956, 251, 251, 1033, 1049, 1050, 279, 279, 279, 279, - 344, 831, 852, 627, 627, 890, 604, 1276, 1276, 1276, - 1276, 1276, 1276, 1276, 1276, 1276, 1276, 351, 249, 249, - 249, 249, 246, 252, 345, 344, 577, 864, 460, 913, - 908, 909, 922, 865, 910, 862, 911, 912, 863, 469, - 469, 916, 897, 855, 897, 897, 357, 917, 469, 918, - 1336, 1091, 1086, 1087, 1088, 852, 357, 357, 613, 628, - 631, 632, 633, 634, 655, 656, 657, 712, 396, 698, - 357, 357, 833, 1000, 357, 441, 1363, 354, 355, 872, - 1244, 698, 1244, 1244, 426, 698, 615, 558, 1038, 1038, - 1244, 357, 357, 1038, 884, 1038, 1038, 871, 575, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1328, 1328, 1328, 1328, 1137, 1244, 356, 356, 356, 356, - 1244, 1244, 1244, 1244, 1111, 1112, 1244, 1244, 1244, 1220, - 948, 563, 556, 1221, 1224, 949, 1225, 1062, 554, 1307, - 554, 554, 482, 603, 1104, 930, 713, 465, 554, 931, - 484, 5, 946, 6, 1189, 946, 511, 704, 664, 1102, - 690, 343, 556, 563, 572, 573, 346, 583, 606, 620, - 621, 1044, 1043, 458, 852, 1047, 1048, 22, 973, 973, - 973, 973, 327, 310, 458, 967, 974, 1295, 1295, 440, - 558, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, - 1295, 1292, 1292, 837, 686, 1292, 1292, 1292, 1292, 1292, - 1292, 1292, 1292, 1292, 1292, 543, 543, 1323, 1324, 543, - 543, 543, 543, 543, 543, 543, 543, 543, 543, 542, - 542, 254, 254, 542, 670, 542, 542, 542, 542, 542, - 542, 542, 542, 339, 837, 962, 837, 557, 567, 581, - 618, 557, 849, 567, 877, 1237, 399, 464, 451, 451, - 451, 451, 405, 1318, 619, 1318, 1318, 1239, 874, 472, - 584, 473, 474, 1318, 1235, 1075, 882, 570, 1022, 1354, - 1355, 737, 641, 643, 740, 1079, 663, 479, 1321, 1322, - 687, 691, 1014, 699, 708, 1010, 503, 886, 504, 1330, - 1330, 1330, 1330, 1122, 510, 880, 984, 410, 411, 0, - 1346, 1346, 674, 1261, 675, 0, 414, 415, 416, 0, - 688, 1240, 1241, 417, 0, 0, 1314, 349, 1346, 0, - 847, 885, 873, 1074, 1078, 552, 552, 552, 552, 0, - 608, 0, 0, 982, 0, 1349, 1349, 0, 0, 1242, - 1304, 1305, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 935, 1127, 451, 0, 972, 1077, 0, - 623, 0, 1316, 1316, 1077, 0, 1019, 0, 326, 276, - 326, 326, 0, 0, 876, 0, 668, 998, 435, 1120, - 889, 0, 870, 435, 398, 401, 564, 605, 609, 0, - 1003, 1045, 1045, 975, 1234, 736, 669, 1056, 1052, 1053, - 971, 412, 709, 555, 1012, 1007, 635, 637, 639, 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, 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, 1017, 1017 + 232, 233, 234, 235, 179, 236, 180, 188, 189, 190, + 191, 192, 217, 1155, 198, 199, 200, 201, 240, 181, + 182, 202, 183, 203, 199, 184, 241, 198, 164, 204, + 205, 185, 206, 207, 208, 186, 209, 210, 187, 211, + 212, 213, 278, 278, 278, 278, 858, 433, 665, 978, + 916, 604, 917, 428, 320, 314, 315, 336, 597, 432, + 337, 434, 642, 627, 627, 896, 854, 896, 896, 1290, + 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 427, + 851, 616, 553, 553, 553, 553, 352, 608, 564, 557, + 871, 421, 912, 907, 908, 921, 864, 909, 861, 910, + 911, 862, 1002, 915, 868, 974, 883, 735, 867, 870, + 556, 1011, 1006, 1360, 1360, 1093, 1088, 1089, 1090, 342, + 557, 564, 589, 590, 347, 600, 606, 889, 621, 622, + 836, 1360, 594, 851, 658, 659, 25, 676, 677, 678, + 1259, 1040, 1259, 1259, 397, 400, 605, 609, 1363, 1363, + 1040, 1259, 1040, 697, 1040, 1040, 460, 832, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 697, + 350, 836, 697, 836, 1259, 355, 355, 355, 355, 1259, + 1259, 1259, 1259, 1113, 1114, 1259, 1259, 1259, 1342, 1342, + 1342, 1342, 884, 872, 1076, 1080, 343, 5, 503, 6, + 504, 356, 1350, 442, 929, 981, 510, 395, 930, 249, + 249, 356, 356, 479, 1335, 1336, 555, 999, 555, 555, + 344, 343, 970, 412, 708, 356, 356, 555, 971, 356, + 945, 1377, 635, 637, 639, 945, 247, 247, 247, 247, + 244, 250, 559, 1046, 1045, 592, 356, 356, 1049, 1050, + 458, 1125, 888, 851, 664, 972, 972, 972, 972, 1309, + 1309, 458, 966, 973, 1152, 1309, 1309, 1309, 1309, 1309, + 1309, 1309, 1309, 1309, 1309, 1306, 1306, 326, 309, 1337, + 1338, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, + 1306, 1016, 1016, 598, 619, 1321, 1064, 610, 603, 1106, + 934, 1142, 440, 451, 451, 670, 451, 451, 1332, 712, + 1332, 1332, 1018, 686, 511, 703, 512, 1104, 482, 1332, + 875, 338, 668, 997, 876, 484, 558, 584, 869, 848, + 404, 558, 961, 584, 873, 398, 464, 353, 354, 1250, + 1249, 1021, 620, 1344, 1344, 1344, 1344, 559, 473, 601, + 474, 475, 1077, 1043, 1043, 739, 881, 685, 955, 1368, + 1369, 1035, 1051, 1052, 480, 544, 544, 885, 983, 1081, + 1328, 544, 544, 544, 544, 544, 544, 544, 544, 544, + 544, 543, 543, 1127, 879, 1031, 0, 543, 0, 543, + 543, 543, 543, 543, 543, 543, 543, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 1254, 0, + 451, 1252, 1079, 0, 409, 410, 1330, 1330, 1079, 674, + 0, 675, 0, 414, 415, 416, 0, 688, 0, 0, + 417, 0, 0, 0, 0, 348, 273, 325, 0, 325, + 325, 0, 0, 0, 0, 252, 252, 614, 628, 631, + 632, 633, 634, 655, 656, 657, 711, 435, 0, 0, + 0, 0, 0, 1255, 1256, 0, 1242, 0, 435, 0, + 0, 0, 846, 0, 0, 0, 1047, 1047, 0, 1242, + 0, 669, 1058, 1054, 1055, 0, 0, 0, 0, 1235, + 947, 1257, 1318, 1319, 1236, 1239, 948, 1240 ); protected array $gotoCheck = array( - 42, 42, 73, 127, 73, 97, 66, 66, 26, 9, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 86, 86, 27, 86, 86, 86, 49, 42, 42, 42, + 42, 42, 73, 128, 73, 156, 48, 154, 154, 26, + 48, 48, 48, 156, 27, 48, 154, 6, 9, 48, + 48, 48, 48, 48, 48, 56, 56, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -937,107 +938,98 @@ class Php7 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 15, 43, 89, 89, 56, 56, 89, - 89, 5, 5, 89, 89, 89, 23, 23, 23, 23, - 170, 6, 22, 108, 108, 45, 130, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 181, 5, 5, - 5, 5, 5, 5, 170, 170, 174, 15, 83, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 149, - 149, 15, 25, 25, 25, 25, 14, 65, 149, 65, - 183, 15, 15, 15, 15, 22, 14, 14, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 62, 7, - 14, 14, 7, 103, 14, 83, 14, 97, 97, 35, - 73, 7, 73, 73, 13, 7, 13, 14, 73, 73, - 73, 14, 14, 73, 35, 73, 73, 35, 104, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 9, 9, 9, 9, 150, 73, 24, 24, 24, 24, - 73, 73, 73, 73, 144, 144, 73, 73, 73, 79, - 79, 76, 76, 79, 79, 79, 79, 114, 19, 14, - 19, 19, 84, 8, 8, 73, 8, 151, 19, 73, - 84, 46, 9, 46, 151, 9, 8, 8, 64, 8, - 14, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 118, 118, 19, 22, 119, 119, 76, 19, 19, - 19, 19, 171, 171, 19, 19, 19, 172, 172, 113, - 14, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 173, 173, 12, 116, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 175, 175, 180, 180, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 158, - 158, 5, 5, 158, 120, 158, 158, 158, 158, 158, - 158, 158, 158, 29, 12, 92, 12, 9, 9, 2, - 2, 9, 18, 9, 39, 14, 9, 9, 23, 23, - 23, 23, 28, 130, 80, 130, 130, 20, 37, 9, - 9, 9, 9, 130, 162, 129, 9, 48, 110, 9, - 9, 48, 48, 48, 99, 132, 48, 178, 178, 178, - 48, 48, 48, 48, 48, 48, 155, 41, 155, 130, - 130, 130, 130, 147, 155, 9, 96, 82, 82, -1, - 184, 184, 82, 20, 82, -1, 82, 82, 82, -1, - 82, 20, 20, 82, -1, -1, 130, 82, 184, -1, - 20, 16, 16, 16, 16, 107, 107, 107, 107, -1, - 107, -1, -1, 16, -1, 184, 184, -1, -1, 20, - 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 17, 17, 23, -1, 16, 130, -1, - 17, -1, 130, 130, 130, -1, 17, -1, 24, 24, - 24, 24, -1, -1, 17, -1, 17, 17, 117, 16, - 16, -1, 17, 117, 59, 59, 59, 59, 59, -1, - 50, 117, 117, 50, 17, 50, 117, 117, 117, 117, - 93, 93, 93, 50, 50, 50, 85, 85, 85, -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, -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, 107, 107 + 42, 42, 23, 23, 23, 23, 15, 66, 66, 49, + 65, 131, 65, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 108, 108, 25, 25, 25, 25, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 13, + 22, 13, 107, 107, 107, 107, 97, 107, 76, 76, + 35, 43, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 50, 15, 15, 50, 35, 50, 15, 35, + 50, 50, 50, 188, 188, 15, 15, 15, 15, 76, + 76, 76, 76, 76, 76, 76, 76, 45, 76, 76, + 12, 188, 178, 22, 86, 86, 76, 86, 86, 86, + 73, 73, 73, 73, 59, 59, 59, 59, 188, 188, + 73, 73, 73, 7, 73, 73, 83, 7, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 7, + 185, 12, 7, 12, 73, 24, 24, 24, 24, 73, + 73, 73, 73, 145, 145, 73, 73, 73, 9, 9, + 9, 9, 16, 16, 16, 16, 174, 46, 160, 46, + 160, 14, 187, 83, 73, 16, 160, 62, 73, 5, + 5, 14, 14, 182, 182, 182, 19, 103, 19, 19, + 174, 174, 93, 93, 93, 14, 14, 19, 16, 14, + 9, 14, 85, 85, 85, 9, 5, 5, 5, 5, + 5, 5, 14, 119, 119, 104, 14, 14, 120, 120, + 19, 16, 16, 22, 64, 19, 19, 19, 19, 176, + 176, 19, 19, 19, 155, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 177, 177, 175, 175, 184, + 184, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 107, 107, 2, 2, 14, 115, 17, 8, 8, + 17, 17, 113, 23, 23, 121, 23, 23, 131, 8, + 131, 131, 17, 117, 8, 8, 14, 8, 84, 131, + 17, 29, 17, 17, 39, 84, 9, 9, 17, 18, + 28, 9, 92, 9, 37, 9, 9, 97, 97, 166, + 17, 110, 80, 131, 131, 131, 131, 14, 9, 9, + 9, 9, 130, 89, 89, 99, 9, 89, 89, 9, + 9, 89, 89, 89, 157, 179, 179, 41, 96, 133, + 131, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 162, 162, 148, 9, 114, -1, 162, -1, 162, + 162, 162, 162, 162, 162, 162, 162, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 20, -1, + 23, 14, 131, -1, 82, 82, 131, 131, 131, 82, + -1, 82, -1, 82, 82, 82, -1, 82, -1, -1, + 82, -1, -1, -1, -1, 82, 24, 24, -1, 24, + 24, -1, -1, -1, -1, 5, 5, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 118, -1, -1, + -1, -1, -1, 20, 20, -1, 20, -1, 118, -1, + -1, -1, 20, -1, -1, -1, 118, 118, -1, 20, + -1, 118, 118, 118, 118, -1, -1, -1, -1, 79, + 79, 20, 20, 20, 79, 79, 79, 79 ); protected array $gotoBase = array( - 0, 0, -287, 0, 0, 170, 161, 242, 315, -11, - 0, 0, 85, -75, -73, -187, 57, 75, 121, 53, - 52, 0, -97, 173, 293, 219, 4, 18, 103, 125, - 0, 0, 0, 0, 0, -114, 0, 107, 0, 109, - 0, 35, -1, 145, 0, 162, -409, 0, -258, 8, - 568, 0, 0, 0, 0, 0, 127, 0, 0, 529, - 0, 0, 206, 0, 96, 213, -235, 0, 0, 0, - 0, 0, 0, -5, 0, 0, -36, 0, 0, -101, - 98, -122, -7, -71, -150, 114, -702, 0, 0, -115, - 0, 0, 94, 284, 0, 0, 42, -481, 0, 55, - 0, 0, 0, 218, 235, 0, 0, 487, -58, 0, - 86, 0, 0, 91, 43, 0, 100, 295, 71, 69, - 123, 0, 0, 0, 0, 0, 0, 1, 0, 79, - 178, 0, 22, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 38, 0, 185, - 48, 59, 0, 0, 0, -22, 0, 0, 168, 0, - 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, - -119, 39, 126, 140, 177, 154, 0, 0, 165, 0, - 23, 167, 0, 199, 181, 0, 0 + 0, 0, -302, 0, 0, 328, 7, 266, 410, 8, + 0, 0, -47, -139, 23, -183, -142, -49, 139, 71, + 134, 0, -78, 159, 292, 182, 5, 10, 112, 144, + 0, 0, 0, 0, 0, -162, 0, 114, 0, 120, + 0, 44, -1, 188, 0, 221, -422, 0, -708, 151, + 210, 0, 0, 0, 0, 0, -15, 0, 0, 219, + 0, 0, 285, 0, 136, 156, -70, 0, 0, 0, + 0, 0, 0, -5, 0, 0, -137, 0, 0, 200, + 115, 208, 40, -2, -35, -130, -467, 0, 0, 194, + 0, 0, 122, 37, 0, 0, 43, -280, 0, 67, + 0, 0, 0, 302, 322, 0, 0, 174, -54, 0, + 90, 0, 0, 145, -7, 141, 0, 150, 311, 84, + 83, 135, 0, 0, 0, 0, 0, 0, 1, 0, + 97, 163, 0, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 0, 0, 57, 0, + 0, 0, 0, 0, -27, 140, -263, 42, 0, 0, + -180, 0, 264, 0, 0, 0, 89, 0, 0, 0, + 0, 0, 0, 0, 18, 75, 142, 158, 223, 248, + 0, 0, 32, 0, 26, 260, 0, 291, -75, 0, + 0 ); protected array $gotoDefault = array( - -32768, 515, 744, 4, 745, 939, 820, 829, 601, 533, - 711, 350, 629, 424, 1312, 915, 1126, 582, 848, 1253, - 1227, 459, 851, 332, 734, 927, 898, 899, 402, 388, - 394, 400, 653, 630, 497, 883, 455, 875, 489, 878, - 454, 887, 164, 420, 513, 891, 3, 894, 561, 925, - 977, 389, 902, 390, 681, 904, 566, 906, 907, 397, - 403, 404, 1131, 574, 626, 919, 256, 568, 920, 387, - 921, 929, 392, 395, 692, 468, 508, 502, 413, 1106, - 569, 612, 650, 448, 476, 624, 636, 622, 483, 436, - 418, 331, 961, 969, 490, 466, 983, 352, 991, 742, - 1139, 644, 492, 999, 645, 1006, 1009, 534, 535, 481, - 1021, 273, 1024, 493, 19, 671, 1035, 1036, 672, 646, - 1058, 647, 673, 648, 1060, 475, 602, 1068, 456, 1076, - 1300, 457, 1080, 266, 1083, 278, 419, 437, 1089, 1090, - 9, 1096, 702, 703, 11, 277, 512, 1121, 693, 453, - 1138, 452, 1208, 1210, 562, 494, 1228, 480, 295, 1231, - 684, 509, 1236, 449, 1303, 450, 536, 477, 317, 537, - 1347, 309, 335, 314, 553, 296, 336, 538, 478, 1309, - 1317, 333, 31, 1337, 1348, 579, 617 + -32768, 516, 743, 4, 744, 938, 819, 828, 580, 534, + 710, 349, 629, 424, 1326, 914, 1141, 599, 847, 1268, + 1274, 459, 850, 331, 733, 926, 897, 898, 401, 388, + 863, 399, 653, 630, 497, 882, 455, 874, 489, 877, + 454, 886, 163, 420, 514, 890, 3, 893, 562, 924, + 976, 389, 901, 390, 681, 903, 583, 905, 906, 396, + 402, 403, 1146, 591, 626, 918, 255, 585, 919, 387, + 920, 928, 392, 394, 691, 469, 508, 502, 413, 1108, + 586, 613, 650, 448, 476, 624, 636, 623, 483, 436, + 418, 330, 960, 968, 490, 467, 982, 351, 990, 741, + 1154, 644, 492, 998, 645, 1005, 1008, 535, 536, 481, + 1020, 266, 1023, 493, 1032, 23, 671, 1037, 1038, 672, + 646, 1060, 647, 673, 648, 1062, 466, 581, 1070, 456, + 1078, 1314, 457, 1082, 264, 1085, 277, 419, 437, 1091, + 1092, 9, 1098, 701, 702, 19, 274, 513, 1126, 692, + -32768,-32768,-32768,-32768, 453, 1153, 452, 1223, 1225, 563, + 494, 1243, 294, 1246, 684, 509, 1251, 449, 1317, 450, + 537, 477, 316, 538, 1361, 308, 334, 313, 554, 295, + 335, 539, 478, 1323, 1331, 332, 31, 1351, 1362, 596, + 618 ); protected array $ruleToNonTerminal = array( @@ -1069,17 +1061,19 @@ class Php7 extends \PhpParser\ParserAbstract 98, 99, 99, 100, 101, 101, 102, 102, 103, 103, 55, 55, 51, 51, 105, 53, 53, 106, 52, 52, 54, 54, 64, 64, 64, 64, 81, 81, 109, 109, - 111, 111, 112, 112, 112, 112, 110, 110, 110, 114, - 114, 114, 114, 89, 89, 117, 117, 117, 118, 118, - 115, 115, 119, 119, 121, 121, 122, 122, 116, 123, - 123, 120, 124, 124, 124, 124, 113, 113, 82, 82, - 82, 20, 20, 20, 126, 125, 125, 127, 127, 127, - 127, 60, 128, 128, 129, 61, 131, 131, 132, 132, - 133, 133, 86, 134, 134, 134, 134, 134, 134, 134, - 139, 139, 140, 140, 141, 141, 141, 141, 141, 142, - 143, 143, 138, 138, 135, 135, 137, 137, 145, 145, - 144, 144, 144, 144, 144, 144, 144, 136, 146, 146, - 148, 147, 147, 62, 104, 149, 149, 56, 56, 42, + 111, 111, 112, 112, 112, 112, 112, 112, 112, 110, + 110, 110, 115, 115, 115, 115, 89, 89, 118, 118, + 118, 119, 119, 116, 116, 120, 120, 122, 122, 123, + 123, 117, 124, 124, 121, 125, 125, 125, 125, 113, + 113, 82, 82, 82, 20, 20, 20, 127, 126, 126, + 128, 128, 128, 128, 60, 129, 129, 130, 61, 132, + 132, 133, 133, 134, 134, 86, 135, 135, 135, 135, + 135, 135, 135, 140, 140, 141, 141, 142, 142, 142, + 142, 142, 143, 144, 144, 139, 139, 136, 136, 138, + 138, 146, 146, 145, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 137, 147, 147, 149, 148, 148, 150, + 150, 114, 151, 151, 153, 153, 153, 152, 152, 62, + 104, 154, 154, 56, 56, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -1088,22 +1082,21 @@ class Php7 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 156, 158, 158, 159, 150, 150, 155, - 155, 160, 161, 161, 162, 163, 164, 164, 164, 164, - 19, 19, 73, 73, 73, 73, 151, 151, 151, 151, - 166, 166, 152, 152, 154, 154, 154, 157, 157, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, - 173, 108, 175, 175, 175, 175, 153, 153, 153, 153, - 153, 153, 153, 153, 59, 59, 169, 169, 169, 169, - 169, 176, 176, 165, 165, 165, 165, 177, 177, 177, - 177, 177, 177, 74, 74, 66, 66, 66, 66, 130, - 130, 130, 130, 180, 179, 168, 168, 168, 168, 168, - 168, 168, 167, 167, 167, 178, 178, 178, 178, 107, - 174, 182, 182, 181, 181, 183, 183, 183, 183, 183, - 183, 183, 183, 171, 171, 171, 171, 170, 185, 184, - 184, 184, 184, 184, 184, 184, 184, 186, 186, 186, - 186 + 42, 42, 42, 42, 42, 42, 42, 42, 42, 161, + 162, 162, 163, 155, 155, 160, 160, 164, 165, 165, + 166, 167, 168, 168, 168, 168, 19, 19, 73, 73, + 73, 73, 156, 156, 156, 156, 170, 170, 159, 159, + 159, 157, 157, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 177, 177, 177, 108, 179, 179, 179, + 179, 158, 158, 158, 158, 158, 158, 158, 158, 59, + 59, 173, 173, 173, 173, 173, 180, 180, 169, 169, + 169, 169, 181, 181, 181, 181, 181, 181, 74, 74, + 66, 66, 66, 66, 131, 131, 131, 131, 184, 183, + 172, 172, 172, 172, 172, 172, 172, 171, 171, 171, + 182, 182, 182, 182, 107, 178, 186, 186, 185, 185, + 187, 187, 187, 187, 187, 187, 187, 187, 175, 175, + 175, 175, 174, 189, 188, 188, 188, 188, 188, 188, + 188, 188, 190, 190, 190, 190 ); protected array $ruleToLength = array( @@ -1119,7 +1112,7 @@ class Php7 extends \PhpParser\ParserAbstract 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 2, 1, 3, 4, 1, 2, 0, 1, 1, 1, 1, 4, 3, 5, 4, 3, - 4, 2, 3, 1, 1, 7, 6, 2, 3, 1, + 4, 1, 3, 1, 1, 8, 7, 2, 3, 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, @@ -1135,41 +1128,42 @@ class Php7 extends \PhpParser\ParserAbstract 3, 1, 1, 7, 0, 2, 1, 3, 3, 4, 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, - 0, 2, 1, 1, 1, 1, 6, 8, 6, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, - 3, 1, 1, 2, 1, 1, 0, 1, 0, 2, - 2, 2, 4, 3, 1, 1, 3, 1, 2, 2, - 3, 2, 3, 1, 1, 2, 3, 1, 1, 3, - 2, 0, 1, 5, 5, 6, 10, 3, 5, 1, - 1, 3, 0, 2, 4, 5, 4, 4, 4, 3, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 2, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, - 1, 1, 3, 2, 2, 3, 1, 0, 1, 1, - 3, 3, 3, 4, 4, 1, 1, 2, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, - 3, 4, 4, 2, 2, 4, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 3, 2, - 1, 2, 4, 2, 2, 8, 9, 8, 9, 9, - 10, 9, 10, 8, 3, 2, 2, 1, 1, 0, - 4, 2, 1, 3, 2, 1, 2, 2, 2, 4, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 0, 3, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, - 3, 3, 4, 1, 1, 3, 1, 1, 1, 1, - 1, 3, 2, 3, 0, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 3, 1, 1, 1, 4, 4, - 1, 4, 4, 0, 1, 1, 1, 3, 3, 1, - 4, 2, 2, 1, 3, 1, 4, 4, 3, 3, - 3, 3, 1, 3, 1, 1, 3, 1, 1, 4, - 1, 1, 1, 3, 1, 1, 2, 1, 3, 4, - 3, 2, 0, 2, 2, 1, 2, 1, 1, 1, - 4, 3, 3, 3, 3, 6, 3, 1, 1, 2, - 1 + 0, 2, 1, 1, 1, 1, 1, 1, 1, 7, + 9, 6, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 1, 3, 3, 3, 3, + 3, 1, 3, 3, 1, 1, 2, 1, 1, 0, + 1, 0, 2, 2, 2, 4, 3, 1, 1, 3, + 1, 2, 2, 3, 2, 3, 1, 1, 2, 3, + 1, 1, 3, 2, 0, 1, 5, 5, 6, 10, + 3, 5, 1, 1, 3, 0, 2, 4, 5, 4, + 4, 4, 3, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 1, 3, 1, 1, 3, 0, + 2, 0, 5, 8, 1, 3, 3, 0, 2, 2, + 2, 3, 1, 0, 1, 1, 3, 3, 3, 4, + 4, 1, 1, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 5, 4, 3, 4, 4, 2, + 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 3, 2, 1, 2, 4, 2, + 2, 8, 9, 8, 9, 9, 10, 9, 10, 8, + 3, 2, 2, 1, 1, 0, 4, 2, 1, 3, + 2, 1, 2, 2, 2, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 1, 1, 0, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 5, 3, 3, 4, 1, 1, + 3, 1, 1, 1, 1, 1, 3, 2, 3, 0, + 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, + 1, 1, 1, 4, 4, 1, 4, 4, 0, 1, + 1, 1, 3, 3, 1, 4, 2, 2, 1, 3, + 1, 4, 4, 3, 3, 3, 3, 1, 3, 1, + 1, 3, 1, 1, 4, 1, 1, 1, 3, 1, + 1, 2, 1, 3, 4, 3, 2, 0, 2, 2, + 1, 2, 1, 1, 1, 4, 3, 3, 3, 3, + 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks(): void { @@ -1381,10 +1375,10 @@ class Php7 extends \PhpParser\ParserAbstract $self->semValue = Stmt\Use_::TYPE_CONSTANT; }, 125 => static function ($self, $stackPos) { - $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, 126 => static function ($self, $stackPos) { - $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, 127 => null, 128 => static function ($self, $stackPos) { @@ -1827,68 +1821,68 @@ class Php7 extends \PhpParser\ParserAbstract $self->semValue = Modifiers::PRIVATE; }, 285 => static function ($self, $stackPos) { - $self->semValue = Modifiers::READONLY; + $self->semValue = Modifiers::PUBLIC_SET; }, 286 => static function ($self, $stackPos) { - $self->semValue = new Node\Param($self->semStack[$stackPos-(6-6)], null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); - $self->checkParam($self->semValue); + $self->semValue = Modifiers::PROTECTED_SET; }, 287 => static function ($self, $stackPos) { - $self->semValue = new Node\Param($self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-8)], $self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(8-2)], $self->semStack[$stackPos-(8-1)]); - $self->checkParam($self->semValue); + $self->semValue = Modifiers::PRIVATE_SET; }, 288 => static function ($self, $stackPos) { - $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); + $self->semValue = Modifiers::READONLY; + }, + 289 => static function ($self, $stackPos) { + $self->semValue = new Node\Param($self->semStack[$stackPos-(7-6)], null, $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-4)], $self->semStack[$stackPos-(7-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-7)]); + $self->checkParam($self->semValue); }, - 289 => null, 290 => static function ($self, $stackPos) { - $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\Param($self->semStack[$stackPos-(9-6)], $self->semStack[$stackPos-(9-8)], $self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-4)], $self->semStack[$stackPos-(9-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(9-2)], $self->semStack[$stackPos-(9-1)], $self->semStack[$stackPos-(9-9)]); + $self->checkParam($self->semValue); }, 291 => static function ($self, $stackPos) { - $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); }, 292 => null, - 293 => null, + 293 => static function ($self, $stackPos) { + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, 294 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 295 => null, + 296 => null, + 297 => static function ($self, $stackPos) { $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 295 => static function ($self, $stackPos) { + 298 => static function ($self, $stackPos) { $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); }, - 296 => static function ($self, $stackPos) { + 299 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 297 => static function ($self, $stackPos) { + 300 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 298 => null, - 299 => static function ($self, $stackPos) { + 301 => null, + 302 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 300 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); - }, - 301 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 302 => null, 303 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 304 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); - }, - 305 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, + 305 => null, 306 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 307 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 308 => static function ($self, $stackPos) { - $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 309 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); @@ -1899,845 +1893,889 @@ class Php7 extends \PhpParser\ParserAbstract 311 => static function ($self, $stackPos) { $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 312 => null, + 312 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + }, 313 => static function ($self, $stackPos) { - $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 314 => static function ($self, $stackPos) { - $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 315 => null, 316 => static function ($self, $stackPos) { - $self->semValue = null; + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 317 => null, - 318 => static function ($self, $stackPos) { - $self->semValue = null; + 317 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 318 => null, 319 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(2-2)]; - }, - 320 => static function ($self, $stackPos) { $self->semValue = null; }, + 320 => null, 321 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = null; }, 322 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(4-2)]; + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, 323 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-2)]); + $self->semValue = null; }, 324 => static function ($self, $stackPos) { - $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 325 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 326 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 327 => static function ($self, $stackPos) { - $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 328 => static function ($self, $stackPos) { - $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 329 => static function ($self, $stackPos) { - $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 330 => static function ($self, $stackPos) { - $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); - }, - 331 => null, - 332 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 333 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 334 => null, - 335 => null, - 336 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 337 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 338 => static function ($self, $stackPos) { - $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 339 => static function ($self, $stackPos) { - $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 340 => static function ($self, $stackPos) { - if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } - }, - 341 => static function ($self, $stackPos) { $self->semValue = array(); }, + 325 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; + }, + 326 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-2)]); + }, + 327 => static function ($self, $stackPos) { + $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 328 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 329 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 330 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 331 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 332 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 333 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); + }, + 334 => null, + 335 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 336 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 337 => null, + 338 => null, + 339 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 340 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 341 => static function ($self, $stackPos) { + $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, 342 => static function ($self, $stackPos) { + $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 343 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } + }, + 344 => static function ($self, $stackPos) { + $self->semValue = array(); + }, + 345 => static function ($self, $stackPos) { $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 343 => static function ($self, $stackPos) { + 346 => static function ($self, $stackPos) { $self->semValue = new Stmt\Property($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-1)]); - $self->checkProperty($self->semValue, $stackPos-(5-2)); }, - 344 => static function ($self, $stackPos) { + 347 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-1)]); $self->checkClassConst($self->semValue, $stackPos-(5-2)); }, - 345 => static function ($self, $stackPos) { + 348 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-1)], $self->semStack[$stackPos-(6-4)]); $self->checkClassConst($self->semValue, $stackPos-(6-2)); }, - 346 => static function ($self, $stackPos) { + 349 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos-(10-5)], ['type' => $self->semStack[$stackPos-(10-2)], 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-7)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); $self->checkClassMethod($self->semValue, $stackPos-(10-2)); }, - 347 => static function ($self, $stackPos) { + 350 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 348 => static function ($self, $stackPos) { + 351 => static function ($self, $stackPos) { $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 349 => static function ($self, $stackPos) { + 352 => static function ($self, $stackPos) { $self->semValue = null; /* will be skipped */ }, - 350 => static function ($self, $stackPos) { - $self->semValue = array(); - }, - 351 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 352 => static function ($self, $stackPos) { - $self->semValue = array(); - }, 353 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; + $self->semValue = array(); }, 354 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 355 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = array(); }, 356 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 357 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 358 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, 359 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 360 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 360 => null, 361 => static function ($self, $stackPos) { - $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 362 => static function ($self, $stackPos) { - $self->semValue = null; + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 363 => null, - 364 => null, + 364 => static function ($self, $stackPos) { + $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); + }, 365 => static function ($self, $stackPos) { - $self->semValue = 0; - }, - 366 => static function ($self, $stackPos) { - $self->semValue = 0; + $self->semValue = null; }, + 366 => null, 367 => null, - 368 => null, + 368 => static function ($self, $stackPos) { + $self->semValue = 0; + }, 369 => static function ($self, $stackPos) { + $self->semValue = 0; + }, + 370 => null, + 371 => null, + 372 => static function ($self, $stackPos) { $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 370 => static function ($self, $stackPos) { + 373 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC; }, - 371 => static function ($self, $stackPos) { + 374 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED; }, - 372 => static function ($self, $stackPos) { + 375 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE; }, - 373 => static function ($self, $stackPos) { - $self->semValue = Modifiers::STATIC; - }, - 374 => static function ($self, $stackPos) { - $self->semValue = Modifiers::ABSTRACT; - }, - 375 => static function ($self, $stackPos) { - $self->semValue = Modifiers::FINAL; - }, 376 => static function ($self, $stackPos) { - $self->semValue = Modifiers::READONLY; + $self->semValue = Modifiers::PUBLIC_SET; + }, + 377 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED_SET; }, - 377 => null, 378 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); + $self->semValue = Modifiers::PRIVATE_SET; }, 379 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = Modifiers::STATIC; }, 380 => static function ($self, $stackPos) { - $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = Modifiers::ABSTRACT; }, 381 => static function ($self, $stackPos) { - $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = Modifiers::FINAL; }, 382 => static function ($self, $stackPos) { - $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = Modifiers::READONLY; }, 383 => null, - 384 => null, + 384 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, 385 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 386 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); + $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 387 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 388 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 389 => static function ($self, $stackPos) { + $self->semValue = []; }, - 388 => null, - 389 => null, 390 => static function ($self, $stackPos) { - $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 391 => static function ($self, $stackPos) { - $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = []; }, 392 => static function ($self, $stackPos) { - $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-5)], ['flags' => $self->semStack[$stackPos-(5-2)], 'byRef' => $self->semStack[$stackPos-(5-3)], 'params' => [], 'attrGroups' => $self->semStack[$stackPos-(5-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->checkPropertyHook($self->semValue, null); }, 393 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-8)], ['flags' => $self->semStack[$stackPos-(8-2)], 'byRef' => $self->semStack[$stackPos-(8-3)], 'params' => $self->semStack[$stackPos-(8-6)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->checkPropertyHook($self->semValue, $stackPos-(8-5)); }, 394 => static function ($self, $stackPos) { + $self->semValue = null; + }, + 395 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 396 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 397 => static function ($self, $stackPos) { + $self->semValue = 0; + }, + 398 => static function ($self, $stackPos) { + $self->checkPropertyHookModifiers($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; + }, + 399 => null, + 400 => null, + 401 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 402 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 403 => static function ($self, $stackPos) { + $self->semValue = array(); + }, + 404 => null, + 405 => null, + 406 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 407 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 408 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 409 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 410 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); if (!$self->phpVersion->allowsAssignNewByReference()) { $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); } }, - 395 => null, - 396 => null, - 397 => static function ($self, $stackPos) { + 411 => null, + 412 => null, + 413 => static function ($self, $stackPos) { $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 398 => static function ($self, $stackPos) { + 414 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 399 => static function ($self, $stackPos) { + 415 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 400 => static function ($self, $stackPos) { + 416 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 401 => static function ($self, $stackPos) { + 417 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 402 => static function ($self, $stackPos) { + 418 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 403 => static function ($self, $stackPos) { + 419 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 404 => static function ($self, $stackPos) { + 420 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 405 => static function ($self, $stackPos) { + 421 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 406 => static function ($self, $stackPos) { + 422 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 407 => static function ($self, $stackPos) { + 423 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 408 => static function ($self, $stackPos) { + 424 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 409 => static function ($self, $stackPos) { + 425 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 410 => static function ($self, $stackPos) { + 426 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 411 => static function ($self, $stackPos) { + 427 => static function ($self, $stackPos) { $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 412 => static function ($self, $stackPos) { + 428 => static function ($self, $stackPos) { $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 413 => static function ($self, $stackPos) { + 429 => static function ($self, $stackPos) { $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 414 => static function ($self, $stackPos) { + 430 => static function ($self, $stackPos) { $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 415 => static function ($self, $stackPos) { + 431 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 416 => static function ($self, $stackPos) { + 432 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 417 => static function ($self, $stackPos) { + 433 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 418 => static function ($self, $stackPos) { + 434 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 419 => static function ($self, $stackPos) { + 435 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 420 => static function ($self, $stackPos) { + 436 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 421 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 422 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 423 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 424 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 425 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 426 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 427 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 428 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 429 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 430 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 431 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 432 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 433 => static function ($self, $stackPos) { - $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 434 => static function ($self, $stackPos) { - $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 435 => static function ($self, $stackPos) { - $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 436 => static function ($self, $stackPos) { - $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, 437 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 438 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 439 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 440 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 441 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 442 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 443 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 444 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 445 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 446 => static function ($self, $stackPos) { - $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 447 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 448 => static function ($self, $stackPos) { - $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 449 => static function ($self, $stackPos) { - $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 450 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 451 => static function ($self, $stackPos) { - $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 452 => static function ($self, $stackPos) { - $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 453 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 454 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 455 => static function ($self, $stackPos) { - $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 456 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 457 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 458 => static function ($self, $stackPos) { - $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 459 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 460 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 461 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 462 => static function ($self, $stackPos) { + $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 463 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 464 => static function ($self, $stackPos) { + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + }, + 465 => static function ($self, $stackPos) { + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 466 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 467 => static function ($self, $stackPos) { + $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 468 => static function ($self, $stackPos) { + $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 469 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 470 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 471 => static function ($self, $stackPos) { + $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 472 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 473 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 474 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 475 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); }, - 460 => static function ($self, $stackPos) { + 476 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 461 => static function ($self, $stackPos) { + 477 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 462 => static function ($self, $stackPos) { + 478 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 463 => static function ($self, $stackPos) { + 479 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 464 => static function ($self, $stackPos) { + 480 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 465 => static function ($self, $stackPos) { - $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); - $attrs['kind'] = strtolower($self->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $self->semValue = new Expr\Exit_($self->semStack[$stackPos-(2-2)], $attrs); - }, - 466 => static function ($self, $stackPos) { - $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 467 => null, - 468 => static function ($self, $stackPos) { - $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 469 => static function ($self, $stackPos) { - $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 470 => static function ($self, $stackPos) { - $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 471 => static function ($self, $stackPos) { - $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 472 => static function ($self, $stackPos) { - $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 473 => static function ($self, $stackPos) { - $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 474 => static function ($self, $stackPos) { - $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 475 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); - }, - 476 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); - }, - 477 => static function ($self, $stackPos) { - $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); - }, - 478 => static function ($self, $stackPos) { - $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); - }, - 479 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); - }, - 480 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); - }, 481 => static function ($self, $stackPos) { - $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->createExitExpr($self->semStack[$stackPos-(2-1)], $stackPos-(2-1), $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 482 => static function ($self, $stackPos) { + $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 483 => null, + 484 => static function ($self, $stackPos) { + $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 485 => static function ($self, $stackPos) { + $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 486 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 487 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 488 => static function ($self, $stackPos) { + $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 489 => static function ($self, $stackPos) { + $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 490 => static function ($self, $stackPos) { + $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 491 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + }, + 492 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + }, + 493 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + }, + 494 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + }, + 495 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + }, + 496 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); + }, + 497 => static function ($self, $stackPos) { + $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + }, + 498 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'uses' => $self->semStack[$stackPos-(10-8)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 483 => static function ($self, $stackPos) { + 499 => static function ($self, $stackPos) { $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos-(8-3)]); $self->checkClass($self->semValue[0], -1); }, - 484 => static function ($self, $stackPos) { + 500 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 485 => static function ($self, $stackPos) { + 501 => static function ($self, $stackPos) { list($class, $ctorArgs) = $self->semStack[$stackPos-(2-2)]; $self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 486 => static function ($self, $stackPos) { + 502 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(2-2)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 487 => null, - 488 => null, - 489 => static function ($self, $stackPos) { + 503 => null, + 504 => null, + 505 => static function ($self, $stackPos) { $self->semValue = array(); }, - 490 => static function ($self, $stackPos) { + 506 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 491 => null, - 492 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 493 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 494 => static function ($self, $stackPos) { - $self->semValue = new Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 495 => static function ($self, $stackPos) { - $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 496 => static function ($self, $stackPos) { - $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 497 => static function ($self, $stackPos) { - $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 498 => static function ($self, $stackPos) { - $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 499 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 500 => static function ($self, $stackPos) { - $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 501 => null, - 502 => static function ($self, $stackPos) { - $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 503 => static function ($self, $stackPos) { - $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 504 => static function ($self, $stackPos) { - $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 505 => static function ($self, $stackPos) { - $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 506 => null, 507 => null, 508 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 509 => static function ($self, $stackPos) { - $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 510 => static function ($self, $stackPos) { + $self->semValue = new Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 511 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 510 => null, - 511 => null, 512 => static function ($self, $stackPos) { - $self->semValue = null; + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 513 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 514 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 515 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; + $self->semValue = new Expr\StaticCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 516 => static function ($self, $stackPos) { - foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 517 => static function ($self, $stackPos) { - $self->semValue = array(); + 517 => null, + 518 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 518 => null, 519 => static function ($self, $stackPos) { - $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 520 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 521 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 522 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 523 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 522 => null, + 523 => null, 524 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 525 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 526 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 527 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, + 526 => null, + 527 => null, 528 => static function ($self, $stackPos) { - $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = array(); }, 529 => static function ($self, $stackPos) { - $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; }, 530 => static function ($self, $stackPos) { - $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; }, 531 => static function ($self, $stackPos) { + $self->semValue = array(); + }, + 532 => null, + 533 => static function ($self, $stackPos) { + $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 534 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 535 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 536 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 537 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 538 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 539 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 540 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 541 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 542 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 543 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 544 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + }, + 545 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + }, + 546 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); }, - 532 => static function ($self, $stackPos) { + 547 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); $self->createdArrays->attach($self->semValue); }, - 533 => static function ($self, $stackPos) { + 548 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 534 => static function ($self, $stackPos) { + 549 => static function ($self, $stackPos) { $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); }, - 535 => static function ($self, $stackPos) { + 550 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($self->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos-(3-2)], $attrs); }, - 536 => static function ($self, $stackPos) { + 551 => static function ($self, $stackPos) { $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); }, - 537 => static function ($self, $stackPos) { + 552 => static function ($self, $stackPos) { $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 538 => null, - 539 => null, - 540 => null, - 541 => static function ($self, $stackPos) { + 553 => null, + 554 => null, + 555 => null, + 556 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 542 => static function ($self, $stackPos) { + 557 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); }, - 543 => static function ($self, $stackPos) { + 558 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 544 => static function ($self, $stackPos) { - $self->semValue = null; - }, - 545 => null, - 546 => null, - 547 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 548 => null, - 549 => null, - 550 => null, - 551 => null, - 552 => null, - 553 => null, - 554 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 555 => null, - 556 => null, - 557 => null, - 558 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, 559 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = null; }, 560 => null, - 561 => static function ($self, $stackPos) { - $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, + 561 => null, 562 => static function ($self, $stackPos) { - $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 563 => static function ($self, $stackPos) { - $self->semValue = null; + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, + 563 => null, 564 => null, 565 => null, 566 => null, - 567 => static function ($self, $stackPos) { - $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 568 => static function ($self, $stackPos) { - $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 569 => null, - 570 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 571 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 572 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + 567 => null, + 568 => null, + 569 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, + 570 => null, + 571 => null, + 572 => null, 573 => static function ($self, $stackPos) { - $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 574 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 575 => null, 576 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 577 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 578 => static function ($self, $stackPos) { + $self->semValue = null; + }, + 579 => null, + 580 => null, + 581 => null, + 582 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 579 => static function ($self, $stackPos) { + 583 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 580 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 581 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 582 => null, - 583 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, 584 => null, - 585 => null, - 586 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + 585 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 586 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 587 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 587 => null, 588 => static function ($self, $stackPos) { - $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; }, 589 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 590 => null, + 591 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 592 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 593 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 594 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 595 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 596 => static function ($self, $stackPos) { + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 597 => null, + 598 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 599 => null, + 600 => null, + 601 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 602 => null, + 603 => static function ($self, $stackPos) { + $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + }, + 604 => static function ($self, $stackPos) { $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); $self->postprocessList($self->semValue); }, - 590 => static function ($self, $stackPos) { + 605 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); }, - 591 => null, - 592 => static function ($self, $stackPos) { + 606 => null, + 607 => static function ($self, $stackPos) { /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 593 => static function ($self, $stackPos) { + 608 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 594 => static function ($self, $stackPos) { + 609 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 595 => static function ($self, $stackPos) { + 610 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 596 => static function ($self, $stackPos) { + 611 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 597 => static function ($self, $stackPos) { + 612 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 598 => static function ($self, $stackPos) { + 613 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 599 => static function ($self, $stackPos) { + 614 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-1)], true, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 600 => static function ($self, $stackPos) { + 615 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 601 => static function ($self, $stackPos) { + 616 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); }, - 602 => static function ($self, $stackPos) { + 617 => static function ($self, $stackPos) { /* Create an Error node now to remember the position. We'll later either report an error, or convert this into a null element, depending on whether this is a creation or destructuring context. */ $attrs = $self->createEmptyElemAttributes($self->tokenPos); $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 603 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; - }, - 604 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; - }, - 605 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 606 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); - }, - 607 => static function ($self, $stackPos) { - $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); - }, - 608 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 609 => null, - 610 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 611 => static function ($self, $stackPos) { - $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 612 => static function ($self, $stackPos) { - $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 613 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 614 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 615 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); - }, - 616 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 617 => static function ($self, $stackPos) { - $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, 618 => static function ($self, $stackPos) { - $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 619 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; + }, + 620 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 621 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); + }, + 622 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); + }, + 623 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 624 => null, + 625 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 626 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 627 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 628 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 629 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 630 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); + }, + 631 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 632 => static function ($self, $stackPos) { + $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 633 => static function ($self, $stackPos) { + $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 634 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 620 => null, + 635 => null, ]; } } diff --git a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php index 1317c54..628beb5 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php @@ -122,54 +122,58 @@ class Php8 extends \PhpParser\ParserAbstract public const T_PROTECTED = 357; public const T_PUBLIC = 358; public const T_READONLY = 359; - public const T_VAR = 360; - public const T_UNSET = 361; - public const T_ISSET = 362; - public const T_EMPTY = 363; - public const T_HALT_COMPILER = 364; - public const T_CLASS = 365; - public const T_TRAIT = 366; - public const T_INTERFACE = 367; - public const T_ENUM = 368; - public const T_EXTENDS = 369; - public const T_IMPLEMENTS = 370; - public const T_OBJECT_OPERATOR = 371; - public const T_NULLSAFE_OBJECT_OPERATOR = 372; - public const T_LIST = 373; - public const T_ARRAY = 374; - public const T_CALLABLE = 375; - public const T_CLASS_C = 376; - public const T_TRAIT_C = 377; - public const T_METHOD_C = 378; - public const T_FUNC_C = 379; - public const T_LINE = 380; - public const T_FILE = 381; - public const T_START_HEREDOC = 382; - public const T_END_HEREDOC = 383; - public const T_DOLLAR_OPEN_CURLY_BRACES = 384; - public const T_CURLY_OPEN = 385; - public const T_PAAMAYIM_NEKUDOTAYIM = 386; - public const T_NAMESPACE = 387; - public const T_NS_C = 388; - public const T_DIR = 389; - public const T_NS_SEPARATOR = 390; - public const T_ELLIPSIS = 391; - public const T_NAME_FULLY_QUALIFIED = 392; - public const T_NAME_QUALIFIED = 393; - public const T_NAME_RELATIVE = 394; - public const T_ATTRIBUTE = 395; + public const T_PUBLIC_SET = 360; + public const T_PROTECTED_SET = 361; + public const T_PRIVATE_SET = 362; + public const T_VAR = 363; + public const T_UNSET = 364; + public const T_ISSET = 365; + public const T_EMPTY = 366; + public const T_HALT_COMPILER = 367; + public const T_CLASS = 368; + public const T_TRAIT = 369; + public const T_INTERFACE = 370; + public const T_ENUM = 371; + public const T_EXTENDS = 372; + public const T_IMPLEMENTS = 373; + public const T_OBJECT_OPERATOR = 374; + public const T_NULLSAFE_OBJECT_OPERATOR = 375; + public const T_LIST = 376; + public const T_ARRAY = 377; + public const T_CALLABLE = 378; + public const T_CLASS_C = 379; + public const T_TRAIT_C = 380; + public const T_METHOD_C = 381; + public const T_FUNC_C = 382; + public const T_PROPERTY_C = 383; + public const T_LINE = 384; + public const T_FILE = 385; + public const T_START_HEREDOC = 386; + public const T_END_HEREDOC = 387; + public const T_DOLLAR_OPEN_CURLY_BRACES = 388; + public const T_CURLY_OPEN = 389; + public const T_PAAMAYIM_NEKUDOTAYIM = 390; + public const T_NAMESPACE = 391; + public const T_NS_C = 392; + public const T_DIR = 393; + public const T_NS_SEPARATOR = 394; + public const T_ELLIPSIS = 395; + public const T_NAME_FULLY_QUALIFIED = 396; + public const T_NAME_QUALIFIED = 397; + public const T_NAME_RELATIVE = 398; + public const T_ATTRIBUTE = 399; - protected int $tokenToSymbolMapSize = 396; - protected int $actionTableSize = 1272; - protected int $gotoTableSize = 689; + protected int $tokenToSymbolMapSize = 400; + protected int $actionTableSize = 1289; + protected int $gotoTableSize = 641; - protected int $invalidSymbol = 168; + protected int $invalidSymbol = 172; protected int $errorSymbol = 1; protected int $defaultAction = -32766; protected int $unexpectedTokenRule = 32767; - protected int $YY2TBLSTATE = 437; - protected int $numNonLeafStates = 743; + protected int $YY2TBLSTATE = 442; + protected int $numNonLeafStates = 753; protected array $symbolToName = array( "EOF", @@ -295,6 +299,9 @@ class Php8 extends \PhpParser\ParserAbstract "T_PROTECTED", "T_PUBLIC", "T_READONLY", + "T_PUBLIC_SET", + "T_PROTECTED_SET", + "T_PRIVATE_SET", "T_VAR", "T_UNSET", "T_ISSET", @@ -315,6 +322,7 @@ class Php8 extends \PhpParser\ParserAbstract "T_TRAIT_C", "T_METHOD_C", "T_FUNC_C", + "T_PROPERTY_C", "T_LINE", "T_FILE", "T_START_HEREDOC", @@ -343,32 +351,32 @@ class Php8 extends \PhpParser\ParserAbstract ); protected array $tokenToSymbol = array( - 0, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 56, 166, 168, 167, 55, 168, 168, - 161, 162, 53, 51, 8, 52, 48, 54, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 31, 159, - 44, 16, 46, 30, 68, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 70, 168, 160, 36, 168, 165, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 163, 35, 164, 58, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 1, 2, 3, 4, + 0, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 56, 170, 172, 171, 55, 172, 172, + 165, 166, 53, 51, 8, 52, 48, 54, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 31, 163, + 44, 16, 46, 30, 68, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 70, 172, 164, 36, 172, 169, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 167, 35, 168, 58, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 37, 38, 39, 40, @@ -382,546 +390,547 @@ class Php8 extends \PhpParser\ParserAbstract 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158 + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162 ); protected array $action = array( - 133, 134, 135, 586, 136, 137, 0, 755, 756, 757, - 138, 38, 329,-32766,-32766,-32766,-32766,-32766,-32766, 841, - 830,-32767,-32767,-32767,-32767, 102, 103, 104, 1116, 1117, - 1118, 1115, 1114, 1113, 1119, 749, 748,-32766, 1031,-32766, + 126, 127, 128, 570, 129, 130, 955, 765, 766, 767, + 131, 38, 849, -85,-32766, 1375,-32766,-32766,-32766, 0, + 840, 1133, 1134, 1135, 1129, 1128, 1127, 1136, 1130, 1131, + 1132,-32766,-32766,-32766, 851, 759, 758,-32766,-32766,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 1252,-32766,-32766, 1331, 758, 1116, 1117, 1118, 1115, - 1114, 1113, 1119, 461, 462, 463, 2, 994, 1315, 265, - 139, 406, 762, 763, 764, 765, 470, 471, 431, 839, - 610, -16, 1350, 23, 293, 819, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 795, 587, 796, 797, - 798, 799, 787, 788, 347, 348, 790, 791, 776, 777, - 778, 780, 781, 782, 358, 822, 823, 824, 825, 826, - 588, 783, 784, 589, 590, 945, 807, 805, 806, 818, - 802, 803, 839, 830, 591, 592, 801, 593, 594, 595, - 596, 597, 598, -328, 36, 250, 35, -194, 804, 599, - 600, -193, 140, -85, 133, 134, 135, 586, 136, 137, - 1064, 755, 756, 757, 138, 38, 129, -110, -110, -590, - -32766, -590, -110,-32766,-32766,-32766, 241, 840, -110, 145, - 963, 964,-32766,-32766,-32766, 965, -599,-32766, 485, 749, - 748, 959, 1040, -599,-32766, 995,-32766,-32766,-32766,-32766, - -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 301, 758, - 835, 75,-32766,-32766,-32766, 292, 142, 328, 242, -85, - 328, 384, 383, 265, 139, 406, 762, 763, 764, 765, - 82, 425, 431,-32766, 328,-32766,-32766,-32766,-32766, 819, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, - 795, 587, 796, 797, 798, 799, 787, 788, 347, 348, - 790, 791, 776, 777, 778, 780, 781, 782, 358, 822, - 823, 824, 825, 826, 588, 783, 784, 589, 590, 253, - 807, 805, 806, 818, 802, 803, 836, 729, 591, 592, - 801, 593, 594, 595, 596, 597, 598, -328, 83, 84, - 85, -194, 804, 599, 600, -193, 149, 779, 750, 751, - 752, 753, 754, 151, 755, 756, 757, 792, 793, 37, - 486, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, -599, 275, -599,-32766,-32766, - -32766,-32766,-32766,-32766, 312, 1093, 127, 314, 110, 741, - 1335, 21, 758,-32766,-32766,-32766, -272, 1334,-32766,-32766, - 1092,-32766,-32766,-32766,-32766,-32766, 759, 760, 761, 762, - 763, 764, 765, 1108,-32766, 828,-32766,-32766, -550, 560, - 1040, 1273, 819, 766, 767, 768, 769, 770, 771, 772, - 773, 774, 775, 795, 817, 796, 797, 798, 799, 787, - 788, 789, 816, 790, 791, 776, 777, 778, 780, 781, - 782, 821, 822, 823, 824, 825, 826, 827, 783, 784, - 785, 786, 1037, 807, 805, 806, 818, 802, 803, 749, - 748, 794, 800, 801, 808, 809, 811, 810, 812, 813, - 1285, 325, -550, -550, 1040, 804, 815, 814, 50, 51, - 52, 516, 53, 54, 866, 341, 867, -550, 55, 56, - -110, 57, 839, 924, -367, -110, -367, -110, 293, -556, - 152, -550, 308, 103, 104, -110, -110, -110, -110, -110, - -110, -110, -110, 105, 106, 107, 108, 109, 947, 275, - 342, 924, 1252, 719,-32766,-32766,-32766, 58, 59, -549, - 372, 110, 60, 838, 61, 247, 248, 62, 63, 64, - 65, 66, 67, 68, 69,-32766, 28, 267, 70, 446, - 517, 720, 376, -342, 1279, 1280, 518, 359, 839, -548, - 391, -546, 1277, 42, 25, 519, 947, 520, 616, 521, - 924, 522, 442, 141, 523, 524, 914, 328, 443, 44, - 45, 447, 379, 378,-32766, 46, 525, 1027, 1026, 1025, - 1028, 370, 340, -549, -549, 444, 1360, 431, 1238, 1361, - 527, 528, 529, 839, 914, 364, 1040, 445, -549,-32766, - -32766,-32766, 531, 532, 845, 1266, 1267, 1268, 1269, 1263, - 1264, 300, -549, -548, -548, -546, -546, 1270, 1265, 292, - -32766, 1247, 1246, 1248, 301, 749, 748, 71, -548, -78, - -546, 323, 324, 328, -153, -153, -153, 393,-32766, 7, - -555, 926, -548, 914, -546, 714, 660, 26,-32766, -153, - 832, -153, 866, -153, 867, -153, 382, 383, 28, 268, - 1040, 154, 1247, 1246, 1248, 377, 425, 155, -596, 926, - 839, 1094, 75, 714, 1277, -596, 963, 964, 328, -547, - 156, 526, 158, 292, 1245, 33, 900, 959, -110, -110, - -110, 32, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 679, 680, -58, 301, -57, - 1238, 124, 924, 749, 748, 1252, 150, 409, 926, 125, - 1243, 924, 714, -153, 531, 532, 834, 1266, 1267, 1268, - 1269, 1263, 1264, 716, 1154, 1156, -87, -4, 924, 1270, - 1265, 1039, 721, -547, -547, -546, 130, 749, 748, 73, - -32766, 724, 131, -552, 324, 328, 1245, 144, -547, 1247, - 1246, 1248, 159,-32766,-32766,-32766, 1037,-32766, 160,-32766, - -554,-32766, -547, 161,-32766, 380, 381, 924, 162,-32766, - -32766,-32766, 163, 49,-32766,-32766,-32766, -84, 1040, -78, - 1245,-32766, 422, 48, 924, 914, 839,-32766,-32766,-32766, - -32766,-32766, -73,-32766, 914,-32766, -72, 731,-32766, -546, - -546, 283, -71,-32766,-32766,-32766, -70, -552, -552,-32766, - -32766, 914, 385, 386, -546,-32766, 422, -596, -69, -596, - 74, -110, -110, -68,-32766, -50, -110, -67, -546, 651, - 652, -66, -110, 377, -65, 438, -552, 304, 305, -46, - 299,-32766, -18, 148, 963, 964, 274, 302, 303, 526, - 914, 284, 375, 730, 530, 959, -110, -110, -110, 132, - 980, 733, 301, 923, 714, 75, 128, 914,-32766, 926, - 147, 328, -302, 714, 1245, -298, 126, 10, 1063, 281, - 282,-32766,-32766,-32766, 285,-32766, 926,-32766, 286,-32766, - 714, -4,-32766, 334, 288, 275, 289,-32766,-32766,-32766, - 294, 295,-32766,-32766,-32766, 924, 941, 287, 1245,-32766, - 422, 110, 689, 146, 830,-32766,-32766,-32766,-32766,-32766, - 565,-32766, 666,-32766, 1362, 926,-32766, 705, 839, 714, - 1123,-32766,-32766,-32766,-32766,-32766, 667,-32766,-32766, 309, - 1245, 661, 926,-32766, 422, 924, 714,-32766,-32766,-32766, - 682,-32766,-32766,-32766, 707,-32766, 306, 960,-32766, 313, - -32766, 683, 491,-32766,-32766,-32766,-32766, 20, 467,-32766, - -32766, 496, 1245, 578, 571,-32766, 422, 301, 649,-32766, - -32766,-32766, -511,-32766,-32766,-32766, 0,-32766, 914, 0, - -32766, 0, 0, 1037, 0,-32766,-32766,-32766, 1284, 307, - 1286,-32766,-32766, 0, -250, -250, -250,-32766, 422, 943, - 377, 0, 0, 28, 267, 1040,-32766, 0, -501, 0, - 614, 963, 964, 0, 8, 839, 526, 24, 914, 1277, - 374, 900, 959, -110, -110, -110, 1274, 838, 283, 40, - -584, 0, 41, 738, -249, -249, -249, 739, 28, 268, - 377, 850, 287, 858, 905, 1004, 981, 988, 978, 989, - 839, 963, 964, 926, 1277, 1238, 526, 714, -250, 903, - 976, 900, 959, -110, -110, -110, 1097, 1100, 1101, 1098, - 532, 1099, 1266, 1267, 1268, 1269, 1263, 1264, 1105, -583, - 1301, 1319, 1353, 654, 1270, 1265, -582, -556, -555, -554, - 1238, -553, 694, 926, 73, 34, -495, 714, -249, 324, - 328, 1, 29, 30, 39, 532, 43, 1266, 1267, 1268, - 1269, 1263, 1264, 47, 72, 76, 77, 78, 79, 1270, - 1265, 80, 81, 143,-32766, 153, 157, 245, 695, 73, - 1245, 330, 359, 360, 324, 328, 361,-32766,-32766,-32766, - 362,-32766, 363,-32766, 364,-32766, 365, 366,-32766, 696, - 697, 367, 368,-32766,-32766,-32766, 369, 371, 439,-32766, - -32766, 559, 322, -275, -273,-32766, 422, 1247, 1246, 1248, - -272, 13, 14, 283,-32766, 15, 16, 18, 408, 487, - 488, 495, 498, 499, 500, 501, 505, 506, 507, 514, - 576, 700, 1256, 1194, 1275, 1066, 1065, 1046, 1233, 1042, - -277, -102, 12, 17, 27, 298, 407, 607, 611, 640, - 706, 1198, 0, 1251, 1195, 1332, 0, 373, 715, 718, - 722, 723, 725, 726, 727, 728, 732, 717, 0, 735, - 901, 1357, 1359, 861, 860, 869, 953, 996, 868, 1358, - 952, 950, 951, 954, 1226, 934, 944, 932, 986, 987, - 638, 1356, 1313, 1302, 1320, 1329, 0, 1211, 0, 1278, - 0, 328 + -32767, 1004,-32766, 1044, -569, 768, 1133, 1134, 1135, 1129, + 1128, 1127, 1136, 1130, 1131, 1132, 388, 387, 842, 263, + 132, 389, 772, 773, 774, 775, 430,-32766, 431, -85, + 957, 36, 246, 47, 291, 829, 776, 777, 778, 779, + 780, 781, 782, 783, 784, 785, 805, 571, 806, 807, + 808, 809, 797, 798, 343, 344, 800, 801, 786, 787, + 788, 790, 791, 792, 359, 832, 833, 834, 835, 836, + 572, -569, -569, 360, 793, 794, 573, 574, -331, 817, + 815, 816, 828, 812, 813, 2, -194, 575, 576, 811, + 577, 578, 579, 580, 322, 581, 582, 876, 844, 877, + 297, 298, 814, 583, 584, 722, 133, 236, 126, 127, + 128, 570, 129, 130, 1077, 765, 766, 767, 131, 38, + -32766, 26, 735, 1037, 1036, 1035, 1041, 1038, 1039, 1040, + -32766,-32766,-32766, 1005, 104, 105, 106, 107, 108, 35, + 275, 957,-32766, 759, 758, 1053, 850,-32766,-32766,-32766, + 848,-32766, 109,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + 148, 476, 477, 768,-32766,-32766,-32766, 1053,-32766, 290, + -32766,-32766,-32766,-32766,-32766, 616, 134, 263, 132, 389, + 772, 773, 774, 775, 365,-32766, 431,-32766,-32766,-32766, + -32766, 290, 143, 829, 776, 777, 778, 779, 780, 781, + 782, 783, 784, 785, 805, 571, 806, 807, 808, 809, + 797, 798, 343, 344, 800, 801, 786, 787, 788, 790, + 791, 792, 359, 832, 833, 834, 835, 836, 572,-32766, + -32766,-32766, 793, 794, 573, 574, -331, 817, 815, 816, + 828, 812, 813, 1300, -194, 575, 576, 811, 577, 578, + 579, 580, 845, 581, 582, 149, 82, 83, 84, -272, + 814, 583, 584, 249, 146, 789, 760, 761, 762, 763, + 764, 235, 765, 766, 767, 802, 803, 37, 307, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 157, 275,-32766,-32766,-32766,-32767,-32767, + -32767,-32767, 101, 102, 103, 1107, 109, 309, 622, 748, + 768,-32766,-32766,-32766, 849, 318,-32766, 1106,-32766,-32766, + -32766, 338, 846, 1356, 769, 770, 771, 772, 773, 774, + 775, 339,-32766, 838,-32766,-32766, 1385, 374, 1280, 1386, + 829, 776, 777, 778, 779, 780, 781, 782, 783, 784, + 785, 805, 827, 806, 807, 808, 809, 797, 798, 799, + 826, 800, 801, 786, 787, 788, 790, 791, 792, 831, + 832, 833, 834, 835, 836, 837, 1076, 431, -566, 793, + 794, 795, 796, 1360, 817, 815, 816, 828, 812, 813, + 1359, -193, 804, 810, 811, 818, 819, 821, 820, 138, + 822, 823, 840, 321, 380, 285, 24, 814, 825, 824, + 49, 50, 51, 522, 52, 53, -371, -110, -371, 849, + 54, 55, -110, 56, -110,-32766,-32766,-32766, 1341, 303, + 125, 1122, -110, -110, -110, -110, -110, -110, -110, -110, + -110, -110, -110, 161, 750, -566, -566, 291, 973, 974, + 466, 467, 468, 975, 396, 285, 1275, 1274, 1276, 57, + 58, -566, 566, 448, 59, 1108, 60, 243, 244, 61, + 62, 63, 64, 65, 66, 67, 68,-32766, 28, 265, + 69, 446, 523, 490, -345, 449, 1306, 1307, 524, 139, + 849, 1050, 450, 321, 1304, 42, 20, 525, 934, 526, + 934, 527, 74, 528, -567, 698, 529, 530, 321, 386, + 387, 44, 45, 452, 383, 382, 1053, 46, 531, 430, + 973, 974, 451, 372, 337, 975, 1280, 1312, 725, 934, + 1266,-32766,-32766,-32766, 969, 533, 534, 535, 855, 934, + 281, 699, -78, -565, 1273, 759, 758, 537, 538, -193, + 1292, 1293, 1294, 1295, 1297, 1289, 1290, 295, 1053, 726, + 398, 151, 7, 1296, 1291, 700, 701, 1275, 1274, 1276, + 296, -567, -567, 70, -153, -153, -153, 316, 317, 321, + 1271, 924, 290, 924, 1275, 1274, 1276, -567, 1050, -153, + 281, -153, 1149, -153, 81, -153, 740, 152, 321, -573, + 153, 759, 758,-32766, 1052, 381, 876, 849, 877, 155, + -565, -565, 924, 1053, 1050, 33, 973, 974, -58, 491, + -57, 532, 924, 1275, 1274, 1276, -565, 123, 1053, 910, + 969, -110, -110, -110, 28, 266, 124, 281, -572, 1053, + 102, 103, -110, -110,-32766,-32766, 849, -110, 135, -563, + 1304, 136, -605, 142, -605, 156, -110, 665, 21, 158, + 936, 159, 936, 160, 720,-32766, 720, -153, -305, 48, + 32, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 684, 685, 1266, 296, 759, 758, + 74, 936, -87, 934, -84, 720, 321, -4, 934, -78, + 934, 936, -73, 537, 538, 720, 1292, 1293, 1294, 1295, + 1297, 1289, 1290, 1182, 1184, 934, -563, -563, -564, 1296, + 1291, 759, 758, 727, -563,-32766, 147, 413, -301, 72, + 730, 1273, -563, -72, 317, 321, 299, 300,-32766,-32766, + -32766, -71,-32766, -70,-32766, 737,-32766, 384, 385,-32766, + 390, 391, 379, -69,-32766,-32766,-32766, -68,-32766, -67, + -32766,-32766, -66, -65, 1273, -46,-32766, 427, 28, 265, + -18,-32766,-32766,-32766, 140,-32766, 924,-32766,-32766,-32766, + 849, 924,-32766, 924, 1304, -564, -564,-32766,-32766,-32766, + 274, -563, -563,-32766,-32766, 282, 656, 657, 924,-32766, + 427, -564, 736, 381, 739, 443, 933, -563, 145, 73, + 294,-32766, 951, -571, 973, 974, 279, 280, 283, 532, + 1266, 28, 266, 284, 327, 275, 109, 536, 969, -110, + -110, -110, 286, 849, 287, 292, 293, 1304, 538, 144, + 1292, 1293, 1294, 1295, 1297, 1289, 1290, 694, 849, 1140, + -32766, 11, 840, 1296, 1291, 990, 709, 687, 671, 720, + 936, 1387, 936, 72, 720, -4, 720, 654, 317, 321, + -50, 711, 304, 1266, 587, 969, 666, 936, 970, 1311, + 672, 720, 302, 301, 10, 308, 1313, 473, 501,-32766, + -529, 538, 688, 1292, 1293, 1294, 1295, 1297, 1289, 1290, + 953, 40, 593, 137, 41, -519, 1296, 1291, 8, 27, + 620, 321, 0,-32766, 378, 0, 72, 0, 0, 1273, + 0, 317, 321, 745, 0, 0,-32766,-32766,-32766, 0, + -32766, 0,-32766, 0,-32766, 0, 0,-32766, 0, 0, + 0, 0,-32766,-32766,-32766, 934,-32766, 746,-32766,-32766, + 0, 0, 1273, 848,-32766, 427, 868, 0, 296,-32766, + -32766,-32766, 0,-32766, 915,-32766,-32766,-32766, 934, 1014, + -32766, 991, 998, 988, 999,-32766,-32766,-32766, 913,-32766, + 986,-32766,-32766, 1111, 1114, 1273, 1115,-32766, 427, 1112, + 1151, 1113,-32766,-32766,-32766, 1119,-32766, 1301,-32766,-32766, + -32766, 860, 1328,-32766, 1345, 1378, 659, 496,-32766,-32766, + -32766, -599,-32766, -598,-32766,-32766, -597, -573, 1273, 600, + -32766, 427, -572, -571, -570,-32766,-32766,-32766, 924,-32766, + -513,-32766,-32766,-32766, 1, 29,-32766, -275, 30, 39, + 43,-32766,-32766,-32766, -250, -250, -250,-32766,-32766, 71, + 381, 924, 75,-32766, 427, 76, 77, 78, 1280, 79, + 80, 973, 974, 141, 150,-32766, 532, -249, -249, -249, + -273, 154, 241, 381, 910, 969, -110, -110, -110, 323, + 360, 361, 362, 363, 973, 974, 364, 365, -16, 532, + 366, 367, 368, 369, 370, 373, 444, 910, 969, -110, + -110, -110,-32766, -272, 565, 371, 1305, 936, 1273, 13, + 412, 720, -250, 14, 15,-32766,-32766,-32766, 16,-32766, + 18,-32766, 354,-32766, 411, 492,-32766, 493, 500, 503, + 936,-32766,-32766,-32766, 720, -249, 504,-32766,-32766, 849, + 505, 506, 510,-32766, 427, 511, 512, 519, 598, 704, + 1079, 1222, 1302, 1078, 1059,-32766, 1261, 1055, -277, -102, + 12, 17, 22, 312, 410, 612, 617, 645, 710, 1226, + 1279, 1223, 1357, 0, -110, -110, 34, 315, 375, -110, + 721, 724, 728, 729, 731, 732, 733, 734, -110, 738, + 750, 723, 751, 0, 416, 742, 0,-32766, 911, 1382, + 1384, 871, 870, 963, 1006, 1383, 962, 960, 961, 964, + 1254, 944, 954, 942, 1150, 1146, 1100, 996, 997, 296, + 643, 1381, 74, 1339, 1354, 0, 0, 1239, 321 ); protected array $actionCheck = array( - 2, 3, 4, 5, 6, 7, 0, 9, 10, 11, - 12, 13, 70, 9, 10, 11, 9, 10, 11, 1, - 80, 44, 45, 46, 47, 48, 49, 50, 116, 117, - 118, 119, 120, 121, 122, 37, 38, 30, 1, 32, + 2, 3, 4, 5, 6, 7, 1, 9, 10, 11, + 12, 13, 82, 31, 116, 85, 9, 10, 11, 0, + 80, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 9, 10, 11, 1, 37, 38, 30, 140, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 1, 9, 10, 1, 57, 116, 117, 118, 119, - 120, 121, 122, 129, 130, 131, 8, 31, 1, 71, - 72, 73, 74, 75, 76, 77, 134, 135, 80, 82, - 1, 31, 85, 8, 30, 87, 88, 89, 90, 91, + 43, 31, 30, 1, 70, 57, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 106, 107, 80, 71, + 72, 73, 74, 75, 76, 77, 116, 9, 80, 97, + 122, 151, 152, 70, 30, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 1, 128, 129, 130, 131, - 132, 133, 82, 80, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 8, 147, 148, 8, 8, 150, 151, - 152, 8, 154, 31, 2, 3, 4, 5, 6, 7, - 162, 9, 10, 11, 12, 13, 8, 117, 118, 160, - 116, 162, 122, 9, 10, 11, 97, 159, 128, 8, - 117, 118, 9, 10, 11, 122, 1, 137, 31, 37, - 38, 128, 138, 8, 30, 159, 32, 33, 34, 35, - 36, 37, 38, 30, 9, 32, 33, 34, 158, 57, - 80, 161, 9, 10, 11, 161, 163, 167, 14, 97, - 167, 106, 107, 71, 72, 73, 74, 75, 76, 77, - 163, 116, 80, 30, 167, 32, 33, 34, 35, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 8, - 128, 129, 130, 131, 132, 133, 156, 163, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 162, 9, 10, - 11, 162, 150, 151, 152, 162, 154, 2, 3, 4, - 5, 6, 7, 14, 9, 10, 11, 12, 13, 30, - 163, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 160, 57, 162, 9, 10, - 11, 9, 10, 11, 8, 159, 14, 8, 69, 163, - 1, 101, 57, 9, 10, 11, 162, 8, 116, 30, - 1, 32, 33, 34, 35, 36, 71, 72, 73, 74, - 75, 76, 77, 123, 30, 80, 32, 33, 70, 85, - 138, 1, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 116, 128, 129, 130, 131, 132, 133, 37, - 38, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 146, 8, 134, 135, 138, 150, 151, 152, 2, 3, - 4, 5, 6, 7, 106, 8, 108, 149, 12, 13, - 101, 15, 82, 1, 106, 106, 108, 108, 30, 161, - 14, 163, 113, 49, 50, 116, 117, 118, 119, 120, - 121, 122, 123, 51, 52, 53, 54, 55, 122, 57, - 8, 1, 1, 31, 9, 10, 11, 51, 52, 70, - 8, 69, 56, 155, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 30, 70, 71, 72, 73, - 74, 31, 8, 164, 78, 79, 80, 161, 82, 70, - 8, 70, 86, 87, 88, 89, 122, 91, 52, 93, - 1, 95, 8, 163, 98, 99, 84, 167, 8, 103, - 104, 105, 106, 107, 116, 109, 110, 119, 120, 121, - 122, 115, 116, 134, 135, 8, 80, 80, 122, 83, - 124, 125, 126, 82, 84, 161, 138, 8, 149, 116, - 51, 52, 136, 137, 8, 139, 140, 141, 142, 143, - 144, 145, 163, 134, 135, 134, 135, 151, 152, 161, - 137, 155, 156, 157, 158, 37, 38, 161, 149, 16, - 149, 165, 166, 167, 75, 76, 77, 106, 116, 108, - 161, 159, 163, 84, 163, 163, 75, 76, 137, 90, - 80, 92, 106, 94, 108, 96, 106, 107, 70, 71, - 138, 14, 155, 156, 157, 106, 116, 14, 1, 159, - 82, 164, 161, 163, 86, 8, 117, 118, 167, 70, - 14, 122, 14, 161, 80, 14, 127, 128, 129, 130, - 131, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 75, 76, 16, 158, 16, - 122, 16, 1, 37, 38, 1, 101, 102, 159, 16, - 116, 1, 163, 164, 136, 137, 156, 139, 140, 141, - 142, 143, 144, 163, 59, 60, 31, 0, 1, 151, - 152, 137, 31, 134, 135, 70, 16, 37, 38, 161, - 74, 31, 16, 70, 166, 167, 80, 16, 149, 155, - 156, 157, 16, 87, 88, 89, 116, 91, 16, 93, - 161, 95, 163, 16, 98, 106, 107, 1, 16, 103, - 104, 105, 16, 70, 74, 109, 110, 31, 138, 31, - 80, 115, 116, 70, 1, 84, 82, 87, 88, 89, - 124, 91, 31, 93, 84, 95, 31, 31, 98, 134, - 135, 161, 31, 103, 104, 105, 31, 134, 135, 109, - 110, 84, 106, 107, 149, 115, 116, 160, 31, 162, - 154, 117, 118, 31, 124, 31, 122, 31, 163, 111, - 112, 31, 128, 106, 31, 108, 163, 134, 135, 31, - 113, 137, 31, 31, 117, 118, 31, 134, 135, 122, - 84, 31, 149, 31, 127, 128, 129, 130, 131, 31, - 159, 31, 158, 31, 163, 161, 163, 84, 74, 159, - 31, 167, 35, 163, 80, 35, 163, 150, 1, 35, - 35, 87, 88, 89, 35, 91, 159, 93, 35, 95, - 163, 164, 98, 35, 37, 57, 37, 103, 104, 105, - 37, 37, 74, 109, 110, 1, 38, 30, 80, 115, - 116, 69, 77, 70, 80, 87, 88, 89, 124, 91, - 89, 93, 96, 95, 83, 159, 98, 80, 82, 163, - 82, 103, 104, 105, 74, 85, 100, 109, 110, 114, - 80, 90, 159, 115, 116, 1, 163, 87, 88, 89, - 94, 91, 124, 93, 92, 95, 132, 128, 98, 132, - 137, 100, 102, 103, 104, 105, 74, 97, 97, 109, - 110, 97, 80, 81, 153, 115, 116, 158, 113, 87, - 88, 89, 149, 91, 124, 93, -1, 95, 84, -1, - 98, -1, -1, 116, -1, 103, 104, 105, 146, 133, - 146, 109, 110, -1, 100, 101, 102, 115, 116, 154, - 106, -1, -1, 70, 71, 138, 124, -1, 149, -1, - 153, 117, 118, -1, 149, 82, 122, 149, 84, 86, - 149, 127, 128, 129, 130, 131, 160, 155, 161, 159, - 161, -1, 159, 159, 100, 101, 102, 159, 70, 71, - 106, 160, 30, 159, 159, 159, 159, 159, 159, 159, - 82, 117, 118, 159, 86, 122, 122, 163, 164, 159, - 159, 127, 128, 129, 130, 131, 159, 159, 159, 159, - 137, 159, 139, 140, 141, 142, 143, 144, 159, 161, - 160, 160, 160, 160, 151, 152, 161, 161, 161, 161, - 122, 161, 80, 159, 161, 163, 161, 163, 164, 166, - 167, 161, 161, 161, 161, 137, 161, 139, 140, 141, - 142, 143, 144, 161, 161, 161, 161, 161, 161, 151, - 152, 161, 161, 161, 74, 161, 161, 161, 116, 161, - 80, 161, 161, 161, 166, 167, 161, 87, 88, 89, - 161, 91, 161, 93, 161, 95, 161, 161, 98, 137, - 138, 161, 161, 103, 104, 105, 161, 161, 161, 109, - 110, 161, 163, 162, 162, 115, 116, 155, 156, 157, - 162, 162, 162, 161, 124, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, -1, 162, 162, 162, -1, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, -1, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, -1, 165, -1, 166, - -1, 167 + 122, 137, 138, 165, 126, 127, 128, 129, 8, 131, + 132, 133, 134, 135, 136, 8, 8, 139, 140, 141, + 142, 143, 144, 145, 70, 147, 148, 106, 160, 108, + 137, 138, 154, 155, 156, 167, 158, 14, 2, 3, + 4, 5, 6, 7, 166, 9, 10, 11, 12, 13, + 116, 8, 167, 119, 120, 121, 122, 123, 124, 125, + 9, 10, 11, 163, 51, 52, 53, 54, 55, 8, + 57, 122, 116, 37, 38, 141, 163, 9, 10, 11, + 159, 30, 69, 32, 33, 34, 35, 36, 37, 38, + 14, 137, 138, 57, 9, 10, 11, 141, 30, 165, + 32, 33, 34, 35, 36, 1, 8, 71, 72, 73, + 74, 75, 76, 77, 165, 30, 80, 32, 33, 34, + 35, 165, 8, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 9, + 10, 11, 126, 127, 128, 129, 166, 131, 132, 133, + 134, 135, 136, 1, 166, 139, 140, 141, 142, 143, + 144, 145, 80, 147, 148, 14, 9, 10, 11, 166, + 154, 155, 156, 8, 158, 2, 3, 4, 5, 6, + 7, 97, 9, 10, 11, 12, 13, 30, 8, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 16, 57, 9, 10, 11, 44, 45, + 46, 47, 48, 49, 50, 163, 69, 8, 52, 167, + 57, 9, 10, 11, 82, 8, 30, 1, 32, 33, + 34, 8, 160, 1, 71, 72, 73, 74, 75, 76, + 77, 8, 30, 80, 32, 33, 80, 8, 1, 83, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 1, 80, 70, 126, + 127, 128, 129, 1, 131, 132, 133, 134, 135, 136, + 8, 8, 139, 140, 141, 142, 143, 144, 145, 167, + 147, 148, 80, 171, 8, 30, 101, 154, 155, 156, + 2, 3, 4, 5, 6, 7, 106, 101, 108, 82, + 12, 13, 106, 15, 108, 9, 10, 11, 1, 113, + 14, 126, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 14, 167, 137, 138, 30, 117, 118, + 132, 133, 134, 122, 8, 30, 159, 160, 161, 51, + 52, 153, 85, 8, 56, 168, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 140, 70, 71, + 72, 73, 74, 31, 168, 8, 78, 79, 80, 167, + 82, 116, 8, 171, 86, 87, 88, 89, 1, 91, + 1, 93, 165, 95, 70, 80, 98, 99, 171, 106, + 107, 103, 104, 105, 106, 107, 141, 109, 110, 116, + 117, 118, 8, 115, 116, 122, 1, 150, 31, 1, + 122, 9, 10, 116, 131, 127, 128, 129, 8, 1, + 165, 116, 16, 70, 80, 37, 38, 139, 140, 166, + 142, 143, 144, 145, 146, 147, 148, 149, 141, 31, + 106, 14, 108, 155, 156, 140, 141, 159, 160, 161, + 162, 137, 138, 165, 75, 76, 77, 169, 170, 171, + 116, 84, 165, 84, 159, 160, 161, 153, 116, 90, + 165, 92, 163, 94, 167, 96, 167, 14, 171, 165, + 14, 37, 38, 116, 140, 106, 106, 82, 108, 14, + 137, 138, 84, 141, 116, 14, 117, 118, 16, 167, + 16, 122, 84, 159, 160, 161, 153, 16, 141, 130, + 131, 132, 133, 134, 70, 71, 16, 165, 165, 141, + 49, 50, 117, 118, 51, 52, 82, 122, 16, 70, + 86, 16, 164, 16, 166, 16, 131, 75, 76, 16, + 163, 16, 163, 16, 167, 140, 167, 168, 35, 70, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 75, 76, 122, 162, 37, 38, + 165, 163, 31, 1, 31, 167, 171, 0, 1, 31, + 1, 163, 31, 139, 140, 167, 142, 143, 144, 145, + 146, 147, 148, 59, 60, 1, 137, 138, 70, 155, + 156, 37, 38, 31, 70, 74, 101, 102, 35, 165, + 31, 80, 153, 31, 170, 171, 137, 138, 87, 88, + 89, 31, 91, 31, 93, 31, 95, 106, 107, 98, + 106, 107, 153, 31, 103, 104, 105, 31, 74, 31, + 109, 110, 31, 31, 80, 31, 115, 116, 70, 71, + 31, 87, 88, 89, 31, 91, 84, 93, 127, 95, + 82, 84, 98, 84, 86, 137, 138, 103, 104, 105, + 31, 137, 138, 109, 110, 31, 111, 112, 84, 115, + 116, 153, 31, 106, 31, 108, 31, 153, 31, 158, + 113, 127, 38, 165, 117, 118, 35, 35, 35, 122, + 122, 70, 71, 35, 35, 57, 69, 130, 131, 132, + 133, 134, 37, 82, 37, 37, 37, 86, 140, 70, + 142, 143, 144, 145, 146, 147, 148, 77, 82, 82, + 85, 154, 80, 155, 156, 163, 80, 94, 96, 167, + 163, 83, 163, 165, 167, 168, 167, 113, 170, 171, + 31, 92, 114, 122, 89, 131, 90, 163, 131, 150, + 100, 167, 136, 135, 97, 135, 150, 97, 97, 140, + 153, 140, 100, 142, 143, 144, 145, 146, 147, 148, + 158, 163, 157, 31, 163, 153, 155, 156, 153, 153, + 157, 171, -1, 74, 153, -1, 165, -1, -1, 80, + -1, 170, 171, 163, -1, -1, 87, 88, 89, -1, + 91, -1, 93, -1, 95, -1, -1, 98, -1, -1, + -1, -1, 103, 104, 105, 1, 74, 163, 109, 110, + -1, -1, 80, 159, 115, 116, 163, -1, 162, 87, + 88, 89, -1, 91, 163, 93, 127, 95, 1, 163, + 98, 163, 163, 163, 163, 103, 104, 105, 163, 74, + 163, 109, 110, 163, 163, 80, 163, 115, 116, 163, + 163, 163, 87, 88, 89, 163, 91, 164, 93, 127, + 95, 164, 164, 98, 164, 164, 164, 102, 103, 104, + 105, 165, 74, 165, 109, 110, 165, 165, 80, 81, + 115, 116, 165, 165, 165, 87, 88, 89, 84, 91, + 165, 93, 127, 95, 165, 165, 98, 166, 165, 165, + 165, 103, 104, 105, 100, 101, 102, 109, 110, 165, + 106, 84, 165, 115, 116, 165, 165, 165, 1, 165, + 165, 117, 118, 165, 165, 127, 122, 100, 101, 102, + 166, 165, 165, 106, 130, 131, 132, 133, 134, 165, + 165, 165, 165, 165, 117, 118, 165, 165, 31, 122, + 165, 165, 165, 165, 165, 165, 165, 130, 131, 132, + 133, 134, 74, 166, 165, 165, 170, 163, 80, 166, + 168, 167, 168, 166, 166, 87, 88, 89, 166, 91, + 166, 93, 166, 95, 166, 166, 98, 166, 166, 166, + 163, 103, 104, 105, 167, 168, 166, 109, 110, 82, + 166, 166, 166, 115, 116, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 127, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 166, -1, 117, 118, 167, 167, 167, 122, + 167, 167, 167, 167, 167, 167, 167, 167, 131, 167, + 167, 167, 167, -1, 168, 168, -1, 140, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 162, + 168, 168, 165, 168, 168, -1, -1, 169, 171 ); protected array $actionBase = array( - 0, -2, 152, 549, 727, 904, 944, 1022, 390, 497, - 560, 922, 500, 710, 710, 766, 710, 472, 701, 847, - -60, 305, 305, 847, 305, 783, 783, 783, 666, 666, - 666, 666, 700, 700, 860, 860, 892, 828, 794, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, - 1060, 1060, 1060, 1060, 18, 36, 79, 661, 1053, 1059, - 1055, 1061, 1051, 1050, 1054, 1056, 1062, 1097, 1098, 839, - 1099, 1100, 1096, 1101, 1057, 933, 1052, 1058, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 195, 342, 43, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 495, 495, - 495, 578, 578, 354, 173, 978, 943, 978, 978, 978, - 978, 978, 978, 978, 978, 203, 665, 339, 164, 164, - 7, 7, 7, 7, 7, 50, 369, 704, 704, -23, - -23, -23, -23, 448, 877, 501, 260, 368, 434, 54, - 540, 640, 640, 316, 316, 512, 512, 316, 316, 316, - 442, 442, 252, 252, 252, 252, 318, 469, 599, 358, - 304, 823, 53, 53, 53, 53, 823, 823, 823, 823, - 854, 1103, 823, 823, 823, 439, 471, 471, 703, 539, - 539, 471, 536, -3, -3, 536, 63, -3, 67, 496, - 473, 829, 115, 9, 473, 673, 713, 657, 185, 882, - 659, 882, 1049, 376, 850, 850, 424, 808, 761, 929, - 1074, 1063, 836, 1094, 861, 1095, -66, -58, 748, 1048, - 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, - 1104, 402, 1049, 130, 1104, 1104, 1104, 402, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 718, 130, 561, - 620, 130, 858, 402, 18, 869, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 811, 157, 18, 36, - 124, 124, 196, 37, 124, 124, 124, 124, 18, 18, - 18, 18, 659, 838, 821, 706, 867, 143, 838, 838, - 838, 122, 135, 204, 139, 837, 840, 521, 834, 834, - 848, 950, 834, 846, 834, 848, 962, 834, 834, 950, - 950, 819, 950, 158, 544, 457, 524, 550, 950, 346, - 834, 834, 834, 834, 827, 950, 567, 834, 271, 171, - 834, 834, 827, 824, 820, 58, 866, 950, 950, 950, - 827, 502, 866, 866, 866, 884, 888, 865, 815, 443, - 349, 586, 138, 868, 815, 815, 834, 532, 865, 815, - 865, 815, 855, 815, 815, 815, 865, 815, 846, 492, - 815, 736, 579, 75, 815, 6, 963, 964, 695, 965, - 953, 966, 1007, 967, 970, 1065, 945, 976, 955, 971, - 1010, 952, 951, 832, 685, 693, 875, 833, 940, 842, - 842, 842, 936, 937, 842, 842, 842, 842, 842, 842, - 842, 842, 685, 876, 881, 831, 982, 720, 726, 1038, - 852, 1076, 1102, 981, 1040, 972, 880, 731, 1025, 985, - 1075, 1009, 989, 991, 1026, 1041, 894, 1042, 1077, 843, - 1078, 1079, 891, 995, 1066, 842, 963, 970, 746, 955, - 971, 952, 951, 803, 800, 792, 796, 787, 775, 765, - 771, 812, 1043, 935, 879, 930, 993, 938, 685, 931, - 1019, 942, 1027, 1028, 1064, 871, 841, 932, 1080, 996, - 1000, 1001, 1067, 1044, 1068, 883, 1020, 1011, 1029, 874, - 1081, 1030, 1031, 1032, 1033, 1069, 1082, 1070, 928, 1071, - 895, 851, 1012, 826, 1083, 299, 849, 853, 864, 1006, - 466, 980, 1072, 1084, 1085, 1034, 1035, 1036, 1086, 1087, - 974, 896, 1023, 856, 1024, 1018, 897, 898, 637, 863, - 1045, 844, 845, 859, 643, 656, 1088, 1089, 1090, 975, - 822, 835, 899, 900, 1046, 857, 1047, 1091, 658, 910, - 742, 1092, 1039, 747, 752, 603, 683, 681, 756, 862, - 1073, 878, 825, 870, 1005, 752, 830, 911, 1093, 917, - 918, 919, 1037, 920, 0, 0, 0, 0, 0, 0, + 0, -2, 156, 559, 757, 1004, 1027, 485, 292, 357, + -60, -12, 588, 759, 759, 774, 759, 557, 752, 888, + 598, 598, 598, 836, 313, 313, 836, 313, 711, 711, + 711, 711, 744, 744, 965, 965, 998, 932, 899, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 33, 20, 224, 1083, 661, 1057, 1063, 1059, + 1064, 1055, 1054, 1058, 1060, 1065, 1113, 1115, 837, 1112, + 1116, 1061, 902, 1056, 1062, 887, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 68, 476, 582, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 624, 624, 22, 22, 22, + 362, 811, 758, 811, 811, 811, 811, 811, 811, 811, + 811, 346, 205, 188, 714, 171, 171, 7, 7, 7, + 7, 7, 376, 1117, 54, 585, 585, 314, 314, 314, + 314, 365, 568, 370, 435, 397, 651, 477, 463, 532, + 532, 558, 558, 76, 76, 558, 558, 558, 133, 133, + 547, 547, 547, 547, 41, 437, 809, 382, 382, 382, + 382, 809, 809, 809, 809, 796, 996, 809, 809, 809, + 494, 533, 708, 653, 653, 560, -70, -70, 560, 804, + -70, 487, 316, -102, 807, -40, 548, -102, 1000, 368, + 639, 639, 659, 639, 639, 639, 854, 701, 854, 1053, + -42, 825, 825, 794, 731, 69, 892, 1084, 1066, 840, + 1109, 852, 1110, 1085, 489, 378, -16, 13, 74, 728, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 800, 568, 1053, 222, 1107, 1108, 800, 800, + 800, 568, 568, 568, 568, 568, 568, 568, 568, 799, + 568, 568, 745, 222, 642, 669, 222, 849, 568, 812, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 512, 33, 33, 20, 5, 5, 33, 202, 52, 5, + 5, 5, 337, 5, 33, 33, 33, 701, 828, 805, + 704, -18, 813, 443, 828, 828, 828, 120, 143, 128, + 693, 753, 514, 832, 832, 827, 929, 929, 832, 826, + 832, 827, 832, 832, 929, 929, 856, 929, 218, 515, + 373, 456, 537, 929, 320, 832, 832, 832, 832, 810, + 929, 127, 544, 832, 305, 234, 832, 832, 810, 808, + 824, 806, 929, 929, 929, 810, 389, 806, 806, 806, + 820, 844, 814, 819, 367, 359, 590, 181, 834, 819, + 819, 832, 506, 814, 819, 814, 819, 802, 819, 819, + 819, 814, 819, 826, 383, 819, 699, 574, 163, 819, + 832, 19, 944, 947, 721, 950, 934, 951, 991, 952, + 954, 1073, 925, 967, 935, 955, 999, 933, 930, 835, + 671, 680, 815, 797, 919, 817, 817, 817, 912, 917, + 817, 817, 817, 817, 817, 817, 817, 817, 671, 893, + 821, 845, 976, 692, 695, 1042, 789, 1090, 1118, 975, + 944, 954, 723, 935, 955, 933, 930, 792, 791, 786, + 788, 782, 772, 762, 770, 803, 1044, 958, 798, 697, + 1014, 977, 1087, 1070, 978, 981, 1018, 1045, 853, 1046, + 1091, 829, 1092, 1093, 897, 985, 1074, 817, 911, 906, + 898, 982, 918, 671, 900, 1047, 1003, 1069, 1019, 1021, + 1071, 850, 838, 901, 1094, 986, 987, 988, 1075, 1076, + 801, 1007, 931, 1022, 851, 1002, 1023, 1030, 1034, 1035, + 1077, 1095, 1078, 908, 1079, 861, 846, 964, 822, 1096, + 196, 843, 848, 859, 990, 291, 974, 1080, 1086, 1097, + 1036, 1039, 1040, 1098, 1099, 959, 866, 1008, 823, 1012, + 997, 868, 869, 607, 858, 1048, 841, 842, 857, 643, + 646, 1100, 1101, 1102, 966, 831, 830, 870, 871, 1050, + 855, 1051, 1103, 655, 875, 1104, 1043, 703, 705, 586, + 664, 662, 707, 839, 1082, 816, 818, 847, 989, 705, + 833, 877, 1105, 880, 881, 883, 1041, 886, 1016, 1106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 456, 456, 456, 456, 456, 456, - 305, 305, 305, 305, 305, 456, 456, 456, 456, 456, - 456, 456, 305, 305, 0, 0, 305, 0, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 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, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 594, 594, 289, 289, 594, 594, - 594, 594, 594, 594, 594, 594, 594, 594, 289, 0, - 289, 289, 289, 289, 289, 289, 289, 289, 594, 819, - 594, 594, 442, 442, 442, 442, 594, 594, 594, -88, - -88, 442, 594, 63, 594, 594, 594, 594, 594, 594, - 594, 594, 594, 0, 0, 594, 594, 594, 594, 0, - 0, 0, 130, -3, 594, 846, 846, 846, 846, 594, - 594, 594, 594, -3, -3, 594, 594, 594, 0, 0, - 0, 0, 442, 442, 0, 130, 0, 0, 130, 0, - 0, 846, 846, 594, 63, 819, 359, 594, 0, 0, - 0, 0, 130, 846, 130, 402, 834, -3, -3, 834, - 402, 402, 124, 18, 359, 605, 605, 605, 605, 0, - 0, 659, 819, 819, 819, 819, 819, 819, 819, 819, - 819, 819, 819, 846, 0, 819, 0, 846, 846, 846, + 0, 0, 0, 0, 468, 468, 468, 468, 468, 468, + 313, 313, 313, 313, 313, 468, 468, 468, 468, 468, + 468, 468, 313, 468, 468, 468, 313, 0, 0, 313, + 0, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 846, 0, 0, 950, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 962, - 0, 0, 0, 0, 0, 0, 846, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 842, 871, 0, 871, - 0, 842, 842, 842, 0, 0, 0, 0, 863, 857 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 524, 524, + 297, 297, 297, 297, 524, 524, 524, 524, 524, 524, + 524, 524, 524, 524, 297, 297, 297, 0, 297, 297, + 297, 297, 297, 297, 297, 856, 524, 524, 524, 524, + 133, 133, 133, 133, -95, -95, -95, 524, 524, 133, + 524, 856, 524, 524, 524, 524, 524, 524, 524, 524, + 524, 0, 0, 524, 524, 524, 524, 222, -70, 524, + 826, 826, 826, 826, 524, 524, 524, 524, -70, -70, + 524, 524, 524, 0, 0, 0, 133, 133, 222, 0, + 0, 222, 391, 0, 826, 826, 524, 391, 856, 442, + 524, 489, 0, 0, 0, 0, 0, 0, 0, 222, + 826, 222, 568, 832, -70, -70, 568, 568, 832, 5, + 33, 442, 685, 685, 685, 685, 33, 0, 0, 0, + 0, 0, 701, 856, 856, 856, 856, 856, 856, 856, + 856, 856, 856, 856, 856, 826, 0, 856, 0, 856, + 856, 826, 826, 826, 0, 0, 0, 0, 0, 0, + 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, + 826, 0, 929, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 826, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 817, 850, 0, 0, 850, 0, 817, 817, 817, + 0, 0, 0, 858, 855 ); protected array $actionDefault = array( 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 100,32767,32767,32767,32767, 602, 602, - 602, 602,32767,32767, 254, 102,32767,32767, 470, 387, - 387, 387,32767,32767, 544, 544, 544, 544, 544, 544, - 32767,32767,32767,32767,32767,32767, 470,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 100,32767, 617, 617, + 617, 617,32767,32767, 254, 102,32767,32767, 488, 405, + 405, 405,32767,32767, 561, 561, 561, 561, 561,32767, + 32767,32767,32767,32767,32767, 488,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 100, - 32767,32767,32767, 36, 7, 8, 10, 11, 49, 17, - 324,32767,32767,32767,32767, 102,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 36, 7, 8, 10, + 11, 49, 17, 327, 100,32767,32767,32767,32767,32767, + 32767,32767,32767, 102,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 595,32767,32767, + 32767,32767,32767,32767,32767, 392, 610,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 474, 453, - 454, 456, 457, 386, 545, 601, 327, 598, 385, 145, - 339, 329, 242, 330, 258, 475, 259, 476, 479, 480, - 215, 287, 382, 149, 150, 417, 471, 419, 469, 473, - 418, 392, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 390, 391, 472, 450, 449, - 448,32767,32767, 415, 416,32767,32767,32767,32767,32767, - 32767,32767,32767, 102,32767, 420, 389, 423, 421, 422, - 439, 440, 437, 438, 441,32767,32767,32767,32767, 442, - 443, 444, 445, 316,32767,32767, 366, 364, 424, 316, - 111,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 430, 431,32767,32767,32767,32767, 487, 538, 447,32767, + 32767,32767,32767,32767,32767,32767, 492, 471, 472, 474, + 475, 404, 562, 616, 330, 613, 332, 403, 145, 342, + 333, 242, 258, 493, 259, 494, 497, 498, 215, 389, + 149, 150, 435, 489, 437, 487, 491, 436, 410, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 408, 409, 490,32767,32767, 468, 467, 466, + 433,32767,32767,32767,32767,32767,32767,32767,32767, 102, + 32767, 434, 438, 441, 407, 439, 440, 457, 458, 455, + 456, 459,32767,32767, 319,32767,32767, 460, 461, 462, + 463, 370, 195, 368,32767,32767, 442, 319, 111,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 448, 449, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 102,32767, 100, 540, 412, 414, 507, 425, - 426, 393,32767, 514,32767, 102,32767, 516,32767,32767, - 32767,32767,32767,32767,32767, 539,32767, 546, 546,32767, - 500, 100, 195,32767,32767, 515,32767, 195, 195,32767, - 32767,32767,32767,32767,32767,32767,32767, 609, 500, 110, + 32767,32767,32767,32767,32767,32767,32767, 102,32767, 100, + 505, 555, 465, 443, 444,32767, 530,32767, 102,32767, + 532,32767,32767,32767,32767,32767,32767,32767,32767, 557, + 430, 432, 525, 611, 411, 614,32767, 518, 100, 195, + 32767,32767, 531, 195, 195,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 556,32767, 624, 518, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 32767, 195, 110,32767,32767,32767, 100, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 190,32767, 268, - 270, 102, 563, 195,32767, 519,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 512,32767,32767,32767, + 110, 110,32767, 195, 110,32767, 110, 110,32767,32767, + 100, 195, 195, 195, 195, 195, 195, 195, 195, 533, + 195, 195, 190,32767, 268, 270, 102, 579, 195, 535, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 500, 435, 138,32767, 138, 546, 427, 428, - 429, 502, 546, 546, 546, 312, 289,32767,32767,32767, - 32767, 517, 100, 100, 100, 100, 512,32767,32767,32767, - 32767, 111, 486, 99, 99, 99, 99, 99, 103, 101, - 32767,32767,32767,32767, 223,32767, 99,32767, 101, 101, - 32767,32767, 223, 225, 212, 101, 227,32767, 567, 568, - 223, 101, 227, 227, 227, 247, 247, 489, 318, 101, - 99, 101, 101, 197, 318, 318,32767, 101, 489, 318, - 489, 318, 199, 318, 318, 318, 489, 318,32767, 101, - 318, 214, 99, 99, 318,32767,32767,32767, 502,32767, - 32767,32767,32767,32767,32767,32767, 222,32767,32767,32767, - 32767,32767,32767,32767,32767, 533,32767, 551, 565, 433, - 434, 436, 550, 548, 458, 459, 460, 461, 462, 463, - 464, 466, 597,32767, 506,32767,32767,32767, 338,32767, - 607,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 608,32767, - 546,32767,32767,32767,32767, 432, 9, 74, 495, 42, - 43, 51, 57, 523, 524, 525, 526, 520, 521, 527, - 522,32767,32767, 528, 573,32767,32767, 547, 600,32767, - 32767,32767,32767,32767,32767, 138,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 533,32767, 136, - 32767,32767,32767,32767,32767,32767,32767,32767, 529,32767, - 32767,32767, 546,32767,32767,32767,32767, 314, 311,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 546,32767,32767,32767,32767, - 32767, 291,32767, 308,32767,32767,32767,32767,32767,32767, + 32767,32767, 392,32767,32767,32767,32767, 518, 453, 138, + 32767, 520, 138, 563, 445, 446, 447, 563, 563, 563, + 315, 292,32767,32767,32767,32767, 533, 533, 100, 100, + 100, 100,32767,32767,32767,32767, 111, 504, 99, 99, + 99, 99, 99, 103, 101,32767,32767,32767,32767, 223, + 32767, 101, 99,32767, 101, 101,32767,32767, 223, 225, + 212, 227,32767, 583, 584, 223, 101, 227, 227, 227, + 247, 247, 507, 321, 101, 99, 101, 101, 197, 321, + 321,32767, 101, 507, 321, 507, 321, 199, 321, 321, + 321, 507, 321,32767, 101, 321, 214, 99, 99, 321, + 32767,32767,32767,32767, 520,32767,32767,32767,32767,32767, + 32767,32767, 222,32767,32767,32767,32767,32767,32767,32767, + 32767, 550,32767, 568, 581, 451, 452, 454, 567, 565, + 476, 477, 478, 479, 480, 481, 482, 484, 612,32767, + 524,32767,32767,32767, 341,32767, 622,32767,32767,32767, + 9, 74, 513, 42, 43, 51, 57, 539, 540, 541, + 542, 536, 537, 543, 538,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 286,32767,32767, 381, 502, 294, 296, 297,32767,32767, - 32767,32767, 360,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 152, 152, 3, 3, 341, 152, - 152, 152, 341, 341, 152, 341, 341, 341, 152, 152, - 152, 152, 152, 152, 280, 185, 262, 265, 247, 247, - 152, 352, 152 + 623,32767, 563,32767,32767,32767,32767, 450, 545, 589, + 32767,32767, 564, 615,32767,32767,32767,32767,32767,32767, + 32767, 138,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 550,32767, 136,32767,32767,32767,32767,32767, + 32767,32767,32767, 546,32767,32767,32767, 563,32767,32767, + 32767,32767, 317, 314,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 563,32767,32767,32767,32767,32767, 294,32767, 311,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 388, 520, 297, + 299, 300,32767,32767,32767,32767, 364,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 152, 152, 3, 3, 344, 152, 152, 152, 344, 344, + 152, 344, 344, 344, 152, 152, 152, 152, 152, 152, + 152, 280, 185, 262, 265, 247, 247, 152, 356, 152, + 390, 390, 399 ); protected array $goto = array( - 196, 196, 1038, 1069, 701, 353, 433, 665, 856, 710, - 427, 321, 316, 317, 337, 580, 432, 338, 434, 642, - 658, 659, 421, 676, 677, 678, 857, 167, 167, 167, - 167, 221, 197, 193, 193, 177, 179, 216, 193, 193, - 193, 193, 193, 194, 194, 194, 194, 194, 194, 188, - 189, 190, 191, 192, 218, 216, 219, 539, 540, 423, - 541, 544, 545, 546, 547, 548, 549, 550, 551, 1140, - 168, 169, 170, 195, 171, 172, 173, 166, 174, 175, - 176, 178, 215, 217, 220, 238, 243, 244, 255, 257, - 258, 259, 260, 261, 262, 263, 264, 269, 270, 271, - 272, 278, 290, 291, 319, 320, 428, 429, 430, 585, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 180, 237, 181, 198, 199, - 200, 239, 188, 189, 190, 191, 192, 218, 1140, 201, - 182, 183, 184, 202, 198, 185, 240, 203, 201, 165, - 204, 205, 186, 206, 207, 208, 187, 209, 210, 211, - 212, 213, 214, 859, 613, 628, 631, 632, 633, 634, - 655, 656, 657, 712, 460, 979, 280, 280, 280, 280, - 479, 1321, 1322, 627, 627, 831, 604, 1276, 1276, 1276, - 1276, 1276, 1276, 1276, 1276, 1276, 1276, 398, 401, 564, - 605, 609, 890, 552, 552, 552, 552, 864, 608, 913, - 908, 909, 922, 865, 910, 862, 911, 912, 863, 465, - 441, 916, 1041, 1041, 685, 956, 1189, 357, 1033, 1049, - 1050, 1091, 1086, 1087, 1088, 1295, 1295, 357, 357, 1295, - 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 698, - 357, 357, 833, 917, 357, 918, 1363, 354, 355, 577, - 1244, 698, 1244, 1244, 426, 698, 615, 558, 1038, 1038, - 1244, 357, 357, 5, 1038, 6, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 625, 662, 1038, 1038, 1038, - 1038, 1328, 1328, 1328, 1328, 351, 1244, 356, 356, 356, - 356, 1244, 1244, 1244, 1244, 1111, 1112, 1244, 1244, 1244, - 344, 563, 556, 897, 855, 897, 897, 1336, 554, 1307, - 554, 554, 482, 603, 1104, 930, 713, 1000, 554, 931, - 484, 396, 946, 345, 344, 946, 511, 704, 872, 1102, - 690, 343, 556, 563, 572, 573, 346, 583, 606, 620, - 621, 575, 852, 884, 458, 664, 871, 22, 1137, 973, - 973, 973, 973, 1044, 1043, 458, 967, 974, 1292, 1292, - 558, 1062, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, - 1292, 1292, 543, 543, 1047, 1048, 543, 543, 543, 543, - 543, 543, 543, 543, 543, 543, 570, 469, 469, 440, - 737, 641, 643, 670, 852, 663, 469, 327, 311, 687, - 691, 1014, 699, 708, 1010, 686, 1017, 1017, 1220, 948, - 1323, 1324, 1221, 1224, 949, 1225, 849, 557, 567, 581, - 618, 557, 339, 567, 877, 1237, 399, 464, 451, 451, - 451, 451, 405, 1318, 837, 1318, 1318, 251, 251, 472, - 584, 473, 474, 1318, 962, 1022, 882, 542, 542, 1354, - 1355, 542, 874, 542, 542, 542, 542, 542, 542, 542, - 542, 971, 412, 709, 249, 249, 249, 249, 246, 252, - 1330, 1330, 1330, 1330, 837, 880, 837, 410, 411, 635, - 637, 639, 674, 619, 675, 1075, 414, 415, 416, 1235, - 688, 740, 886, 417, 1079, 0, 1314, 349, 435, 984, - 885, 873, 1074, 1078, 435, 1122, 503, 0, 504, 1239, - 1045, 1045, 982, 852, 510, 0, 0, 669, 1056, 1052, - 1053, 0, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 935, 1127, 451, 972, 0, 1077, 0, - 623, 0, 1316, 1316, 1077, 0, 1019, 0, 0, 326, - 276, 326, 326, 0, 876, 1261, 668, 998, 1120, 889, - 1346, 1346, 870, 1240, 1241, 1003, 0, 0, 975, 0, - 736, 0, 847, 0, 1234, 0, 0, 1346, 555, 1012, - 1007, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1242, 1304, 1305, 1349, 1349, 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, 254, 254 + 194, 194, 1051, 487, 705, 278, 278, 278, 278, 1082, + 489, 548, 548, 907, 865, 907, 907, 548, 714, 548, + 548, 548, 548, 548, 548, 548, 548, 166, 166, 166, + 166, 218, 195, 191, 191, 176, 178, 213, 191, 191, + 191, 191, 191, 192, 192, 192, 192, 192, 186, 187, + 188, 189, 190, 215, 213, 216, 545, 546, 428, 547, + 550, 551, 552, 553, 554, 555, 556, 557, 1168, 167, + 168, 169, 193, 170, 171, 172, 164, 173, 174, 175, + 177, 212, 214, 217, 237, 240, 251, 252, 253, 255, + 256, 257, 258, 259, 260, 261, 267, 268, 269, 270, + 276, 288, 289, 313, 314, 434, 435, 436, 607, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 186, 187, 188, 189, 190, + 215, 1168, 196, 197, 198, 199, 238, 179, 180, 200, + 181, 201, 197, 182, 239, 196, 163, 202, 203, 183, + 204, 205, 206, 184, 207, 208, 165, 209, 210, 211, + 185, 869, 560, 841, 560, 560, 592, 1099, 866, 847, + 744, 646, 648, 609, 560, 668, 1125, 1153, 1126, 692, + 695, 1024, 703, 712, 1020, 719, 355, 355, 355, 355, + 1054, 1054, 690, 966, 867, 463, 1046, 1062, 1063, 989, + 983, 983, 983, 983, 247, 247, 463, 977, 984, 1371, + 1371, 847, 426, 847, 923, 918, 919, 932, 875, 920, + 872, 921, 922, 873, 1371, 926, 879, 900, 475, 475, + 878, 245, 245, 245, 245, 242, 248, 475, 1105, 1101, + 1102, 438, 670, 1057, 1056, 1374, 1374, 433, 334, 330, + 331, 333, 602, 437, 335, 439, 647, 470, 1272, 1051, + 1272, 1272, 341, 599, 456, 456, 1217, 456, 456, 1051, + 1272, 350, 1051, 520, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 342, 341, 1051, 1051, 1051, 1051, 663, + 664, 1272, 681, 682, 683, 465, 1272, 1272, 1272, 1272, + 862, 440, 1272, 1272, 1272, 1353, 1353, 1353, 1353, 348, + 1248, 958, 1361, 358, 440, 1249, 1252, 959, 940, 1253, + 1058, 1058, 941, 358, 358, 882, 400, 674, 1069, 1065, + 1066, 630, 667, 702, 358, 358, 447, 843, 358, 927, + 1388, 928, 1010, 894, 569, 562, 881, 862, 956, 702, + 1060, 1061, 702, 956, 597, 564, 981, 417, 713, 358, + 358, 669, 456, 456, 456, 456, 456, 456, 456, 456, + 456, 456, 456, 456, 1165, 432, 456, 621, 456, 456, + 320, 306, 340, 562, 569, 594, 595, 345, 605, 611, + 1075, 626, 627, 675, 632, 632, 484, 1346, 1347, 25, + 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, + 1322, 1322, 640, 642, 644, 1333, 1322, 1322, 1322, 1322, + 1322, 1322, 1322, 1322, 1322, 1322, 445, 5, 1344, 6, + 1344, 1344, 558, 558, 558, 558, 422, 613, 250, 250, + 1344, 895, 883, 1087, 1091, 271, 319, 691, 319, 319, + 336, 563, 589, 859, 992, 887, 563, 972, 589, 409, + 403, 469, 1355, 1355, 1355, 1355, 884, 564, 402, 405, + 610, 614, 625, 478, 606, 479, 480, 982, 862, 1348, + 1349, 892, 1319, 1319, 1379, 1380, 1340, 1263, 1319, 1319, + 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1013, 1137, + 899, 985, 1148, 743, 549, 549, 561, 1022, 1017, 890, + 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, + 1267, 1032, 608, 1118, 1088, 351, 352, 508, 328, 509, + 747, 1265, 1042, 717, 485, 515, 896, 1090, 516, 708, + 1092, 1116, 994, 1342, 1342, 1090, 619, 633, 636, 637, + 638, 639, 660, 661, 662, 716, 718, 414, 415, 752, + 752, 377, 679, 0, 680, 0, 419, 420, 421, 1139, + 693, 603, 624, 423, 0, 1268, 1269, 346, 1255, 0, + 0, 0, 0, 615, 857, 0, 945, 1155, 0, 0, + 0, 1255, 0, 0, 0, 0, 0, 0, 1029, 0, + 0, 0, 0, 1270, 1330, 1331, 886, 0, 673, 1008, + 0, 0, 0, 0, 880, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1262, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1027, + 1027 ); protected array $gotoCheck = array( - 42, 42, 73, 127, 73, 97, 66, 66, 26, 9, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 86, 86, 43, 86, 86, 86, 27, 42, 42, 42, + 42, 42, 73, 84, 73, 23, 23, 23, 23, 128, + 84, 162, 162, 25, 25, 25, 25, 162, 9, 162, + 162, 162, 162, 162, 162, 162, 162, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -935,103 +944,101 @@ class Php8 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 15, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 83, 49, 23, 23, 23, 23, - 178, 178, 178, 108, 108, 6, 130, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 59, 59, 59, - 59, 59, 45, 107, 107, 107, 107, 15, 107, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 151, - 83, 15, 89, 89, 89, 89, 151, 14, 89, 89, - 89, 15, 15, 15, 15, 172, 172, 14, 14, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 7, - 14, 14, 7, 65, 14, 65, 14, 97, 97, 174, - 73, 7, 73, 73, 13, 7, 13, 14, 73, 73, - 73, 14, 14, 46, 73, 46, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 56, 56, 73, 73, 73, - 73, 9, 9, 9, 9, 181, 73, 24, 24, 24, - 24, 73, 73, 73, 73, 144, 144, 73, 73, 73, - 170, 76, 76, 25, 25, 25, 25, 183, 19, 14, - 19, 19, 84, 8, 8, 73, 8, 103, 19, 73, - 84, 62, 9, 170, 170, 9, 8, 8, 35, 8, - 14, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 104, 22, 35, 19, 64, 35, 76, 150, 19, - 19, 19, 19, 118, 118, 19, 19, 19, 173, 173, - 14, 114, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 175, 175, 119, 119, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 48, 149, 149, 113, - 48, 48, 48, 120, 22, 48, 149, 171, 171, 48, - 48, 48, 48, 48, 48, 116, 107, 107, 79, 79, - 180, 180, 79, 79, 79, 79, 18, 9, 9, 2, - 2, 9, 29, 9, 39, 14, 9, 9, 23, 23, - 23, 23, 28, 130, 12, 130, 130, 5, 5, 9, - 9, 9, 9, 130, 92, 110, 9, 158, 158, 9, - 9, 158, 37, 158, 158, 158, 158, 158, 158, 158, - 158, 93, 93, 93, 5, 5, 5, 5, 5, 5, - 130, 130, 130, 130, 12, 9, 12, 82, 82, 85, - 85, 85, 82, 80, 82, 129, 82, 82, 82, 162, - 82, 99, 41, 82, 132, -1, 130, 82, 117, 96, - 16, 16, 16, 16, 117, 147, 155, -1, 155, 20, - 117, 117, 16, 22, 155, -1, -1, 117, 117, 117, - 117, -1, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 17, 17, 23, 16, -1, 130, -1, - 17, -1, 130, 130, 130, -1, 17, -1, -1, 24, - 24, 24, 24, -1, 17, 20, 17, 17, 16, 16, - 184, 184, 17, 20, 20, 50, -1, -1, 50, -1, - 50, -1, 20, -1, 17, -1, -1, 184, 50, 50, - 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 20, 20, 20, 184, 184, -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, 5, 5 + 42, 15, 19, 6, 19, 19, 48, 15, 26, 12, + 48, 48, 48, 131, 19, 48, 146, 146, 146, 48, + 48, 48, 48, 48, 48, 48, 24, 24, 24, 24, + 89, 89, 89, 89, 27, 19, 89, 89, 89, 49, + 19, 19, 19, 19, 5, 5, 19, 19, 19, 188, + 188, 12, 43, 12, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 188, 15, 15, 45, 154, 154, + 15, 5, 5, 5, 5, 5, 5, 154, 15, 15, + 15, 66, 66, 119, 119, 188, 188, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 156, 73, 73, + 73, 73, 174, 178, 23, 23, 156, 23, 23, 73, + 73, 97, 73, 76, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 174, 174, 73, 73, 73, 73, 86, + 86, 73, 86, 86, 86, 83, 73, 73, 73, 73, + 22, 118, 73, 73, 73, 9, 9, 9, 9, 185, + 79, 79, 187, 14, 118, 79, 79, 79, 73, 79, + 118, 118, 73, 14, 14, 35, 62, 118, 118, 118, + 118, 56, 56, 7, 14, 14, 83, 7, 14, 65, + 14, 65, 103, 35, 76, 76, 35, 22, 9, 7, + 120, 120, 7, 9, 104, 14, 93, 93, 93, 14, + 14, 64, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 155, 13, 23, 13, 23, 23, + 175, 175, 76, 76, 76, 76, 76, 76, 76, 76, + 115, 76, 76, 121, 108, 108, 182, 182, 182, 76, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 176, 176, 85, 85, 85, 14, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 113, 46, 131, 46, + 131, 131, 107, 107, 107, 107, 14, 107, 5, 5, + 131, 16, 16, 16, 16, 24, 24, 117, 24, 24, + 29, 9, 9, 18, 16, 39, 9, 92, 9, 28, + 9, 9, 131, 131, 131, 131, 37, 14, 59, 59, + 59, 59, 80, 9, 9, 9, 9, 16, 22, 184, + 184, 9, 177, 177, 9, 9, 131, 166, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 177, 50, 16, + 16, 50, 153, 50, 179, 179, 50, 50, 50, 9, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 20, 110, 8, 8, 130, 97, 97, 160, 9, 160, + 99, 14, 114, 8, 157, 160, 41, 131, 8, 8, + 133, 8, 96, 131, 131, 131, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 82, 82, 24, + 24, 138, 82, -1, 82, -1, 82, 82, 82, 149, + 82, 2, 2, 82, -1, 20, 20, 82, 20, -1, + -1, -1, -1, 17, 20, -1, 17, 17, -1, -1, + -1, 20, -1, -1, -1, -1, -1, -1, 17, -1, + -1, -1, -1, 20, 20, 20, 17, -1, 17, 17, + -1, -1, -1, -1, 17, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 17, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 107, + 107 ); protected array $gotoBase = array( - 0, 0, -287, 0, 0, 446, 165, 242, 315, -11, - 0, 0, 145, -75, -73, -187, 56, 75, 114, 53, - 124, 0, 72, 173, 294, 310, 4, 22, 103, 133, - 0, 0, 0, 0, 0, -35, 0, 121, 0, 109, - 0, 60, -1, 3, 0, 179, -467, 0, -319, 157, - 563, 0, 0, 0, 0, 0, 245, 0, 0, 152, - 0, 0, 289, 0, 113, 239, -235, 0, 0, 0, - 0, 0, 0, -5, 0, 0, -36, 0, 0, 8, - 147, -196, -7, -106, -150, 7, -702, 0, 0, -59, - 0, 0, 123, 164, 0, 0, 65, -481, 0, 92, - 0, 0, 0, 292, 308, 0, 0, 175, -58, 0, - 83, 0, 0, 120, 97, 0, 132, 235, 82, 99, - 111, 0, 0, 0, 0, 0, 0, 1, 0, 119, - 178, 0, 61, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 29, 0, 0, 70, 0, 363, - 112, -49, 0, 0, 0, 18, 0, 0, 216, 0, - 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 10, 84, -6, 127, 230, 141, 0, 0, -123, 0, - 46, 265, 0, 286, 260, 0, 0 + 0, 0, -151, 0, 0, 203, 153, 326, 514, 8, + 0, 0, -125, 39, 18, -186, -18, 112, 146, -101, + 121, 0, 22, 2, 183, 10, 164, 190, 123, 156, + 0, 0, 0, 0, 0, -50, 0, 128, 0, 137, + 0, 88, -1, 189, 0, 201, -320, 0, -555, 181, + 486, 0, 0, 0, 0, 0, 291, 0, 0, 423, + 0, 0, 284, 0, 125, 325, 6, 0, 0, 0, + 0, 0, 0, -5, 0, 0, 1, 0, 0, -104, + 127, 185, 58, 17, -475, -75, -439, 0, 0, -89, + 0, 0, 133, 54, 0, 0, 92, -220, 0, 117, + 0, 0, 0, 307, 311, 0, 0, 404, 159, 0, + 147, 0, 0, 149, 110, 116, 0, 166, 37, -36, + 67, 103, 0, 0, 0, 0, 0, 0, 7, 0, + 144, 165, 0, 91, 0, 0, 0, 0, -190, 0, + 0, 0, 0, 0, 0, 0, -95, 0, 0, 118, + 0, 0, 0, 148, 194, 132, -9, 87, 0, 0, + 24, 0, -224, 0, 0, 0, 114, 0, 0, 0, + 0, 0, 0, 0, -33, 64, 175, 247, 234, 269, + 0, 0, 98, 0, 101, 279, 0, 281, -96, 0, + 0 ); protected array $gotoDefault = array( - -32768, 515, 744, 4, 745, 939, 820, 829, 601, 533, - 711, 350, 629, 424, 1312, 915, 1126, 582, 848, 1253, - 1227, 459, 851, 332, 734, 927, 898, 899, 402, 388, - 394, 400, 653, 630, 497, 883, 455, 875, 489, 878, - 454, 887, 164, 420, 513, 891, 3, 894, 561, 925, - 977, 389, 902, 390, 681, 904, 566, 906, 907, 397, - 403, 404, 1131, 574, 626, 919, 256, 568, 920, 387, - 921, 929, 392, 395, 692, 468, 508, 502, 413, 1106, - 569, 612, 650, 448, 476, 624, 636, 622, 483, 436, - 418, 331, 961, 969, 490, 466, 983, 352, 991, 742, - 1139, 644, 492, 999, 645, 1006, 1009, 534, 535, 481, - 1021, 273, 1024, 493, 19, 671, 1035, 1036, 672, 646, - 1058, 647, 673, 648, 1060, 475, 602, 1068, 456, 1076, - 1300, 457, 1080, 266, 1083, 279, 419, 437, 1089, 1090, - 9, 1096, 702, 703, 11, 277, 512, 1121, 693, 453, - 1138, 452, 1208, 1210, 562, 494, 1228, 480, 296, 1231, - 684, 509, 1236, 449, 1303, 450, 536, 477, 318, 537, - 1347, 310, 335, 315, 553, 297, 336, 538, 478, 1309, - 1317, 333, 31, 1337, 1348, 579, 617 + -32768, 521, 754, 4, 755, 949, 830, 839, 585, 539, + 715, 347, 634, 429, 1338, 925, 1154, 604, 858, 1281, + 1287, 464, 861, 325, 741, 937, 908, 909, 406, 393, + 874, 404, 658, 635, 502, 893, 460, 885, 494, 888, + 459, 897, 162, 425, 518, 901, 3, 904, 567, 935, + 987, 394, 912, 395, 686, 914, 588, 916, 917, 401, + 407, 408, 1159, 596, 631, 929, 254, 590, 930, 392, + 931, 939, 397, 399, 696, 474, 513, 507, 418, 1120, + 591, 618, 655, 453, 481, 629, 641, 628, 488, 441, + 424, 324, 971, 979, 495, 472, 993, 349, 1001, 749, + 1167, 649, 497, 1009, 650, 1016, 1019, 540, 541, 486, + 1031, 264, 1034, 498, 1043, 23, 676, 1048, 1049, 677, + 651, 1071, 652, 678, 653, 1073, 471, 586, 1081, 461, + 1089, 1327, 462, 1093, 262, 1096, 277, 353, 376, 442, + 1103, 1104, 9, 1110, 706, 707, 19, 273, 517, 1138, + 697, 1144, 272, 1147, 458, 1166, 457, 1236, 1238, 568, + 499, 1256, 310, 1259, 689, 514, 1264, 454, 1329, 455, + 542, 482, 332, 543, 1372, 305, 356, 329, 559, 311, + 357, 544, 483, 1335, 1343, 326, 31, 1362, 1373, 601, + 623 ); protected array $ruleToNonTerminal = array( @@ -1063,17 +1070,19 @@ class Php8 extends \PhpParser\ParserAbstract 98, 99, 99, 100, 101, 101, 102, 102, 103, 103, 55, 55, 51, 51, 105, 53, 53, 106, 52, 52, 54, 54, 64, 64, 64, 64, 81, 81, 109, 109, - 111, 111, 112, 112, 112, 112, 110, 110, 110, 114, - 114, 114, 114, 89, 89, 117, 117, 117, 118, 118, - 115, 115, 119, 119, 121, 121, 122, 122, 116, 123, - 123, 120, 124, 124, 124, 124, 113, 113, 82, 82, - 82, 20, 20, 20, 126, 125, 125, 127, 127, 127, - 127, 60, 128, 128, 129, 61, 131, 131, 132, 132, - 133, 133, 86, 134, 134, 134, 134, 134, 134, 134, - 139, 139, 140, 140, 141, 141, 141, 141, 141, 142, - 143, 143, 138, 138, 135, 135, 137, 137, 145, 145, - 144, 144, 144, 144, 144, 144, 144, 136, 146, 146, - 148, 147, 147, 62, 104, 149, 149, 56, 56, 42, + 111, 111, 112, 112, 112, 112, 112, 112, 112, 110, + 110, 110, 115, 115, 115, 115, 89, 89, 118, 118, + 118, 119, 119, 116, 116, 120, 120, 122, 122, 123, + 123, 117, 124, 124, 121, 125, 125, 125, 125, 113, + 113, 82, 82, 82, 20, 20, 20, 127, 126, 126, + 128, 128, 128, 128, 60, 129, 129, 130, 61, 132, + 132, 133, 133, 134, 134, 86, 135, 135, 135, 135, + 135, 135, 135, 135, 141, 141, 142, 142, 143, 143, + 143, 143, 143, 144, 145, 145, 140, 140, 136, 136, + 139, 139, 147, 147, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 137, 148, 148, 150, 149, 149, + 138, 138, 114, 114, 151, 151, 153, 153, 153, 152, + 152, 62, 104, 154, 154, 56, 56, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -1083,21 +1092,20 @@ class Php8 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 156, 158, 158, 159, 150, 150, 155, - 155, 160, 161, 161, 162, 163, 164, 164, 164, 164, - 19, 19, 73, 73, 73, 73, 151, 151, 151, 151, - 166, 166, 152, 152, 154, 154, 154, 157, 157, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, - 173, 108, 175, 175, 175, 175, 153, 153, 153, 153, - 153, 153, 153, 153, 59, 59, 169, 169, 169, 169, - 169, 176, 176, 165, 165, 165, 165, 177, 177, 177, - 177, 177, 177, 74, 74, 66, 66, 66, 66, 130, - 130, 130, 130, 180, 179, 168, 168, 168, 168, 168, - 168, 168, 167, 167, 167, 178, 178, 178, 178, 107, - 174, 182, 182, 181, 181, 183, 183, 183, 183, 183, - 183, 183, 183, 171, 171, 171, 171, 170, 185, 184, - 184, 184, 184, 184, 184, 184, 184, 186, 186, 186, - 186 + 42, 161, 162, 162, 163, 155, 155, 160, 160, 164, + 165, 165, 166, 167, 168, 168, 168, 168, 19, 19, + 73, 73, 73, 73, 156, 156, 156, 156, 170, 170, + 159, 159, 159, 157, 157, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 177, 177, 177, 108, 179, + 179, 179, 179, 158, 158, 158, 158, 158, 158, 158, + 158, 59, 59, 173, 173, 173, 173, 173, 180, 180, + 169, 169, 169, 169, 181, 181, 181, 181, 181, 74, + 74, 66, 66, 66, 66, 131, 131, 131, 131, 184, + 183, 172, 172, 172, 172, 172, 172, 171, 171, 171, + 182, 182, 182, 182, 107, 178, 186, 186, 185, 185, + 187, 187, 187, 187, 187, 187, 187, 187, 175, 175, + 175, 175, 174, 189, 188, 188, 188, 188, 188, 188, + 188, 188, 190, 190, 190, 190 ); protected array $ruleToLength = array( @@ -1113,7 +1121,7 @@ class Php8 extends \PhpParser\ParserAbstract 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 2, 1, 3, 4, 1, 2, 0, 1, 1, 1, 1, 4, 3, 5, 4, 3, - 4, 2, 3, 1, 1, 7, 6, 2, 3, 1, + 4, 1, 3, 1, 1, 8, 7, 2, 3, 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, @@ -1129,41 +1137,42 @@ class Php8 extends \PhpParser\ParserAbstract 3, 1, 1, 7, 0, 2, 1, 3, 3, 4, 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, - 0, 2, 1, 1, 1, 1, 6, 8, 6, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, - 3, 1, 1, 2, 1, 1, 0, 1, 0, 2, - 2, 2, 4, 3, 1, 1, 3, 1, 2, 2, - 3, 2, 3, 1, 1, 2, 3, 1, 1, 3, - 2, 0, 1, 5, 5, 6, 10, 3, 5, 1, - 1, 3, 0, 2, 4, 5, 4, 4, 4, 3, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 2, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, - 1, 1, 3, 2, 2, 3, 1, 0, 1, 1, - 3, 3, 3, 4, 4, 1, 1, 2, 3, 3, + 0, 2, 1, 1, 1, 1, 1, 1, 1, 7, + 9, 6, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 1, 3, 3, 3, 3, + 3, 1, 3, 3, 1, 1, 2, 1, 1, 0, + 1, 0, 2, 2, 2, 4, 3, 1, 1, 3, + 1, 2, 2, 3, 2, 3, 1, 1, 2, 3, + 1, 1, 3, 2, 0, 1, 5, 7, 5, 6, + 10, 3, 5, 1, 1, 3, 0, 2, 4, 5, + 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, + 0, 2, 0, 3, 5, 8, 1, 3, 3, 0, + 2, 2, 2, 3, 1, 0, 1, 1, 3, 3, + 3, 4, 4, 1, 1, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, - 3, 4, 4, 2, 2, 4, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 3, 2, - 1, 2, 4, 2, 2, 8, 9, 8, 9, 9, - 10, 9, 10, 8, 3, 2, 2, 1, 1, 0, - 4, 2, 1, 3, 2, 1, 2, 2, 2, 4, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 0, 3, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, - 3, 3, 4, 1, 1, 3, 1, 1, 1, 1, - 1, 3, 2, 3, 0, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 3, 1, 1, 1, 4, 4, - 1, 4, 4, 0, 1, 1, 1, 3, 3, 1, - 4, 2, 2, 1, 3, 1, 4, 4, 3, 3, - 3, 3, 1, 3, 1, 1, 3, 1, 1, 4, - 1, 1, 1, 3, 1, 1, 2, 1, 3, 4, - 3, 2, 0, 2, 2, 1, 2, 1, 1, 1, - 4, 3, 3, 3, 3, 6, 3, 1, 1, 2, - 1 + 3, 3, 3, 3, 3, 3, 5, 4, 3, 4, + 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 3, 2, 1, 2, + 4, 2, 2, 8, 9, 8, 9, 9, 10, 9, + 10, 8, 3, 2, 2, 1, 1, 0, 4, 2, + 1, 3, 2, 1, 2, 2, 2, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 5, 3, 3, 4, + 1, 1, 3, 1, 1, 1, 1, 1, 3, 2, + 3, 0, 1, 1, 3, 1, 1, 1, 1, 1, + 1, 3, 1, 1, 1, 4, 1, 4, 4, 0, + 1, 1, 1, 3, 3, 1, 4, 2, 2, 1, + 3, 1, 4, 3, 3, 3, 3, 1, 3, 1, + 1, 3, 1, 1, 4, 1, 1, 1, 3, 1, + 1, 2, 1, 3, 4, 3, 2, 0, 2, 2, + 1, 2, 1, 1, 1, 4, 3, 3, 3, 3, + 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks(): void { @@ -1375,10 +1384,10 @@ class Php8 extends \PhpParser\ParserAbstract $self->semValue = Stmt\Use_::TYPE_CONSTANT; }, 125 => static function ($self, $stackPos) { - $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, 126 => static function ($self, $stackPos) { - $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, 127 => null, 128 => static function ($self, $stackPos) { @@ -1821,68 +1830,68 @@ class Php8 extends \PhpParser\ParserAbstract $self->semValue = Modifiers::PRIVATE; }, 285 => static function ($self, $stackPos) { - $self->semValue = Modifiers::READONLY; + $self->semValue = Modifiers::PUBLIC_SET; }, 286 => static function ($self, $stackPos) { - $self->semValue = new Node\Param($self->semStack[$stackPos-(6-6)], null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); - $self->checkParam($self->semValue); + $self->semValue = Modifiers::PROTECTED_SET; }, 287 => static function ($self, $stackPos) { - $self->semValue = new Node\Param($self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-8)], $self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(8-2)], $self->semStack[$stackPos-(8-1)]); - $self->checkParam($self->semValue); + $self->semValue = Modifiers::PRIVATE_SET; }, 288 => static function ($self, $stackPos) { - $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); + $self->semValue = Modifiers::READONLY; + }, + 289 => static function ($self, $stackPos) { + $self->semValue = new Node\Param($self->semStack[$stackPos-(7-6)], null, $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-4)], $self->semStack[$stackPos-(7-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-7)]); + $self->checkParam($self->semValue); }, - 289 => null, 290 => static function ($self, $stackPos) { - $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\Param($self->semStack[$stackPos-(9-6)], $self->semStack[$stackPos-(9-8)], $self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-4)], $self->semStack[$stackPos-(9-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(9-2)], $self->semStack[$stackPos-(9-1)], $self->semStack[$stackPos-(9-9)]); + $self->checkParam($self->semValue); }, 291 => static function ($self, $stackPos) { - $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); }, 292 => null, - 293 => null, + 293 => static function ($self, $stackPos) { + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, 294 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 295 => null, + 296 => null, + 297 => static function ($self, $stackPos) { $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 295 => static function ($self, $stackPos) { + 298 => static function ($self, $stackPos) { $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); }, - 296 => static function ($self, $stackPos) { + 299 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 297 => static function ($self, $stackPos) { + 300 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 298 => null, - 299 => static function ($self, $stackPos) { + 301 => null, + 302 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 300 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); - }, - 301 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 302 => null, 303 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 304 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); - }, - 305 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, + 305 => null, 306 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 307 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 308 => static function ($self, $stackPos) { - $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 309 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); @@ -1893,845 +1902,890 @@ class Php8 extends \PhpParser\ParserAbstract 311 => static function ($self, $stackPos) { $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 312 => null, + 312 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + }, 313 => static function ($self, $stackPos) { - $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 314 => static function ($self, $stackPos) { - $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 315 => null, 316 => static function ($self, $stackPos) { - $self->semValue = null; + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 317 => null, - 318 => static function ($self, $stackPos) { - $self->semValue = null; + 317 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 318 => null, 319 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(2-2)]; - }, - 320 => static function ($self, $stackPos) { $self->semValue = null; }, + 320 => null, 321 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = null; }, 322 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(4-2)]; + $self->semValue = $self->semStack[$stackPos-(2-2)]; }, 323 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-2)]); + $self->semValue = null; }, 324 => static function ($self, $stackPos) { - $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 325 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 326 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 327 => static function ($self, $stackPos) { - $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 328 => static function ($self, $stackPos) { - $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 329 => static function ($self, $stackPos) { - $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 330 => static function ($self, $stackPos) { - $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); - }, - 331 => null, - 332 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 333 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 334 => null, - 335 => null, - 336 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 337 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 338 => static function ($self, $stackPos) { - $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 339 => static function ($self, $stackPos) { - $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 340 => static function ($self, $stackPos) { - if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } - }, - 341 => static function ($self, $stackPos) { $self->semValue = array(); }, + 325 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(4-2)]; + }, + 326 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-2)]); + }, + 327 => static function ($self, $stackPos) { + $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 328 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 329 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 330 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 331 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 332 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 333 => static function ($self, $stackPos) { + $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); + }, + 334 => null, + 335 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 336 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 337 => null, + 338 => null, + 339 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 340 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 341 => static function ($self, $stackPos) { + $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, 342 => static function ($self, $stackPos) { + $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 343 => static function ($self, $stackPos) { + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } + }, + 344 => static function ($self, $stackPos) { + $self->semValue = array(); + }, + 345 => static function ($self, $stackPos) { $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 343 => static function ($self, $stackPos) { + 346 => static function ($self, $stackPos) { $self->semValue = new Stmt\Property($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-1)]); - $self->checkProperty($self->semValue, $stackPos-(5-2)); }, - 344 => static function ($self, $stackPos) { + 347 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Property($self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-6)]); + $self->checkPropertyHookList($self->semStack[$stackPos-(7-6)], $stackPos-(7-5)); + }, + 348 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-1)]); $self->checkClassConst($self->semValue, $stackPos-(5-2)); }, - 345 => static function ($self, $stackPos) { + 349 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-1)], $self->semStack[$stackPos-(6-4)]); $self->checkClassConst($self->semValue, $stackPos-(6-2)); }, - 346 => static function ($self, $stackPos) { + 350 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos-(10-5)], ['type' => $self->semStack[$stackPos-(10-2)], 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-7)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); $self->checkClassMethod($self->semValue, $stackPos-(10-2)); }, - 347 => static function ($self, $stackPos) { + 351 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 348 => static function ($self, $stackPos) { + 352 => static function ($self, $stackPos) { $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 349 => static function ($self, $stackPos) { + 353 => static function ($self, $stackPos) { $self->semValue = null; /* will be skipped */ }, - 350 => static function ($self, $stackPos) { - $self->semValue = array(); - }, - 351 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 352 => static function ($self, $stackPos) { - $self->semValue = array(); - }, - 353 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; - }, 354 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = array(); }, 355 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 356 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = array(); }, 357 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 358 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 359 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + }, + 360 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 360 => null, 361 => static function ($self, $stackPos) { - $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 362 => static function ($self, $stackPos) { - $self->semValue = null; + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 363 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 363 => null, 364 => null, 365 => static function ($self, $stackPos) { - $self->semValue = 0; + $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); }, 366 => static function ($self, $stackPos) { - $self->semValue = 0; + $self->semValue = null; }, 367 => null, 368 => null, 369 => static function ($self, $stackPos) { - $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; + $self->semValue = 0; }, 370 => static function ($self, $stackPos) { - $self->semValue = Modifiers::PUBLIC; - }, - 371 => static function ($self, $stackPos) { - $self->semValue = Modifiers::PROTECTED; - }, - 372 => static function ($self, $stackPos) { - $self->semValue = Modifiers::PRIVATE; + $self->semValue = 0; }, + 371 => null, + 372 => null, 373 => static function ($self, $stackPos) { - $self->semValue = Modifiers::STATIC; + $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, 374 => static function ($self, $stackPos) { - $self->semValue = Modifiers::ABSTRACT; + $self->semValue = Modifiers::PUBLIC; }, 375 => static function ($self, $stackPos) { - $self->semValue = Modifiers::FINAL; + $self->semValue = Modifiers::PROTECTED; }, 376 => static function ($self, $stackPos) { - $self->semValue = Modifiers::READONLY; + $self->semValue = Modifiers::PRIVATE; + }, + 377 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PUBLIC_SET; }, - 377 => null, 378 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); + $self->semValue = Modifiers::PROTECTED_SET; }, 379 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = Modifiers::PRIVATE_SET; }, 380 => static function ($self, $stackPos) { - $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = Modifiers::STATIC; }, 381 => static function ($self, $stackPos) { - $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = Modifiers::ABSTRACT; }, 382 => static function ($self, $stackPos) { - $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = Modifiers::FINAL; + }, + 383 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; }, - 383 => null, 384 => null, 385 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 386 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 387 => static function ($self, $stackPos) { - $self->semValue = array(); + 386 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 387 => static function ($self, $stackPos) { + $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 388 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 389 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 388 => null, - 389 => null, 390 => static function ($self, $stackPos) { - $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = []; }, 391 => static function ($self, $stackPos) { - $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 392 => static function ($self, $stackPos) { - $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = []; }, 393 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; $self->checkPropertyHookList($self->semStack[$stackPos-(3-2)], $stackPos-(3-1)); }, 394 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-5)], ['flags' => $self->semStack[$stackPos-(5-2)], 'byRef' => $self->semStack[$stackPos-(5-3)], 'params' => [], 'attrGroups' => $self->semStack[$stackPos-(5-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->checkPropertyHook($self->semValue, null); + }, + 395 => static function ($self, $stackPos) { + $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-8)], ['flags' => $self->semStack[$stackPos-(8-2)], 'byRef' => $self->semStack[$stackPos-(8-3)], 'params' => $self->semStack[$stackPos-(8-6)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->checkPropertyHook($self->semValue, $stackPos-(8-5)); + }, + 396 => static function ($self, $stackPos) { + $self->semValue = null; + }, + 397 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 398 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 399 => static function ($self, $stackPos) { + $self->semValue = 0; + }, + 400 => static function ($self, $stackPos) { + $self->checkPropertyHookModifiers($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; + }, + 401 => null, + 402 => null, + 403 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 404 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 405 => static function ($self, $stackPos) { + $self->semValue = array(); + }, + 406 => null, + 407 => null, + 408 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 409 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 410 => static function ($self, $stackPos) { + $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 411 => static function ($self, $stackPos) { + $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 412 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); if (!$self->phpVersion->allowsAssignNewByReference()) { $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); } }, - 395 => null, - 396 => null, - 397 => static function ($self, $stackPos) { + 413 => null, + 414 => null, + 415 => static function ($self, $stackPos) { $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 398 => static function ($self, $stackPos) { + 416 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 399 => static function ($self, $stackPos) { + 417 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 400 => static function ($self, $stackPos) { + 418 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 401 => static function ($self, $stackPos) { + 419 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 402 => static function ($self, $stackPos) { + 420 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 403 => static function ($self, $stackPos) { + 421 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 404 => static function ($self, $stackPos) { + 422 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 405 => static function ($self, $stackPos) { + 423 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 406 => static function ($self, $stackPos) { + 424 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 407 => static function ($self, $stackPos) { + 425 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 408 => static function ($self, $stackPos) { + 426 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 409 => static function ($self, $stackPos) { + 427 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 410 => static function ($self, $stackPos) { + 428 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 411 => static function ($self, $stackPos) { + 429 => static function ($self, $stackPos) { $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 412 => static function ($self, $stackPos) { + 430 => static function ($self, $stackPos) { $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 413 => static function ($self, $stackPos) { + 431 => static function ($self, $stackPos) { $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 414 => static function ($self, $stackPos) { + 432 => static function ($self, $stackPos) { $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 415 => static function ($self, $stackPos) { + 433 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 416 => static function ($self, $stackPos) { + 434 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 417 => static function ($self, $stackPos) { + 435 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 418 => static function ($self, $stackPos) { + 436 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 419 => static function ($self, $stackPos) { + 437 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 420 => static function ($self, $stackPos) { + 438 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 421 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 422 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 423 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 424 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 425 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 426 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 427 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 428 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 429 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 430 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 431 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 432 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 433 => static function ($self, $stackPos) { - $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 434 => static function ($self, $stackPos) { - $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 435 => static function ($self, $stackPos) { - $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 436 => static function ($self, $stackPos) { - $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 437 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 438 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, 439 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 440 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 441 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 442 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 443 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 444 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 445 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 446 => static function ($self, $stackPos) { - $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 447 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 448 => static function ($self, $stackPos) { - $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 449 => static function ($self, $stackPos) { - $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 450 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 451 => static function ($self, $stackPos) { - $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 452 => static function ($self, $stackPos) { - $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 453 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 454 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 455 => static function ($self, $stackPos) { - $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 456 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 457 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 458 => static function ($self, $stackPos) { - $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 459 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 460 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 461 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 462 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 463 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 464 => static function ($self, $stackPos) { + $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 465 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 466 => static function ($self, $stackPos) { + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + }, + 467 => static function ($self, $stackPos) { + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 468 => static function ($self, $stackPos) { + $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 469 => static function ($self, $stackPos) { + $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 470 => static function ($self, $stackPos) { + $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 471 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 472 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 473 => static function ($self, $stackPos) { + $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 474 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 475 => static function ($self, $stackPos) { + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 476 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 477 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); }, - 460 => static function ($self, $stackPos) { + 478 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 461 => static function ($self, $stackPos) { + 479 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 462 => static function ($self, $stackPos) { + 480 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 463 => static function ($self, $stackPos) { + 481 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 464 => static function ($self, $stackPos) { + 482 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 465 => static function ($self, $stackPos) { - $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); - $attrs['kind'] = strtolower($self->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $self->semValue = new Expr\Exit_($self->semStack[$stackPos-(2-2)], $attrs); + 483 => static function ($self, $stackPos) { + $self->semValue = $self->createExitExpr($self->semStack[$stackPos-(2-1)], $stackPos-(2-1), $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 466 => static function ($self, $stackPos) { + 484 => static function ($self, $stackPos) { $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 467 => null, - 468 => static function ($self, $stackPos) { + 485 => null, + 486 => static function ($self, $stackPos) { $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 469 => static function ($self, $stackPos) { + 487 => static function ($self, $stackPos) { $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 470 => static function ($self, $stackPos) { + 488 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 471 => static function ($self, $stackPos) { + 489 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 472 => static function ($self, $stackPos) { + 490 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 473 => static function ($self, $stackPos) { + 491 => static function ($self, $stackPos) { $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 474 => static function ($self, $stackPos) { + 492 => static function ($self, $stackPos) { $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 475 => static function ($self, $stackPos) { + 493 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 476 => static function ($self, $stackPos) { + 494 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 477 => static function ($self, $stackPos) { + 495 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 478 => static function ($self, $stackPos) { + 496 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 479 => static function ($self, $stackPos) { + 497 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 480 => static function ($self, $stackPos) { + 498 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 481 => static function ($self, $stackPos) { + 499 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 482 => static function ($self, $stackPos) { + 500 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'uses' => $self->semStack[$stackPos-(10-8)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 483 => static function ($self, $stackPos) { + 501 => static function ($self, $stackPos) { $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos-(8-3)]); $self->checkClass($self->semValue[0], -1); }, - 484 => static function ($self, $stackPos) { + 502 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 485 => static function ($self, $stackPos) { + 503 => static function ($self, $stackPos) { list($class, $ctorArgs) = $self->semStack[$stackPos-(2-2)]; $self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 486 => static function ($self, $stackPos) { + 504 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(2-2)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 487 => null, - 488 => null, - 489 => static function ($self, $stackPos) { + 505 => null, + 506 => null, + 507 => static function ($self, $stackPos) { $self->semValue = array(); }, - 490 => static function ($self, $stackPos) { + 508 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 491 => null, - 492 => static function ($self, $stackPos) { + 509 => null, + 510 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 493 => static function ($self, $stackPos) { + 511 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 494 => static function ($self, $stackPos) { + 512 => static function ($self, $stackPos) { $self->semValue = new Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 495 => static function ($self, $stackPos) { - $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 496 => static function ($self, $stackPos) { - $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 497 => static function ($self, $stackPos) { - $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 498 => static function ($self, $stackPos) { - $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, - 499 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 500 => static function ($self, $stackPos) { - $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 501 => null, - 502 => static function ($self, $stackPos) { - $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 503 => static function ($self, $stackPos) { - $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 504 => static function ($self, $stackPos) { - $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 505 => static function ($self, $stackPos) { - $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 506 => null, - 507 => null, - 508 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 509 => static function ($self, $stackPos) { - $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; - }, - 510 => null, - 511 => null, - 512 => static function ($self, $stackPos) { - $self->semValue = null; - }, 513 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 514 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 515 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 516 => static function ($self, $stackPos) { - foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; + $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 517 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = new Expr\StaticCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 518 => null, - 519 => static function ($self, $stackPos) { - $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + 518 => static function ($self, $stackPos) { + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 519 => null, 520 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 521 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 522 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 523 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 524 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 525 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 524 => null, + 525 => null, 526 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 527 => static function ($self, $stackPos) { - $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 528 => static function ($self, $stackPos) { - $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 529 => static function ($self, $stackPos) { - $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, + 528 => null, + 529 => null, 530 => static function ($self, $stackPos) { - $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + $self->semValue = array(); }, 531 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; + }, + 532 => static function ($self, $stackPos) { + foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; + }, + 533 => static function ($self, $stackPos) { + $self->semValue = array(); + }, + 534 => null, + 535 => static function ($self, $stackPos) { + $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 536 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 537 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 538 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 539 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 540 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 541 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 542 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 543 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 544 => static function ($self, $stackPos) { + $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 545 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 546 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + }, + 547 => static function ($self, $stackPos) { + $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + }, + 548 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); }, - 532 => static function ($self, $stackPos) { + 549 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); $self->createdArrays->attach($self->semValue); }, - 533 => static function ($self, $stackPos) { + 550 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 534 => static function ($self, $stackPos) { + 551 => static function ($self, $stackPos) { $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); }, - 535 => static function ($self, $stackPos) { + 552 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($self->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos-(3-2)], $attrs); }, - 536 => static function ($self, $stackPos) { + 553 => static function ($self, $stackPos) { $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); }, - 537 => static function ($self, $stackPos) { - $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 538 => null, - 539 => null, - 540 => null, - 541 => static function ($self, $stackPos) { - $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); - }, - 542 => static function ($self, $stackPos) { - $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); - }, - 543 => static function ($self, $stackPos) { - $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); - }, - 544 => static function ($self, $stackPos) { - $self->semValue = null; - }, - 545 => null, - 546 => null, - 547 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 548 => null, - 549 => null, - 550 => null, - 551 => null, - 552 => null, - 553 => null, 554 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 555 => null, 556 => null, 557 => null, 558 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, 559 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); + }, + 560 => static function ($self, $stackPos) { + $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 560 => null, 561 => static function ($self, $stackPos) { - $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 562 => static function ($self, $stackPos) { - $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 563 => static function ($self, $stackPos) { $self->semValue = null; }, - 564 => null, + 562 => null, + 563 => null, + 564 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, 565 => null, 566 => null, - 567 => static function ($self, $stackPos) { - $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 568 => static function ($self, $stackPos) { - $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, + 567 => null, + 568 => null, 569 => null, - 570 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, + 570 => null, 571 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 572 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; - }, - 573 => static function ($self, $stackPos) { - $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; - }, - 574 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 575 => null, - 576 => static function ($self, $stackPos) { + 572 => null, + 573 => null, + 574 => null, + 575 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, + 576 => null, 577 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 578 => static function ($self, $stackPos) { - $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 579 => static function ($self, $stackPos) { - $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 580 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 581 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = null; }, + 580 => null, + 581 => null, 582 => null, 583 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 584 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 584 => null, 585 => null, 586 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 587 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 587 => null, 588 => static function ($self, $stackPos) { - $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, 589 => static function ($self, $stackPos) { - $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); - $self->postprocessList($self->semValue); + $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; }, 590 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 591 => null, 592 => static function ($self, $stackPos) { - /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 593 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 594 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 595 => static function ($self, $stackPos) { - $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 596 => static function ($self, $stackPos) { - $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 597 => static function ($self, $stackPos) { + 597 => null, + 598 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 599 => null, + 600 => null, + 601 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 602 => null, + 603 => static function ($self, $stackPos) { + $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; + }, + 604 => static function ($self, $stackPos) { + $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); + $self->postprocessList($self->semValue); + }, + 605 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); + }, + 606 => null, + 607 => static function ($self, $stackPos) { + /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ + }, + 608 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + }, + 609 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 610 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 598 => static function ($self, $stackPos) { + 611 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 612 => static function ($self, $stackPos) { + $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 613 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 599 => static function ($self, $stackPos) { + 614 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-1)], true, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 600 => static function ($self, $stackPos) { + 615 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 601 => static function ($self, $stackPos) { + 616 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); }, - 602 => static function ($self, $stackPos) { + 617 => static function ($self, $stackPos) { /* Create an Error node now to remember the position. We'll later either report an error, or convert this into a null element, depending on whether this is a creation or destructuring context. */ $attrs = $self->createEmptyElemAttributes($self->tokenPos); $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 603 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; - }, - 604 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; - }, - 605 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, - 606 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); - }, - 607 => static function ($self, $stackPos) { - $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); - }, - 608 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, - 609 => null, - 610 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, - 611 => static function ($self, $stackPos) { - $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 612 => static function ($self, $stackPos) { - $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 613 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 614 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, - 615 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); - }, - 616 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 617 => static function ($self, $stackPos) { - $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, 618 => static function ($self, $stackPos) { - $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 619 => static function ($self, $stackPos) { + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; + }, + 620 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(1-1)]); + }, + 621 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); + }, + 622 => static function ($self, $stackPos) { + $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); + }, + 623 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 624 => null, + 625 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 626 => static function ($self, $stackPos) { + $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 627 => static function ($self, $stackPos) { + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 628 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 629 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + }, + 630 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); + }, + 631 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 632 => static function ($self, $stackPos) { + $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 633 => static function ($self, $stackPos) { + $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 634 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 620 => null, + 635 => null, ]; } } diff --git a/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php b/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php index 4272331..3d1e4ee 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +++ b/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php @@ -7,6 +7,7 @@ namespace PhpParser; * turn is based on work by Masato Bito. */ +use PhpParser\Node\Arg; use PhpParser\Node\Expr; use PhpParser\Node\Expr\Array_; use PhpParser\Node\Expr\Cast\Double; @@ -14,6 +15,7 @@ use PhpParser\Node\Identifier; use PhpParser\Node\InterpolatedStringPart; use PhpParser\Node\Name; use PhpParser\Node\Param; +use PhpParser\Node\PropertyHook; use PhpParser\Node\Scalar\InterpolatedString; use PhpParser\Node\Scalar\Int_; use PhpParser\Node\Scalar\String_; @@ -1137,32 +1139,12 @@ abstract class ParserAbstract implements Parser { } protected function checkClassConst(ClassConst $node, int $modifierPos): void { - if ($node->flags & Modifiers::STATIC) { - $this->emitError(new Error( - "Cannot use 'static' as constant modifier", - $this->getAttributesAt($modifierPos))); - } - if ($node->flags & Modifiers::ABSTRACT) { - $this->emitError(new Error( - "Cannot use 'abstract' as constant modifier", - $this->getAttributesAt($modifierPos))); - } - if ($node->flags & Modifiers::READONLY) { - $this->emitError(new Error( - "Cannot use 'readonly' as constant modifier", - $this->getAttributesAt($modifierPos))); - } - } - - protected function checkProperty(Property $node, int $modifierPos): void { - if ($node->flags & Modifiers::ABSTRACT) { - $this->emitError(new Error('Properties cannot be declared abstract', - $this->getAttributesAt($modifierPos))); - } - - if ($node->flags & Modifiers::FINAL) { - $this->emitError(new Error('Properties cannot be declared final', - $this->getAttributesAt($modifierPos))); + foreach ([Modifiers::STATIC, Modifiers::ABSTRACT, Modifiers::READONLY] as $modifier) { + if ($node->flags & $modifier) { + $this->emitError(new Error( + "Cannot use '" . Modifiers::toString($modifier) . "' as constant modifier", + $this->getAttributesAt($modifierPos))); + } } } @@ -1178,6 +1160,68 @@ abstract class ParserAbstract implements Parser { } } + /** @param PropertyHook[] $hooks */ + protected function checkPropertyHookList(array $hooks, int $hookPos): void { + if (empty($hooks)) { + $this->emitError(new Error( + 'Property hook list cannot be empty', $this->getAttributesAt($hookPos))); + } + } + + protected function checkPropertyHook(PropertyHook $hook, ?int $paramListPos): void { + $name = $hook->name->toLowerString(); + if ($name !== 'get' && $name !== 'set') { + $this->emitError(new Error( + 'Unknown hook "' . $hook->name . '", expected "get" or "set"', + $hook->name->getAttributes())); + } + if ($name === 'get' && $paramListPos !== null) { + $this->emitError(new Error( + 'get hook must not have a parameter list', $this->getAttributesAt($paramListPos))); + } + } + + protected function checkPropertyHookModifiers(int $a, int $b, int $modifierPos): void { + try { + Modifiers::verifyModifier($a, $b); + } catch (Error $error) { + $error->setAttributes($this->getAttributesAt($modifierPos)); + $this->emitError($error); + } + + if ($b != Modifiers::FINAL) { + $this->emitError(new Error( + 'Cannot use the ' . Modifiers::toString($b) . ' modifier on a property hook', + $this->getAttributesAt($modifierPos))); + } + } + + /** @param array $args */ + private function isSimpleExit(array $args): bool { + if (\count($args) === 0) { + return true; + } + if (\count($args) === 1) { + $arg = $args[0]; + return $arg instanceof Arg && $arg->name === null && + $arg->byRef === false && $arg->unpack === false; + } + return false; + } + + /** + * @param array $args + * @param array $attrs + */ + protected function createExitExpr(string $name, int $namePos, array $args, array $attrs): Expr { + if ($this->isSimpleExit($args)) { + // Create Exit node for backwards compatibility. + $attrs['kind'] = strtolower($name) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + return new Expr\Exit_(\count($args) === 1 ? $args[0]->value : null, $attrs); + } + return new Expr\FuncCall(new Name($name, $this->getAttributesAt($namePos)), $args, $attrs); + } + /** * Creates the token map. * @@ -1190,42 +1234,23 @@ abstract class ParserAbstract implements Parser { protected function createTokenMap(): array { $tokenMap = []; - for ($i = 0; $i < 1000; ++$i) { - if ($i < 256) { - // Single-char tokens use an identity mapping. - $tokenMap[$i] = $i; - } elseif (\T_DOUBLE_COLON === $i) { - // T_DOUBLE_COLON is equivalent to T_PAAMAYIM_NEKUDOTAYIM - $tokenMap[$i] = static::T_PAAMAYIM_NEKUDOTAYIM; - } elseif (\T_OPEN_TAG_WITH_ECHO === $i) { - // T_OPEN_TAG_WITH_ECHO with dropped T_OPEN_TAG results in T_ECHO - $tokenMap[$i] = static::T_ECHO; - } elseif (\T_CLOSE_TAG === $i) { - // T_CLOSE_TAG is equivalent to ';' - $tokenMap[$i] = ord(';'); - } elseif ('UNKNOWN' !== $name = token_name($i)) { - if (defined($name = static::class . '::' . $name)) { - // Other tokens can be mapped directly - $tokenMap[$i] = constant($name); - } + // Single-char tokens use an identity mapping. + for ($i = 0; $i < 256; ++$i) { + $tokenMap[$i] = $i; + } + + foreach ($this->symbolToName as $name) { + if ($name[0] === 'T') { + $tokenMap[\constant($name)] = constant(static::class . '::' . $name); } } - // Assign tokens for which we define compatibility constants, as token_name() does not know them. - $tokenMap[\T_FN] = static::T_FN; - $tokenMap[\T_COALESCE_EQUAL] = static::T_COALESCE_EQUAL; - $tokenMap[\T_NAME_QUALIFIED] = static::T_NAME_QUALIFIED; - $tokenMap[\T_NAME_FULLY_QUALIFIED] = static::T_NAME_FULLY_QUALIFIED; - $tokenMap[\T_NAME_RELATIVE] = static::T_NAME_RELATIVE; - $tokenMap[\T_MATCH] = static::T_MATCH; - $tokenMap[\T_NULLSAFE_OBJECT_OPERATOR] = static::T_NULLSAFE_OBJECT_OPERATOR; - $tokenMap[\T_ATTRIBUTE] = static::T_ATTRIBUTE; - $tokenMap[\T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG] = static::T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG; - $tokenMap[\T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG] = static::T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG; - $tokenMap[\T_ENUM] = static::T_ENUM; - $tokenMap[\T_READONLY] = static::T_READONLY; + // T_OPEN_TAG_WITH_ECHO with dropped T_OPEN_TAG results in T_ECHO + $tokenMap[\T_OPEN_TAG_WITH_ECHO] = static::T_ECHO; + // T_CLOSE_TAG is equivalent to ';' + $tokenMap[\T_CLOSE_TAG] = ord(';'); - // We have create a map from PHP token IDs to external symbol IDs. + // We have created a map from PHP token IDs to external symbol IDs. // Now map them to the internal symbol ID. $fullTokenMap = []; foreach ($tokenMap as $phpToken => $extSymbol) { diff --git a/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php b/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php index db85b1e..04ff6dd 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php +++ b/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php @@ -43,7 +43,7 @@ class PhpVersion { * if it is still under development. */ public static function getNewestSupported(): self { - return self::fromComponents(8, 3); + return self::fromComponents(8, 4); } /** diff --git a/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php b/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php index 6a0349c..51c54f7 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +++ b/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php @@ -23,7 +23,8 @@ class Standard extends PrettyPrinterAbstract { . ($node->byRef ? '&' : '') . ($node->variadic ? '...' : '') . $this->p($node->var) - . ($node->default ? ' = ' . $this->p($node->default) : ''); + . ($node->default ? ' = ' . $this->p($node->default) : '') + . ($node->hooks ? ' {' . $this->pStmts($node->hooks) . $this->nl . '}' : ''); } protected function pArg(Node\Arg $node): string { @@ -125,6 +126,10 @@ class Standard extends PrettyPrinterAbstract { return '__TRAIT__'; } + protected function pScalar_MagicConst_Property(MagicConst\Property $node): string { + return '__PROPERTY__'; + } + // Scalars private function indentString(string $str): string { @@ -827,7 +832,8 @@ class Standard extends PrettyPrinterAbstract { return $this->pAttrGroups($node->attrGroups) . (0 === $node->flags ? 'var ' : $this->pModifiers($node->flags)) . ($node->type ? $this->p($node->type) . ' ' : '') - . $this->pCommaSeparated($node->props) . ';'; + . $this->pCommaSeparated($node->props) + . ($node->hooks ? ' {' . $this->pStmts($node->hooks) . $this->nl . '}' : ';'); } protected function pPropertyItem(Node\PropertyItem $node): string { @@ -835,6 +841,15 @@ class Standard extends PrettyPrinterAbstract { . (null !== $node->default ? ' = ' . $this->p($node->default) : ''); } + protected function pPropertyHook(Node\PropertyHook $node): string { + return $this->pAttrGroups($node->attrGroups) + . $this->pModifiers($node->flags) + . ($node->byRef ? '&' : '') . $node->name + . ($node->params ? '(' . $this->pMaybeMultiline($node->params, $this->phpVersion->supportsTrailingCommaInParamList()) . ')' : '') + . (\is_array($node->body) ? ' {' . $this->pStmts($node->body) . $this->nl . '}' + : ($node->body !== null ? ' => ' . $this->p($node->body) : '') . ';'); + } + protected function pStmt_ClassMethod(Stmt\ClassMethod $node): string { return $this->pAttrGroups($node->attrGroups) . $this->pModifiers($node->flags) diff --git a/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php b/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php index 17f27a1..d32be24 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +++ b/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php @@ -14,6 +14,7 @@ use PhpParser\Node\Expr\Cast; use PhpParser\Node\IntersectionType; use PhpParser\Node\MatchArm; use PhpParser\Node\Param; +use PhpParser\Node\PropertyHook; use PhpParser\Node\Scalar; use PhpParser\Node\Stmt; use PhpParser\Node\UnionType; @@ -105,6 +106,15 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { /** @var int Current indentation level. */ protected int $indentLevel; + /** @var string String for single level of indentation */ + private string $indent; + /** @var int Width in spaces to indent by. */ + private int $indentWidth; + /** @var bool Whether to use tab indentation. */ + private bool $useTabs; + /** @var int Width in spaces of one tab. */ + private int $tabWidth = 4; + /** @var string Newline style. Does not include current indentation. */ protected string $newline; /** @var string Newline including current indentation. */ @@ -169,12 +179,14 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { * PHP version while specifying an older target (but the result will * of course not be compatible with the older version in that case). * * string $newline: The newline style to use. Should be "\n" (default) or "\r\n". + * * string $indent: The indentation to use. Should either be all spaces or a single + * tab. Defaults to four spaces (" "). * * bool $shortArraySyntax: Whether to use [] instead of array() as the default array * syntax, if the node does not specify a format. Defaults to whether * the phpVersion support short array syntax. * * @param array{ - * phpVersion?: PhpVersion, newline?: string, shortArraySyntax?: bool + * phpVersion?: PhpVersion, newline?: string, indent?: string, shortArraySyntax?: bool * } $options Dictionary of formatting options */ public function __construct(array $options = []) { @@ -189,6 +201,17 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { $options['shortArraySyntax'] ?? $this->phpVersion->supportsShortArraySyntax(); $this->docStringEndToken = $this->phpVersion->supportsFlexibleHeredoc() ? null : '_DOC_STRING_END_' . mt_rand(); + + $this->indent = $indent = $options['indent'] ?? ' '; + if ($indent === "\t") { + $this->useTabs = true; + $this->indentWidth = $this->tabWidth; + } elseif ($indent === \str_repeat(' ', \strlen($indent))) { + $this->useTabs = false; + $this->indentWidth = \strlen($indent); + } else { + throw new \LogicException('Option "indent" must either be all spaces or a single tab'); + } } /** @@ -207,24 +230,29 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { */ protected function setIndentLevel(int $level): void { $this->indentLevel = $level; - $this->nl = $this->newline . \str_repeat(' ', $level); + if ($this->useTabs) { + $tabs = \intdiv($level, $this->tabWidth); + $spaces = $level % $this->tabWidth; + $this->nl = $this->newline . \str_repeat("\t", $tabs) . \str_repeat(' ', $spaces); + } else { + $this->nl = $this->newline . \str_repeat(' ', $level); + } } /** * Increase indentation level. */ protected function indent(): void { - $this->indentLevel += 4; - $this->nl .= ' '; + $this->indentLevel += $this->indentWidth; + $this->nl .= $this->indent; } /** * Decrease indentation level. */ protected function outdent(): void { - assert($this->indentLevel >= 4); - $this->indentLevel -= 4; - $this->nl = $this->newline . str_repeat(' ', $this->indentLevel); + assert($this->indentLevel >= $this->indentWidth); + $this->setIndentLevel($this->indentLevel - $this->indentWidth); } /** @@ -536,7 +564,7 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { $this->initializeModifierChangeMap(); $this->resetState(); - $this->origTokens = new TokenStream($origTokens); + $this->origTokens = new TokenStream($origTokens, $this->tabWidth); $this->preprocessNodes($stmts); @@ -708,7 +736,7 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { $result .= $extraLeft; $origIndentLevel = $this->indentLevel; - $this->setIndentLevel($this->origTokens->getIndentationBefore($subStartPos) + $indentAdjustment); + $this->setIndentLevel(max($this->origTokens->getIndentationBefore($subStartPos) + $indentAdjustment, 0)); // If it's the same node that was previously in this position, it certainly doesn't // need fixup. It's important to check this here, because our fixup checks are more @@ -811,7 +839,7 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { \assert($itemStartPos >= 0 && $itemEndPos >= 0 && $itemStartPos >= $pos); $origIndentLevel = $this->indentLevel; - $lastElemIndentLevel = $this->origTokens->getIndentationBefore($itemStartPos) + $indentAdjustment; + $lastElemIndentLevel = max($this->origTokens->getIndentationBefore($itemStartPos) + $indentAdjustment, 0); $this->setIndentLevel($lastElemIndentLevel); $comments = $arrItem->getComments(); @@ -1195,6 +1223,9 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { . ($modifiers & Modifiers::PUBLIC ? 'public ' : '') . ($modifiers & Modifiers::PROTECTED ? 'protected ' : '') . ($modifiers & Modifiers::PRIVATE ? 'private ' : '') + . ($modifiers & Modifiers::PUBLIC_SET ? 'public(set) ' : '') + . ($modifiers & Modifiers::PROTECTED_SET ? 'protected(set) ' : '') + . ($modifiers & Modifiers::PRIVATE_SET ? 'private(set) ' : '') . ($modifiers & Modifiers::STATIC ? 'static ' : '') . ($modifiers & Modifiers::READONLY ? 'readonly ' : ''); } @@ -1517,6 +1548,7 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { Stmt\UseUse::class . '->uses' => ', ', MatchArm::class . '->conds' => ', ', AttributeGroup::class . '->attrs' => ', ', + PropertyHook::class . '->params' => ', ', // statement lists Expr\Closure::class . '->stmts' => "\n", @@ -1554,10 +1586,15 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { Expr\Closure::class . '->attrGroups' => ' ', Expr\ArrowFunction::class . '->attrGroups' => ' ', Param::class . '->attrGroups' => ' ', + PropertyHook::class . '->attrGroups' => ' ', + Stmt\Switch_::class . '->cases' => "\n", Stmt\TraitUse::class . '->adaptations' => "\n", Stmt\TryCatch::class . '->stmts' => "\n", Stmt\While_::class . '->stmts' => "\n", + PropertyHook::class . '->body' => "\n", + Stmt\Property::class . '->hooks' => "\n", + Param::class . '->hooks' => "\n", // dummy for top-level context 'File->stmts' => "\n", @@ -1641,6 +1678,7 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { Stmt\Property::class . '->flags' => ['pModifiers', \T_VARIABLE], PrintableNewAnonClassNode::class . '->flags' => ['pModifiers', \T_CLASS], Param::class . '->flags' => ['pModifiers', \T_VARIABLE], + PropertyHook::class . '->flags' => ['pModifiers', \T_STRING], Expr\Closure::class . '->static' => ['pStatic', \T_FUNCTION], Expr\ArrowFunction::class . '->static' => ['pStatic', \T_FN], //Stmt\TraitUseAdaptation\Alias::class . '->newModifier' => 0, // TODO diff --git a/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php b/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php index 273271d..13576c4 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +++ b/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php @@ -17,6 +17,11 @@ if (!\function_exists('PhpParser\defineCompatibilityTokens')) { 'T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG', 'T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG', 'T_READONLY', + // PHP 8.4 + 'T_PROPERTY_C', + 'T_PUBLIC_SET', + 'T_PROTECTED_SET', + 'T_PRIVATE_SET', ]; // PHP-Parser might be used together with another library that also emulates some or all diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-9.2.md b/vendor/phpunit/php-code-coverage/ChangeLog-9.2.md index 9ef6be3..5176ae3 100644 --- a/vendor/phpunit/php-code-coverage/ChangeLog-9.2.md +++ b/vendor/phpunit/php-code-coverage/ChangeLog-9.2.md @@ -2,6 +2,12 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [9.2.32] - 2024-08-22 + +### Changed + +* Updated dependencies (so that users that install using Composer's `--prefer-lowest` CLI option also get recent versions) + ## [9.2.31] - 2024-03-02 ### Changed @@ -511,6 +517,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt * This component is no longer supported on PHP 7.1 +[9.2.32]: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.31...9.2.32 [9.2.31]: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.30...9.2.31 [9.2.30]: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.29...9.2.30 [9.2.29]: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.28...9.2.29 diff --git a/vendor/phpunit/php-code-coverage/composer.json b/vendor/phpunit/php-code-coverage/composer.json index 4e3c0f6..f9fd361 100644 --- a/vendor/phpunit/php-code-coverage/composer.json +++ b/vendor/phpunit/php-code-coverage/composer.json @@ -33,15 +33,15 @@ "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" + "nikic/php-parser": "^4.19.1 || ^5.1.0", + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-text-template": "^2.0.4", + "sebastian/code-unit-reverse-lookup": "^2.0.3", + "sebastian/complexity": "^2.0.3", + "sebastian/environment": "^5.1.5", + "sebastian/lines-of-code": "^1.0.4", + "sebastian/version": "^3.0.2", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { "phpunit/phpunit": "^9.6" diff --git a/vendor/phpunit/php-code-coverage/src/Version.php b/vendor/phpunit/php-code-coverage/src/Version.php index 1753a97..93cf32d 100644 --- a/vendor/phpunit/php-code-coverage/src/Version.php +++ b/vendor/phpunit/php-code-coverage/src/Version.php @@ -22,7 +22,7 @@ final class Version public static function id(): string { if (self::$version === null) { - self::$version = (new VersionId('9.2.31', dirname(__DIR__)))->getVersion(); + self::$version = (new VersionId('9.2.32', dirname(__DIR__)))->getVersion(); } return self::$version; diff --git a/vendor/psr/log/src/LoggerAwareInterface.php b/vendor/psr/log/src/LoggerAwareInterface.php index cc46a95..0621870 100644 --- a/vendor/psr/log/src/LoggerAwareInterface.php +++ b/vendor/psr/log/src/LoggerAwareInterface.php @@ -9,10 +9,6 @@ interface LoggerAwareInterface { /** * Sets a logger instance on the object. - * - * @param LoggerInterface $logger - * - * @return void */ public function setLogger(LoggerInterface $logger): void; } diff --git a/vendor/psr/log/src/LoggerAwareTrait.php b/vendor/psr/log/src/LoggerAwareTrait.php index 4fb57a2..85104db 100644 --- a/vendor/psr/log/src/LoggerAwareTrait.php +++ b/vendor/psr/log/src/LoggerAwareTrait.php @@ -9,15 +9,11 @@ trait LoggerAwareTrait { /** * The logger instance. - * - * @var LoggerInterface|null */ protected ?LoggerInterface $logger = null; /** * Sets a logger. - * - * @param LoggerInterface $logger */ public function setLogger(LoggerInterface $logger): void { diff --git a/vendor/psr/log/src/LoggerInterface.php b/vendor/psr/log/src/LoggerInterface.php index b3a24b5..cb4cf64 100644 --- a/vendor/psr/log/src/LoggerInterface.php +++ b/vendor/psr/log/src/LoggerInterface.php @@ -22,10 +22,7 @@ interface LoggerInterface /** * System is unusable. * - * @param string|\Stringable $message * @param mixed[] $context - * - * @return void */ public function emergency(string|\Stringable $message, array $context = []): void; @@ -35,10 +32,7 @@ interface LoggerInterface * Example: Entire website down, database unavailable, etc. This should * trigger the SMS alerts and wake you up. * - * @param string|\Stringable $message * @param mixed[] $context - * - * @return void */ public function alert(string|\Stringable $message, array $context = []): void; @@ -47,10 +41,7 @@ interface LoggerInterface * * Example: Application component unavailable, unexpected exception. * - * @param string|\Stringable $message * @param mixed[] $context - * - * @return void */ public function critical(string|\Stringable $message, array $context = []): void; @@ -58,10 +49,7 @@ interface LoggerInterface * Runtime errors that do not require immediate action but should typically * be logged and monitored. * - * @param string|\Stringable $message * @param mixed[] $context - * - * @return void */ public function error(string|\Stringable $message, array $context = []): void; @@ -71,20 +59,14 @@ interface LoggerInterface * Example: Use of deprecated APIs, poor use of an API, undesirable things * that are not necessarily wrong. * - * @param string|\Stringable $message * @param mixed[] $context - * - * @return void */ public function warning(string|\Stringable $message, array $context = []): void; /** * Normal but significant events. * - * @param string|\Stringable $message * @param mixed[] $context - * - * @return void */ public function notice(string|\Stringable $message, array $context = []): void; @@ -93,32 +75,23 @@ interface LoggerInterface * * Example: User logs in, SQL logs. * - * @param string|\Stringable $message * @param mixed[] $context - * - * @return void */ public function info(string|\Stringable $message, array $context = []): void; /** * Detailed debug information. * - * @param string|\Stringable $message * @param mixed[] $context - * - * @return void */ public function debug(string|\Stringable $message, array $context = []): void; /** * Logs with an arbitrary level. * - * @param mixed $level - * @param string|\Stringable $message + * @param mixed $level * @param mixed[] $context * - * @return void - * * @throws \Psr\Log\InvalidArgumentException */ public function log($level, string|\Stringable $message, array $context = []): void; diff --git a/vendor/psr/log/src/LoggerTrait.php b/vendor/psr/log/src/LoggerTrait.php index 9c8733f..a5d9980 100644 --- a/vendor/psr/log/src/LoggerTrait.php +++ b/vendor/psr/log/src/LoggerTrait.php @@ -14,11 +14,6 @@ trait LoggerTrait { /** * System is unusable. - * - * @param string|\Stringable $message - * @param array $context - * - * @return void */ public function emergency(string|\Stringable $message, array $context = []): void { @@ -30,11 +25,6 @@ trait LoggerTrait * * Example: Entire website down, database unavailable, etc. This should * trigger the SMS alerts and wake you up. - * - * @param string|\Stringable $message - * @param array $context - * - * @return void */ public function alert(string|\Stringable $message, array $context = []): void { @@ -45,11 +35,6 @@ trait LoggerTrait * Critical conditions. * * Example: Application component unavailable, unexpected exception. - * - * @param string|\Stringable $message - * @param array $context - * - * @return void */ public function critical(string|\Stringable $message, array $context = []): void { @@ -59,11 +44,6 @@ trait LoggerTrait /** * Runtime errors that do not require immediate action but should typically * be logged and monitored. - * - * @param string|\Stringable $message - * @param array $context - * - * @return void */ public function error(string|\Stringable $message, array $context = []): void { @@ -75,11 +55,6 @@ trait LoggerTrait * * Example: Use of deprecated APIs, poor use of an API, undesirable things * that are not necessarily wrong. - * - * @param string|\Stringable $message - * @param array $context - * - * @return void */ public function warning(string|\Stringable $message, array $context = []): void { @@ -88,11 +63,6 @@ trait LoggerTrait /** * Normal but significant events. - * - * @param string|\Stringable $message - * @param array $context - * - * @return void */ public function notice(string|\Stringable $message, array $context = []): void { @@ -103,11 +73,6 @@ trait LoggerTrait * Interesting events. * * Example: User logs in, SQL logs. - * - * @param string|\Stringable $message - * @param array $context - * - * @return void */ public function info(string|\Stringable $message, array $context = []): void { @@ -116,11 +81,6 @@ trait LoggerTrait /** * Detailed debug information. - * - * @param string|\Stringable $message - * @param array $context - * - * @return void */ public function debug(string|\Stringable $message, array $context = []): void { @@ -130,11 +90,7 @@ trait LoggerTrait /** * Logs with an arbitrary level. * - * @param mixed $level - * @param string|\Stringable $message - * @param array $context - * - * @return void + * @param mixed $level * * @throws \Psr\Log\InvalidArgumentException */ diff --git a/vendor/psr/log/src/NullLogger.php b/vendor/psr/log/src/NullLogger.php index c1cc3c0..de0561e 100644 --- a/vendor/psr/log/src/NullLogger.php +++ b/vendor/psr/log/src/NullLogger.php @@ -15,11 +15,7 @@ class NullLogger extends AbstractLogger /** * Logs with an arbitrary level. * - * @param mixed $level - * @param string|\Stringable $message - * @param array $context - * - * @return void + * @param mixed[] $context * * @throws \Psr\Log\InvalidArgumentException */ diff --git a/vendor/psy/psysh/src/Command/Command.php b/vendor/psy/psysh/src/Command/Command.php index b9dc1b8..a282943 100644 --- a/vendor/psy/psysh/src/Command/Command.php +++ b/vendor/psy/psysh/src/Command/Command.php @@ -140,9 +140,11 @@ abstract class Command extends BaseCommand $default = ''; } + $name = $argument->getName(); + $pad = \str_pad('', $max - \strlen($name)); $description = \str_replace("\n", "\n".\str_pad('', $max + 2, ' '), $argument->getDescription()); - $messages[] = \sprintf(" %-{$max}s %s%s", $argument->getName(), $description, $default); + $messages[] = \sprintf(' %s%s %s%s', $name, $pad, $description, $default); } $messages[] = ''; diff --git a/vendor/psy/psysh/src/Configuration.php b/vendor/psy/psysh/src/Configuration.php index 3bb7064..cea8106 100644 --- a/vendor/psy/psysh/src/Configuration.php +++ b/vendor/psy/psysh/src/Configuration.php @@ -1023,7 +1023,11 @@ class Configuration */ public function setErrorLoggingLevel($errorLoggingLevel) { - $this->errorLoggingLevel = (\E_ALL | \E_STRICT) & $errorLoggingLevel; + if (\PHP_VERSION_ID < 80400) { + $this->errorLoggingLevel = (\E_ALL | \E_STRICT) & $errorLoggingLevel; + } else { + $this->errorLoggingLevel = \E_ALL & $errorLoggingLevel; + } } /** @@ -1263,9 +1267,11 @@ class Configuration // let's not use it by default. // // See https://github.com/bobthecow/psysh/issues/778 - $link = @\readlink($less); - if ($link !== false && \strpos($link, 'busybox') !== false) { - return false; + if (@\is_link($less)) { + $link = @\readlink($less); + if ($link !== false && \strpos($link, 'busybox') !== false) { + return false; + } } $this->pager = $less.' -R -F -X'; diff --git a/vendor/psy/psysh/src/Exception/ErrorException.php b/vendor/psy/psysh/src/Exception/ErrorException.php index ef3f357..2600735 100644 --- a/vendor/psy/psysh/src/Exception/ErrorException.php +++ b/vendor/psy/psysh/src/Exception/ErrorException.php @@ -37,10 +37,6 @@ class ErrorException extends \ErrorException implements Exception } switch ($severity) { - case \E_STRICT: - $type = 'Strict error'; - break; - case \E_NOTICE: case \E_USER_NOTICE: $type = 'Notice'; @@ -63,6 +59,10 @@ class ErrorException extends \ErrorException implements Exception break; default: + if (\PHP_VERSION_ID < 80400 && $severity === \E_STRICT) { + $type = 'Strict error'; + break; + } $type = 'Error'; break; } diff --git a/vendor/psy/psysh/src/Shell.php b/vendor/psy/psysh/src/Shell.php index 4fd97b7..192d4c7 100644 --- a/vendor/psy/psysh/src/Shell.php +++ b/vendor/psy/psysh/src/Shell.php @@ -919,17 +919,58 @@ class Shell extends Application $input = new ShellInput(\str_replace('\\', '\\\\', \rtrim($input, " \t\n\r\0\x0B;"))); - if ($input->hasParameterOption(['--help', '-h'])) { - $helpCommand = $this->get('help'); - if (!$helpCommand instanceof Command\HelpCommand) { - throw new RuntimeException('Invalid help command instance'); - } - $helpCommand->setCommand($command); + if (!$input->hasParameterOption(['--help', '-h'])) { + try { + return $command->run($input, $this->output); + } catch (\Exception $e) { + if (!self::needsInputHelp($e)) { + throw $e; + } - return $helpCommand->run(new StringInput(''), $this->output); + $this->writeException($e); + + $this->output->writeln('--'); + if (!$this->config->theme()->compact()) { + $this->output->writeln(''); + } + } } - return $command->run($input, $this->output); + $helpCommand = $this->get('help'); + if (!$helpCommand instanceof Command\HelpCommand) { + throw new RuntimeException('Invalid help command instance'); + } + $helpCommand->setCommand($command); + + return $helpCommand->run(new StringInput(''), $this->output); + } + + /** + * Check whether a given input error would benefit from --help. + * + * @return bool + */ + private static function needsInputHelp(\Exception $e): bool + { + if (!($e instanceof \RuntimeException || $e instanceof SymfonyConsoleException)) { + return false; + } + + $inputErrors = [ + 'Not enough arguments', + 'option does not accept a value', + 'option does not exist', + 'option requires a value', + ]; + + $msg = $e->getMessage(); + foreach ($inputErrors as $errorMsg) { + if (\strpos($msg, $errorMsg) !== false) { + return true; + } + } + + return false; } /** @@ -1261,10 +1302,13 @@ class Shell extends Application case \E_USER_NOTICE: case \E_USER_DEPRECATED: case \E_DEPRECATED: - case \E_STRICT: return 'warning'; default: + if ((\PHP_VERSION_ID < 80400) && $severity === \E_STRICT) { + return 'warning'; + } + return 'error'; } } else { diff --git a/vendor/psy/psysh/src/TabCompletion/AutoCompleter.php b/vendor/psy/psysh/src/TabCompletion/AutoCompleter.php index 400b797..1be9caa 100644 --- a/vendor/psy/psysh/src/TabCompletion/AutoCompleter.php +++ b/vendor/psy/psysh/src/TabCompletion/AutoCompleter.php @@ -74,7 +74,7 @@ class AutoCompleter $matches = []; foreach ($this->matchers as $matcher) { if ($matcher->hasMatched($tokens)) { - $matches = \array_merge($matcher->getMatches($tokens), $matches); + $matches = \array_merge($matcher->getMatches($tokens, $info), $matches); } } diff --git a/vendor/symfony/polyfill-ctype/composer.json b/vendor/symfony/polyfill-ctype/composer.json index b222fda..131ca7a 100644 --- a/vendor/symfony/polyfill-ctype/composer.json +++ b/vendor/symfony/polyfill-ctype/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" diff --git a/vendor/symfony/polyfill-intl-grapheme/composer.json b/vendor/symfony/polyfill-intl-grapheme/composer.json index a20d3fa..0eea417 100644 --- a/vendor/symfony/polyfill-intl-grapheme/composer.json +++ b/vendor/symfony/polyfill-intl-grapheme/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.1" + "php": ">=7.2" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Intl\\Grapheme\\": "" }, diff --git a/vendor/symfony/polyfill-intl-idn/Idn.php b/vendor/symfony/polyfill-intl-idn/Idn.php index eb6bada..334f8ee 100644 --- a/vendor/symfony/polyfill-intl-idn/Idn.php +++ b/vendor/symfony/polyfill-intl-idn/Idn.php @@ -145,7 +145,7 @@ final class Idn */ public static function idn_to_ascii($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = []) { - if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) { + if (self::INTL_IDNA_VARIANT_2003 === $variant) { @trigger_error('idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED); } @@ -198,7 +198,7 @@ final class Idn */ public static function idn_to_utf8($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = []) { - if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) { + if (self::INTL_IDNA_VARIANT_2003 === $variant) { @trigger_error('idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED); } diff --git a/vendor/symfony/polyfill-intl-idn/composer.json b/vendor/symfony/polyfill-intl-idn/composer.json index 12f75bc..760debc 100644 --- a/vendor/symfony/polyfill-intl-idn/composer.json +++ b/vendor/symfony/polyfill-intl-idn/composer.json @@ -20,9 +20,8 @@ } ], "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" }, diff --git a/vendor/symfony/polyfill-intl-normalizer/composer.json b/vendor/symfony/polyfill-intl-normalizer/composer.json index 1b93573..9bd04e8 100644 --- a/vendor/symfony/polyfill-intl-normalizer/composer.json +++ b/vendor/symfony/polyfill-intl-normalizer/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.1" + "php": ">=7.2" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, diff --git a/vendor/symfony/polyfill-mbstring/Mbstring.php b/vendor/symfony/polyfill-mbstring/Mbstring.php index 7be551b..3d45c9d 100644 --- a/vendor/symfony/polyfill-mbstring/Mbstring.php +++ b/vendor/symfony/polyfill-mbstring/Mbstring.php @@ -86,12 +86,6 @@ final class Mbstring public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) { if (\is_array($s)) { - if (\PHP_VERSION_ID < 70200) { - trigger_error('mb_convert_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING); - - return null; - } - $r = []; foreach ($s as $str) { $r[] = self::mb_convert_encoding($str, $toEncoding, $fromEncoding); @@ -430,12 +424,6 @@ final class Mbstring public static function mb_check_encoding($var = null, $encoding = null) { - if (\PHP_VERSION_ID < 70200 && \is_array($var)) { - trigger_error('mb_check_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING); - - return null; - } - if (null === $encoding) { if (null === $var) { return false; diff --git a/vendor/symfony/polyfill-mbstring/bootstrap80.php b/vendor/symfony/polyfill-mbstring/bootstrap80.php index 8016bdb..5236e6d 100644 --- a/vendor/symfony/polyfill-mbstring/bootstrap80.php +++ b/vendor/symfony/polyfill-mbstring/bootstrap80.php @@ -93,7 +93,7 @@ if (!function_exists('mb_strstr')) { function mb_strstr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strstr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); } } if (!function_exists('mb_get_info')) { - function mb_get_info(?string $type = 'all'): array|string|int|false { return p\Mbstring::mb_get_info((string) $type); } + function mb_get_info(?string $type = 'all'): array|string|int|false|null { return p\Mbstring::mb_get_info((string) $type); } } if (!function_exists('mb_http_output')) { function mb_http_output(?string $encoding = null): string|bool { return p\Mbstring::mb_http_output($encoding); } @@ -133,11 +133,11 @@ if (!function_exists('mb_str_pad')) { } if (!function_exists('mb_ucfirst')) { - function mb_ucfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); } + function mb_ucfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); } } if (!function_exists('mb_lcfirst')) { - function mb_lcfirst($string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); } + function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); } } if (!function_exists('mb_trim')) { diff --git a/vendor/symfony/polyfill-mbstring/composer.json b/vendor/symfony/polyfill-mbstring/composer.json index bd99d4b..4ed241a 100644 --- a/vendor/symfony/polyfill-mbstring/composer.json +++ b/vendor/symfony/polyfill-mbstring/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" diff --git a/vendor/symfony/polyfill-php72/LICENSE b/vendor/symfony/polyfill-php72/LICENSE deleted file mode 100644 index 6e3afce..0000000 --- a/vendor/symfony/polyfill-php72/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-present Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/symfony/polyfill-php72/Php72.php b/vendor/symfony/polyfill-php72/Php72.php deleted file mode 100644 index e97b1b2..0000000 --- a/vendor/symfony/polyfill-php72/Php72.php +++ /dev/null @@ -1,218 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Polyfill\Php72; - -/** - * @author Nicolas Grekas - * @author Dariusz Rumiński - * - * @internal - */ -final class Php72 -{ - private static $hashMask; - - public static function utf8_encode($s) - { - $s .= $s; - $len = \strlen($s); - - for ($i = $len >> 1, $j = 0; $i < $len; ++$i, ++$j) { - switch (true) { - case $s[$i] < "\x80": $s[$j] = $s[$i]; break; - case $s[$i] < "\xC0": $s[$j] = "\xC2"; $s[++$j] = $s[$i]; break; - default: $s[$j] = "\xC3"; $s[++$j] = \chr(\ord($s[$i]) - 64); break; - } - } - - return substr($s, 0, $j); - } - - public static function utf8_decode($s) - { - $s = (string) $s; - $len = \strlen($s); - - for ($i = 0, $j = 0; $i < $len; ++$i, ++$j) { - switch ($s[$i] & "\xF0") { - case "\xC0": - case "\xD0": - $c = (\ord($s[$i] & "\x1F") << 6) | \ord($s[++$i] & "\x3F"); - $s[$j] = $c < 256 ? \chr($c) : '?'; - break; - - case "\xF0": - ++$i; - // no break - - case "\xE0": - $s[$j] = '?'; - $i += 2; - break; - - default: - $s[$j] = $s[$i]; - } - } - - return substr($s, 0, $j); - } - - public static function php_os_family() - { - if ('\\' === \DIRECTORY_SEPARATOR) { - return 'Windows'; - } - - $map = [ - 'Darwin' => 'Darwin', - 'DragonFly' => 'BSD', - 'FreeBSD' => 'BSD', - 'NetBSD' => 'BSD', - 'OpenBSD' => 'BSD', - 'Linux' => 'Linux', - 'SunOS' => 'Solaris', - ]; - - return $map[\PHP_OS] ?? 'Unknown'; - } - - public static function spl_object_id($object) - { - if (null === self::$hashMask) { - self::initHashMask(); - } - if (null === $hash = spl_object_hash($object)) { - return; - } - - // On 32-bit systems, PHP_INT_SIZE is 4, - return self::$hashMask ^ hexdec(substr($hash, 16 - (\PHP_INT_SIZE * 2 - 1), \PHP_INT_SIZE * 2 - 1)); - } - - public static function sapi_windows_vt100_support($stream, $enable = null) - { - if (!\is_resource($stream)) { - trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, '.\gettype($stream).' given', \E_USER_WARNING); - - return false; - } - - $meta = stream_get_meta_data($stream); - - if ('STDIO' !== $meta['stream_type']) { - trigger_error('sapi_windows_vt100_support() was not able to analyze the specified stream', \E_USER_WARNING); - - return false; - } - - // We cannot actually disable vt100 support if it is set - if (false === $enable || !self::stream_isatty($stream)) { - return false; - } - - // The native function does not apply to stdin - $meta = array_map('strtolower', $meta); - $stdin = 'php://stdin' === $meta['uri'] || 'php://fd/0' === $meta['uri']; - - return !$stdin - && (false !== getenv('ANSICON') - || 'ON' === getenv('ConEmuANSI') - || 'xterm' === getenv('TERM') - || 'Hyper' === getenv('TERM_PROGRAM')); - } - - public static function stream_isatty($stream) - { - if (!\is_resource($stream)) { - trigger_error('stream_isatty() expects parameter 1 to be resource, '.\gettype($stream).' given', \E_USER_WARNING); - - return false; - } - - if ('\\' === \DIRECTORY_SEPARATOR) { - $stat = @fstat($stream); - - // Check if formatted mode is S_IFCHR - return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; - } - - return \function_exists('posix_isatty') && @posix_isatty($stream); - } - - private static function initHashMask() - { - $obj = (object) []; - self::$hashMask = -1; - - // check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below - $obFuncs = ['ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush']; - foreach (debug_backtrace(\PHP_VERSION_ID >= 50400 ? \DEBUG_BACKTRACE_IGNORE_ARGS : false) as $frame) { - if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && \in_array($frame['function'], $obFuncs)) { - $frame['line'] = 0; - break; - } - } - if (!empty($frame['line'])) { - ob_start(); - debug_zval_dump($obj); - self::$hashMask = (int) substr(ob_get_clean(), 17); - } - - self::$hashMask ^= hexdec(substr(spl_object_hash($obj), 16 - (\PHP_INT_SIZE * 2 - 1), \PHP_INT_SIZE * 2 - 1)); - } - - public static function mb_chr($code, $encoding = null) - { - if (0x80 > $code %= 0x200000) { - $s = \chr($code); - } elseif (0x800 > $code) { - $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); - } elseif (0x10000 > $code) { - $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); - } else { - $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); - } - - if ('UTF-8' !== $encoding = $encoding ?? mb_internal_encoding()) { - $s = mb_convert_encoding($s, $encoding, 'UTF-8'); - } - - return $s; - } - - public static function mb_ord($s, $encoding = null) - { - if (null === $encoding) { - $s = mb_convert_encoding($s, 'UTF-8'); - } elseif ('UTF-8' !== $encoding) { - $s = mb_convert_encoding($s, 'UTF-8', $encoding); - } - - if (1 === \strlen($s)) { - return \ord($s); - } - - $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; - if (0xF0 <= $code) { - return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; - } - if (0xE0 <= $code) { - return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80; - } - if (0xC0 <= $code) { - return (($code - 0xC0) << 6) + $s[2] - 0x80; - } - - return $code; - } -} diff --git a/vendor/symfony/polyfill-php72/README.md b/vendor/symfony/polyfill-php72/README.md deleted file mode 100644 index ed19050..0000000 --- a/vendor/symfony/polyfill-php72/README.md +++ /dev/null @@ -1,35 +0,0 @@ -Symfony Polyfill / Php72 -======================== - -This component provides functions added to PHP 7.2 core: - -- [`spl_object_id`](https://php.net/spl_object_id) -- [`stream_isatty`](https://php.net/stream_isatty) - -And also functions added to PHP 7.2 mbstring: - -- [`mb_ord`](https://php.net/mb_ord) -- [`mb_chr`](https://php.net/mb_chr) -- [`mb_scrub`](https://php.net/mb_scrub) - -On Windows only: - -- [`sapi_windows_vt100_support`](https://php.net/sapi_windows_vt100_support) - -Moved to core since 7.2 (was in the optional XML extension earlier): - -- [`utf8_encode`](https://php.net/utf8_encode) -- [`utf8_decode`](https://php.net/utf8_decode) - -Also, it provides constants added to PHP 7.2: - -- [`PHP_FLOAT_*`](https://php.net/reserved.constants#constant.php-float-dig) -- [`PHP_OS_FAMILY`](https://php.net/reserved.constants#constant.php-os-family) - -More information can be found in the -[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md). - -License -======= - -This library is released under the [MIT license](LICENSE). diff --git a/vendor/symfony/polyfill-php72/bootstrap.php b/vendor/symfony/polyfill-php72/bootstrap.php deleted file mode 100644 index b5c92d4..0000000 --- a/vendor/symfony/polyfill-php72/bootstrap.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Symfony\Polyfill\Php72 as p; - -if (\PHP_VERSION_ID >= 70200) { - return; -} - -if (!defined('PHP_FLOAT_DIG')) { - define('PHP_FLOAT_DIG', 15); -} -if (!defined('PHP_FLOAT_EPSILON')) { - define('PHP_FLOAT_EPSILON', 2.2204460492503E-16); -} -if (!defined('PHP_FLOAT_MIN')) { - define('PHP_FLOAT_MIN', 2.2250738585072E-308); -} -if (!defined('PHP_FLOAT_MAX')) { - define('PHP_FLOAT_MAX', 1.7976931348623157E+308); -} -if (!defined('PHP_OS_FAMILY')) { - define('PHP_OS_FAMILY', p\Php72::php_os_family()); -} - -if ('\\' === \DIRECTORY_SEPARATOR && !function_exists('sapi_windows_vt100_support')) { - function sapi_windows_vt100_support($stream, $enable = null) { return p\Php72::sapi_windows_vt100_support($stream, $enable); } -} -if (!function_exists('stream_isatty')) { - function stream_isatty($stream) { return p\Php72::stream_isatty($stream); } -} -if (!function_exists('utf8_encode')) { - function utf8_encode($string) { return p\Php72::utf8_encode($string); } -} -if (!function_exists('utf8_decode')) { - function utf8_decode($string) { return p\Php72::utf8_decode($string); } -} -if (!function_exists('spl_object_id')) { - function spl_object_id($object) { return p\Php72::spl_object_id($object); } -} -if (!function_exists('mb_ord')) { - function mb_ord($string, $encoding = null) { return p\Php72::mb_ord($string, $encoding); } -} -if (!function_exists('mb_chr')) { - function mb_chr($codepoint, $encoding = null) { return p\Php72::mb_chr($codepoint, $encoding); } -} -if (!function_exists('mb_scrub')) { - function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); } -} diff --git a/vendor/symfony/polyfill-php72/composer.json b/vendor/symfony/polyfill-php72/composer.json deleted file mode 100644 index 1882576..0000000 --- a/vendor/symfony/polyfill-php72/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "symfony/polyfill-php72", - "type": "library", - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "keywords": ["polyfill", "shim", "compatibility", "portable"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=7.1" - }, - "autoload": { - "psr-4": { "Symfony\\Polyfill\\Php72\\": "" }, - "files": [ "bootstrap.php" ] - }, - "minimum-stability": "dev", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - } -} diff --git a/数据库修改记录.sql b/数据库修改记录.sql index 1146600..67138a4 100755 --- a/数据库修改记录.sql +++ b/数据库修改记录.sql @@ -19,4 +19,11 @@ CHANGE COLUMN `username` `mobile` varchar(15) CHARACTER SET utf8 COLLATE utf8_un -- 2024.08.07 ALTER TABLE `c_sms` MODIFY COLUMN `uid` int NOT NULL DEFAULT 0 COMMENT '管理用户ID' AFTER `pid`, -MODIFY COLUMN `mid` int NOT NULL DEFAULT 0 COMMENT '会员用户ID' AFTER `uid`; \ No newline at end of file +MODIFY COLUMN `mid` int NOT NULL DEFAULT 0 COMMENT '会员用户ID' AFTER `uid`; + +-- 2024.10.24 +ALTER TABLE `c_log` + MODIFY COLUMN `username` varchar (32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL AFTER `id`, + MODIFY COLUMN `ip` varchar (64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL AFTER `username`, + MODIFY COLUMN `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL AFTER `ip`, + MODIFY COLUMN `create_time` varchar (32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL AFTER `data`; \ No newline at end of file