From a2ac37804776f80730a880faf42cbca5ae327692 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sat, 19 Nov 2022 18:59:01 +0100 Subject: [PATCH] (Grav GitSync) Automatic Commit from RealStickman --- plugins/markdown-notices/CHANGELOG.md | 38 - plugins/markdown-notices/LICENSE | 21 - plugins/markdown-notices/README.md | 62 - plugins/markdown-notices/assets/notices.css | 32 - .../markdown-notices/assets/screenshot.png | Bin 86632 -> 0 bytes plugins/markdown-notices/blueprints.yaml | 59 - plugins/markdown-notices/composer.json | 27 - plugins/markdown-notices/composer.lock | 22 - plugins/markdown-notices/languages.yaml | 29 - plugins/markdown-notices/markdown-notices.php | 92 - .../markdown-notices/markdown-notices.yaml | 4 - plugins/markdown-notices/vendor/autoload.php | 7 - .../vendor/composer/ClassLoader.php | 445 - .../markdown-notices/vendor/composer/LICENSE | 21 - .../vendor/composer/autoload_classmap.php | 10 - .../vendor/composer/autoload_namespaces.php | 9 - .../vendor/composer/autoload_psr4.php | 9 - .../vendor/composer/autoload_real.php | 52 - .../vendor/composer/autoload_static.php | 20 - .../vendor/composer/installed.json | 1 - plugins/shortcode-core/.gitignore | 3 - plugins/shortcode-core/CHANGELOG.md | 411 - plugins/shortcode-core/LICENSE | 21 - plugins/shortcode-core/README.md | 575 - .../assets/shortcode-core-1.png | Bin 15822 -> 0 bytes plugins/shortcode-core/blueprints.yaml | 127 - plugins/shortcode-core/classes/Shortcode.php | 7 - .../classes/ShortcodeManager.php | 15 - .../classes/ShortcodeObject.php | 7 - .../classes/plugin/Shortcode.php | 24 - .../classes/plugin/ShortcodeManager.php | 383 - .../classes/plugin/ShortcodeObject.php | 33 - .../classes/plugin/ShortcodeTwigVar.php | 27 - .../classes/shortcodes/AlignShortcode.php | 26 - .../classes/shortcodes/ColorShortcode.php | 16 - .../classes/shortcodes/ColumnsShortcode.php | 27 - .../classes/shortcodes/DetailsShortcode.php | 26 - .../classes/shortcodes/DivShortcode.php | 22 - .../classes/shortcodes/FigureShortcode.php | 27 - .../shortcodes/FontAwesomeShortcode.php | 53 - .../classes/shortcodes/HShortcode.php | 48 - .../classes/shortcodes/LanguageShortcode.php | 31 - .../classes/shortcodes/LoremShortcode.php | 360 - .../classes/shortcodes/MarkShortcode.php | 27 - .../classes/shortcodes/NoticeShortcode.php | 24 - .../classes/shortcodes/RawShortcode.php | 18 - .../classes/shortcodes/SafeEmailShortcode.php | 51 - .../classes/shortcodes/SectionShortcode.php | 17 - .../classes/shortcodes/Shortcode.php | 91 - .../classes/shortcodes/ShortcodeObject.php | 24 - .../classes/shortcodes/SizeShortcode.php | 19 - .../classes/shortcodes/SpanShortcode.php | 22 - .../classes/shortcodes/UnderlineShortcode.php | 14 - .../shortcode-core/cli/ShortcodesCommand.php | 55 - plugins/shortcode-core/composer.json | 32 - plugins/shortcode-core/composer.lock | 80 - .../shortcode-core/css/shortcode-notice.css | 64 - .../nextgen-editor/.browserslistrc | 2 - .../nextgen-editor/.editorconfig | 7 - plugins/shortcode-core/nextgen-editor/.env | 2 - .../nextgen-editor/.eslintrc.js | 27 - .../shortcode-core/nextgen-editor/.gitignore | 20 - .../shortcode-core/nextgen-editor/README.md | 24 - .../nextgen-editor/babel.config.js | 5 - .../nextgen-editor/dist/css/app.css | 1 - .../nextgen-editor/dist/js/app.js | 2 - .../nextgen-editor/dist/js/app.js.map | 1 - .../nextgen-editor/package.json | 24 - .../nextgen-editor/shortcodes/align/align.js | 55 - .../nextgen-editor/shortcodes/color/color.js | 22 - .../shortcodes/columns/columns.js | 58 - .../shortcodes/details/details.css | 8 - .../shortcodes/details/details.js | 50 - .../nextgen-editor/shortcodes/div/div.js | 47 - .../shortcodes/figure/figure.js | 46 - .../shortcodes/fontawesome/fontawesome.js | 50 - .../shortcodes/headers/headers.css | 32 - .../shortcodes/headers/headers.js | 47 - .../shortcodes/language/language.js | 25 - .../nextgen-editor/shortcodes/lorem/lorem.js | 80 - .../nextgen-editor/shortcodes/mark/mark.css | 7 - .../nextgen-editor/shortcodes/mark/mark.js | 49 - .../shortcodes/notice/notice.css | 63 - .../shortcodes/notice/notice.js | 41 - .../nextgen-editor/shortcodes/raw/raw.js | 13 - .../shortcodes/safe-email/safe-email.js | 48 - .../shortcodes/section/section.js | 26 - .../shortcodes/shortcode-core.js | 10 - .../nextgen-editor/shortcodes/size/size.js | 26 - .../nextgen-editor/shortcodes/span/span.js | 37 - .../nextgen-editor/shortcodes/u/u.js | 13 - .../nextgen-editor/src/collapse.js | 30 - .../nextgen-editor/src/command.js | 153 - .../nextgen-editor/src/converters.js | 150 - .../nextgen-editor/src/events.js | 86 - .../shortcode-core/nextgen-editor/src/init.js | 45 - .../nextgen-editor/src/main.css | 278 - .../shortcode-core/nextgen-editor/src/main.js | 10 - .../nextgen-editor/src/postsave.js | 95 - .../nextgen-editor/src/prerender.js | 100 - .../nextgen-editor/src/remove.js | 55 - .../nextgen-editor/src/render.js | 95 - .../shortcode-core/nextgen-editor/src/save.js | 80 - .../nextgen-editor/src/settings.js | 153 - .../nextgen-editor/src/uncollapse.js | 164 - .../nextgen-editor/vue.config.js | 31 - .../shortcode-core/nextgen-editor/yarn.lock | 9534 ----------------- plugins/shortcode-core/shortcode-core.php | 293 - plugins/shortcode-core/shortcode-core.yaml | 17 - .../templates/shortcodes/notice.html.twig | 3 - plugins/shortcode-core/vendor/autoload.php | 12 - .../vendor/composer/ClassLoader.php | 572 - .../vendor/composer/InstalledVersions.php | 352 - .../shortcode-core/vendor/composer/LICENSE | 21 - .../vendor/composer/autoload_classmap.php | 11 - .../vendor/composer/autoload_namespaces.php | 9 - .../vendor/composer/autoload_psr4.php | 12 - .../vendor/composer/autoload_real.php | 38 - .../vendor/composer/autoload_static.php | 50 - .../vendor/composer/installed.json | 65 - .../vendor/composer/installed.php | 32 - .../vendor/composer/platform_check.php | 26 - .../shortcode/.github/workflows/test.yaml | 47 - .../vendor/thunderer/shortcode/.gitignore | 6 - .../vendor/thunderer/shortcode/CHANGELOG.md | 139 - .../vendor/thunderer/shortcode/LICENSE | 19 - .../vendor/thunderer/shortcode/Makefile | 60 - .../vendor/thunderer/shortcode/README.md | 396 - .../vendor/thunderer/shortcode/composer.json | 34 - .../thunderer/shortcode/docker-compose.yaml | 20 - .../shortcode/docker/php-5.x/Dockerfile | 11 - .../thunderer/shortcode/docker/php/Dockerfile | 12 - .../thunderer/shortcode/docker/php/php.ini | 1 - .../vendor/thunderer/shortcode/infection.json | 12 - .../thunderer/shortcode/phpunit.xml.dist | 30 - .../vendor/thunderer/shortcode/psalm.xml | 19 - .../src/Event/FilterShortcodesEvent.php | 62 - .../src/Event/ReplaceShortcodesEvent.php | 94 - .../src/EventContainer/EventContainer.php | 56 - .../EventContainerInterface.php | 15 - .../EventHandler/FilterRawEventHandler.php | 34 - .../EventHandler/ReplaceJoinEventHandler.php | 37 - .../vendor/thunderer/shortcode/src/Events.php | 17 - .../shortcode/src/Handler/ContentHandler.php | 22 - .../shortcode/src/Handler/DeclareHandler.php | 50 - .../shortcode/src/Handler/EmailHandler.php | 27 - .../shortcode/src/Handler/NameHandler.php | 23 - .../shortcode/src/Handler/NullHandler.php | 22 - .../src/Handler/PlaceholderHandler.php | 37 - .../shortcode/src/Handler/RawHandler.php | 26 - .../src/Handler/SerializerHandler.php | 38 - .../shortcode/src/Handler/UrlHandler.php | 26 - .../shortcode/src/Handler/WrapHandler.php | 44 - .../src/HandlerContainer/HandlerContainer.php | 122 - .../HandlerContainerInterface.php | 21 - .../ImmutableHandlerContainer.php | 29 - .../shortcode/src/Parser/ParserInterface.php | 19 - .../shortcode/src/Parser/RegexParser.php | 124 - .../shortcode/src/Parser/RegularParser.php | 397 - .../shortcode/src/Parser/WordpressParser.php | 134 - .../shortcode/src/Processor/Processor.php | 272 - .../src/Processor/ProcessorContext.php | 58 - .../src/Processor/ProcessorInterface.php | 17 - .../src/Serializer/JsonSerializer.php | 52 - .../src/Serializer/SerializerInterface.php | 28 - .../src/Serializer/TextSerializer.php | 101 - .../src/Serializer/XmlSerializer.php | 141 - .../src/Serializer/YamlSerializer.php | 53 - .../src/Shortcode/AbstractShortcode.php | 86 - .../src/Shortcode/ParsedShortcode.php | 47 - .../Shortcode/ParsedShortcodeInterface.php | 22 - .../src/Shortcode/ProcessedShortcode.php | 163 - .../src/Shortcode/ReplacedShortcode.php | 46 - .../shortcode/src/Shortcode/Shortcode.php | 39 - .../src/Shortcode/ShortcodeInterface.php | 60 - .../shortcode/src/ShortcodeFacade.php | 215 - .../shortcode/src/Syntax/CommonSyntax.php | 38 - .../thunderer/shortcode/src/Syntax/Syntax.php | 70 - .../shortcode/src/Syntax/SyntaxBuilder.php | 95 - .../shortcode/src/Syntax/SyntaxInterface.php | 23 - .../src/Utility/RegexBuilderUtility.php | 95 - .../shortcode/tests/AbstractTestCase.php | 17 - .../thunderer/shortcode/tests/EventsTest.php | 97 - .../thunderer/shortcode/tests/FacadeTest.php | 98 - .../shortcode/tests/Fake/ReverseShortcode.php | 12 - .../shortcode/tests/HandlerContainerTest.php | 100 - .../thunderer/shortcode/tests/ParserTest.php | 321 - .../shortcode/tests/ProcessorTest.php | 367 - .../shortcode/tests/SerializerTest.php | 124 - .../shortcode/tests/ShortcodeTest.php | 137 - .../thunderer/shortcode/tests/SyntaxTest.php | 54 - 191 files changed, 22637 deletions(-) delete mode 100644 plugins/markdown-notices/CHANGELOG.md delete mode 100644 plugins/markdown-notices/LICENSE delete mode 100644 plugins/markdown-notices/README.md delete mode 100644 plugins/markdown-notices/assets/notices.css delete mode 100644 plugins/markdown-notices/assets/screenshot.png delete mode 100644 plugins/markdown-notices/blueprints.yaml delete mode 100644 plugins/markdown-notices/composer.json delete mode 100644 plugins/markdown-notices/composer.lock delete mode 100644 plugins/markdown-notices/languages.yaml delete mode 100644 plugins/markdown-notices/markdown-notices.php delete mode 100644 plugins/markdown-notices/markdown-notices.yaml delete mode 100644 plugins/markdown-notices/vendor/autoload.php delete mode 100644 plugins/markdown-notices/vendor/composer/ClassLoader.php delete mode 100644 plugins/markdown-notices/vendor/composer/LICENSE delete mode 100644 plugins/markdown-notices/vendor/composer/autoload_classmap.php delete mode 100644 plugins/markdown-notices/vendor/composer/autoload_namespaces.php delete mode 100644 plugins/markdown-notices/vendor/composer/autoload_psr4.php delete mode 100644 plugins/markdown-notices/vendor/composer/autoload_real.php delete mode 100644 plugins/markdown-notices/vendor/composer/autoload_static.php delete mode 100644 plugins/markdown-notices/vendor/composer/installed.json delete mode 100644 plugins/shortcode-core/.gitignore delete mode 100644 plugins/shortcode-core/CHANGELOG.md delete mode 100644 plugins/shortcode-core/LICENSE delete mode 100644 plugins/shortcode-core/README.md delete mode 100644 plugins/shortcode-core/assets/shortcode-core-1.png delete mode 100644 plugins/shortcode-core/blueprints.yaml delete mode 100644 plugins/shortcode-core/classes/Shortcode.php delete mode 100644 plugins/shortcode-core/classes/ShortcodeManager.php delete mode 100644 plugins/shortcode-core/classes/ShortcodeObject.php delete mode 100644 plugins/shortcode-core/classes/plugin/Shortcode.php delete mode 100644 plugins/shortcode-core/classes/plugin/ShortcodeManager.php delete mode 100644 plugins/shortcode-core/classes/plugin/ShortcodeObject.php delete mode 100644 plugins/shortcode-core/classes/plugin/ShortcodeTwigVar.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/AlignShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/ColorShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/ColumnsShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/DetailsShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/DivShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/FigureShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/FontAwesomeShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/HShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/LanguageShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/LoremShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/MarkShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/NoticeShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/RawShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/SafeEmailShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/SectionShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/Shortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/ShortcodeObject.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/SizeShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/SpanShortcode.php delete mode 100644 plugins/shortcode-core/classes/shortcodes/UnderlineShortcode.php delete mode 100644 plugins/shortcode-core/cli/ShortcodesCommand.php delete mode 100644 plugins/shortcode-core/composer.json delete mode 100644 plugins/shortcode-core/composer.lock delete mode 100644 plugins/shortcode-core/css/shortcode-notice.css delete mode 100644 plugins/shortcode-core/nextgen-editor/.browserslistrc delete mode 100644 plugins/shortcode-core/nextgen-editor/.editorconfig delete mode 100644 plugins/shortcode-core/nextgen-editor/.env delete mode 100644 plugins/shortcode-core/nextgen-editor/.eslintrc.js delete mode 100644 plugins/shortcode-core/nextgen-editor/.gitignore delete mode 100644 plugins/shortcode-core/nextgen-editor/README.md delete mode 100644 plugins/shortcode-core/nextgen-editor/babel.config.js delete mode 100644 plugins/shortcode-core/nextgen-editor/dist/css/app.css delete mode 100644 plugins/shortcode-core/nextgen-editor/dist/js/app.js delete mode 100644 plugins/shortcode-core/nextgen-editor/dist/js/app.js.map delete mode 100644 plugins/shortcode-core/nextgen-editor/package.json delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/align/align.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/color/color.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/columns/columns.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/details/details.css delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/details/details.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/div/div.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/figure/figure.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.css delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/language/language.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.css delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.css delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/raw/raw.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/section/section.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/shortcode-core.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/size/size.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/span/span.js delete mode 100644 plugins/shortcode-core/nextgen-editor/shortcodes/u/u.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/collapse.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/command.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/converters.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/events.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/init.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/main.css delete mode 100644 plugins/shortcode-core/nextgen-editor/src/main.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/postsave.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/prerender.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/remove.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/render.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/save.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/settings.js delete mode 100644 plugins/shortcode-core/nextgen-editor/src/uncollapse.js delete mode 100644 plugins/shortcode-core/nextgen-editor/vue.config.js delete mode 100644 plugins/shortcode-core/nextgen-editor/yarn.lock delete mode 100644 plugins/shortcode-core/shortcode-core.php delete mode 100644 plugins/shortcode-core/shortcode-core.yaml delete mode 100644 plugins/shortcode-core/templates/shortcodes/notice.html.twig delete mode 100644 plugins/shortcode-core/vendor/autoload.php delete mode 100644 plugins/shortcode-core/vendor/composer/ClassLoader.php delete mode 100644 plugins/shortcode-core/vendor/composer/InstalledVersions.php delete mode 100644 plugins/shortcode-core/vendor/composer/LICENSE delete mode 100644 plugins/shortcode-core/vendor/composer/autoload_classmap.php delete mode 100644 plugins/shortcode-core/vendor/composer/autoload_namespaces.php delete mode 100644 plugins/shortcode-core/vendor/composer/autoload_psr4.php delete mode 100644 plugins/shortcode-core/vendor/composer/autoload_real.php delete mode 100644 plugins/shortcode-core/vendor/composer/autoload_static.php delete mode 100644 plugins/shortcode-core/vendor/composer/installed.json delete mode 100644 plugins/shortcode-core/vendor/composer/installed.php delete mode 100644 plugins/shortcode-core/vendor/composer/platform_check.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/.github/workflows/test.yaml delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/.gitignore delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/CHANGELOG.md delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/LICENSE delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/Makefile delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/README.md delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/composer.json delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/docker-compose.yaml delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/docker/php-5.x/Dockerfile delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/Dockerfile delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/php.ini delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/infection.json delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/phpunit.xml.dist delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/psalm.xml delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/FilterShortcodesEvent.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/ReplaceShortcodesEvent.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainer.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainerInterface.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/FilterRawEventHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/ReplaceJoinEventHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Events.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/ContentHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/DeclareHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/EmailHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NameHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NullHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/PlaceholderHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/RawHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/SerializerHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/UrlHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/WrapHandler.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainer.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainerInterface.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/ImmutableHandlerContainer.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/ParserInterface.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegexParser.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegularParser.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/WordpressParser.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/Processor.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorContext.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorInterface.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/JsonSerializer.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/SerializerInterface.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/TextSerializer.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/XmlSerializer.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/YamlSerializer.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/AbstractShortcode.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcode.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcodeInterface.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ProcessedShortcode.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ReplacedShortcode.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/Shortcode.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ShortcodeInterface.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/ShortcodeFacade.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/CommonSyntax.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/Syntax.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxBuilder.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxInterface.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/src/Utility/RegexBuilderUtility.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/AbstractTestCase.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/EventsTest.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/FacadeTest.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/Fake/ReverseShortcode.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/HandlerContainerTest.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/ParserTest.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/ProcessorTest.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/SerializerTest.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/ShortcodeTest.php delete mode 100644 plugins/shortcode-core/vendor/thunderer/shortcode/tests/SyntaxTest.php diff --git a/plugins/markdown-notices/CHANGELOG.md b/plugins/markdown-notices/CHANGELOG.md deleted file mode 100644 index 87e27b1..0000000 --- a/plugins/markdown-notices/CHANGELOG.md +++ /dev/null @@ -1,38 +0,0 @@ -# v1.1.0 -## 12/02/2020 - -1. [](#new) - * Support for indent-sensitive notices [#17](https://github.com/getgrav/grav-plugin-markdown-notices/pull/17) - * Pass phpstan level 1 tests - * Require Grav v1.6 - -# v1.0.4 -## 09/10/2019 - -1. [](#improved) - * Reverted PR#10 which was breaking multiline notices and also unintentionally marking up notices with `!` in paragraphs - -# v1.0.3 -## 08/16/2019 - -1. [](#improved) - * Fixed issue where PR#10 clobbered PR#9 - -# v1.0.2 -## 08/11/2019 - -1. [](#new) - * Ability to specify your own base classes [#9](https://github.com/getgrav/grav-plugin-markdown-notices/pull/9) - * Allow adding inline notices inside tables [#10](https://github.com/getgrav/grav-plugin-markdown-notices/pull/10) - -# v1.0.1 -## 03/09/2018 - -1. [](#improved) - * Updated blueprint file - -# v1.0.0 -## 12/22/2015 - -1. [](#new) - * ChangeLog started... diff --git a/plugins/markdown-notices/LICENSE b/plugins/markdown-notices/LICENSE deleted file mode 100644 index 4bb7092..0000000 --- a/plugins/markdown-notices/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Grav - -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/plugins/markdown-notices/README.md b/plugins/markdown-notices/README.md deleted file mode 100644 index 00f9cb6..0000000 --- a/plugins/markdown-notices/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# Grav Markdown Notices Plugin - -The **markdown-notices plugin** for [Grav](http://github.com/getgrav/grav) allows generation of notice blocks of text via markdown: - -![](assets/screenshot.png) - -# Installation - -This plugin is easy to install with GPM. - -``` -$ bin/gpm install markdown-notices -``` - -# Configuration - -Simply copy the `user/plugins/markdown-notices/markdown-notices.yaml` into `user/config/plugins/markdown-notices.yaml` and make your modifications. - -``` -enabled: true -built_in_css: true -base_classes: 'notices' -level_classes: [yellow, red, blue, green] -``` - -# Examples - -Using one level of `!` - -``` -! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. -! Vestibulum eu condimentum urna. Vestibulum feugiat odio ut sodales porta. Donec sit amet ante mi. Donec lobortis -! orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex -! tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. -``` - -You will output the following HTML - -``` -
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. - Vestibulum eu condimentum urna. Vestibulum feugiat odio ut sodales porta. Donec sit amet ante mi. Donec lobortis - orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex - tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. -

-
-``` - -The `notices` class determined by the `base_classes` and `yellow` class is determined by the `level_classes` in the configuration. You can customize this as you need. - -``` -!! Lorem ipsum dolor sit amet, **consectetur adipiscing** elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. -!! -!! * List item a -!! * List item b -!! -!! orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex -!! tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. -``` - -Two levels of `!!` will use the second level class etc. You can also use complex markdown inside the notices. diff --git a/plugins/markdown-notices/assets/notices.css b/plugins/markdown-notices/assets/notices.css deleted file mode 100644 index 93c3a85..0000000 --- a/plugins/markdown-notices/assets/notices.css +++ /dev/null @@ -1,32 +0,0 @@ -.notices { - padding: 1px 1px 1px 30px; - margin: 15px 0; -} - -.notices p { - -} - -.notices.yellow { - border-left: 10px solid #f0ad4e; - background: #fcf8f2; - color: #df8a13; -} - -.notices.red { - border-left: 10px solid #d9534f; - background: #fdf7f7; - color: #b52b27; -} - -.notices.blue { - border-left: 10px solid #5bc0de; - background: #f4f8fa; - color: #28a1c5; -} - -.notices.green { - border-left: 10px solid #5cb85c; - background: #f1f9f1; - color: #3d8b3d; -} \ No newline at end of file diff --git a/plugins/markdown-notices/assets/screenshot.png b/plugins/markdown-notices/assets/screenshot.png deleted file mode 100644 index cf27677a9736178e4945722a7f39a453b16cb558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86632 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 diff --git a/plugins/markdown-notices/blueprints.yaml b/plugins/markdown-notices/blueprints.yaml deleted file mode 100644 index 601b98a..0000000 --- a/plugins/markdown-notices/blueprints.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: 'Markdown Notices' -type: plugin -slug: markdown-notices -version: 1.1.0 -description: 'Adds the ability to render notices blocks in Markdown' -icon: asterisk -author: - name: Team Grav - email: devs@getgrav.org - url: http://getgrav.org -homepage: https://github.com/getgrav/grav-plugin-markdown-notices -license: MIT -dependencies: - - { name: grav, version: '>=1.6.0' } - -form: - validation: strict - fields: - enabled: - type: toggle - label: PLUGIN_ADMIN.PLUGIN_STATUS - highlight: 1 - default: 0 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - built_in_css: - type: toggle - label: PLUGIN_MARKDOWN_NOTICES.USE_BUILT_IN_CSS - highlight: 1 - default: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - base_classes: - type: selectize - label: PLUGIN_MARKDOWN_NOTICES.BASE_CLASSES - size: large - placeholder: PLUGIN_MARKDOWN_NOTICES.BASE_CLASSES_PLACEHOLDER - help: PLUGIN_MARKDOWN_NOTICES.BASE_CLASSES_HELP - classes: fancy - validate: - type: string - - level_classes: - type: selectize - label: PLUGIN_MARKDOWN_NOTICES.LEVEL_CLASSES - size: large - placeholder: PLUGIN_MARKDOWN_NOTICES.LEVEL_CLASSES_PLACEHOLDER - help: PLUGIN_MARKDOWN_NOTICES.LEVEL_CLASSES_HELP - classes: fancy - validate: - type: commalist diff --git a/plugins/markdown-notices/composer.json b/plugins/markdown-notices/composer.json deleted file mode 100644 index b5f3540..0000000 --- a/plugins/markdown-notices/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "grav-plugin-markdown-notices", - "type": "grav-plugin", - "description": "Markdown notices plugin for Grav CMS", - "keywords": ["notices"], - "homepage": "https://github.com/getgrav/grav-plugin-markdown-notices/", - "license": "MIT", - "authors": [ - { - "name": "Team Grav", - "email": "devs@getgrav.org", - "homepage": "http://getgrav.org", - "role": "Developer" - } - ], - "require": { - "php": ">=7.1.3" - }, - "autoload": { - "classmap": ["markdown-notices.php"] - }, - "config": { - "platform": { - "php": "7.1.3" - } - } -} diff --git a/plugins/markdown-notices/composer.lock b/plugins/markdown-notices/composer.lock deleted file mode 100644 index 428bd2b..0000000 --- a/plugins/markdown-notices/composer.lock +++ /dev/null @@ -1,22 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "683006688355ff7a1f71b2726c2629b6", - "packages": [], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=7.1.3" - }, - "platform-dev": [], - "platform-overrides": { - "php": "7.1.3" - } -} diff --git a/plugins/markdown-notices/languages.yaml b/plugins/markdown-notices/languages.yaml deleted file mode 100644 index dbee759..0000000 --- a/plugins/markdown-notices/languages.yaml +++ /dev/null @@ -1,29 +0,0 @@ -en: - PLUGIN_MARKDOWN_NOTICES: - USE_BUILT_IN_CSS: 'Use built-in CSS' - BASE_CLASSES: 'Base classes' - BASE_CLASSES_HELP: 'These classes will be added before the class level' - BASE_CLASSES_PLACEHOLDER: 'e.g. notices' - LEVEL_CLASSES: 'Level classes' - LEVEL_CLASSES_HELP: 'The classes to use for each level of notices depth' - LEVEL_CLASSES_PLACEHOLDER: 'e.g. yellow, red, blue, green' - -ru: - PLUGIN_MARKDOWN_NOTICES: - USE_BUILT_IN_CSS: 'Использовать встроенный CSS' - BASE_CLASSES: 'Базовые классы' - BASE_CLASSES_HELP: 'Эти классы будут добавлены до уровня класса' - BASE_CLASSES_PLACEHOLDER: 'например notices' - LEVEL_CLASSES: 'Классы уровней' - LEVEL_CLASSES_HELP: 'Эти классы используются на каждом уровне глубины уведомлений' - LEVEL_CLASSES_PLACEHOLDER: 'например yellow, red, blue, green' - -uk: - PLUGIN_MARKDOWN_NOTICES: - USE_BUILT_IN_CSS: 'Використовувати вбудований CSS' - BASE_CLASSES: 'Базові класи' - BASE_CLASSES_HELP: 'Ці класи будуть додані до рівня класу' - BASE_CLASSES_PLACEHOLDER: 'наприклад notices' - LEVEL_CLASSES: 'Класи рівнів' - LEVEL_CLASSES_HELP: 'Ці класи використовуються на кожному рівні глибини повідомлень' - LEVEL_CLASSES_PLACEHOLDER: 'наприклад yellow, red, blue, green' diff --git a/plugins/markdown-notices/markdown-notices.php b/plugins/markdown-notices/markdown-notices.php deleted file mode 100644 index 3829e2a..0000000 --- a/plugins/markdown-notices/markdown-notices.php +++ /dev/null @@ -1,92 +0,0 @@ - [ - ['autoload', 100001], - ], - 'onMarkdownInitialized' => ['onMarkdownInitialized', 0], - 'onTwigSiteVariables' => ['onTwigSiteVariables', 0] - ]; - } - - /** - * [onPluginsInitialized:100000] Composer autoload. - * - * @return ClassLoader - */ - public function autoload() - { - return require __DIR__ . '/vendor/autoload.php'; - } - - public function onMarkdownInitialized(Event $event) - { - $markdown = $event['markdown']; - - $markdown->addBlockType('!', 'Notices', true, false); - - $markdown->blockNotices = function($Line) { - - $this->level_classes = $this->config->get('plugins.markdown-notices.level_classes'); - $this->base_classes = $this->config->get('plugins.markdown-notices.base_classes'); - - if (preg_match('/^(!{1,'.count($this->level_classes).'}) (.*)/', $Line['text'], $matches)) - { - $level = strlen($matches[1]) - 1; - - $text = $matches[2]; - $base_classes = (empty($this->base_classes)) ? '' : str_replace(',', ' ', $this->base_classes) . ' '; - - $Block = [ - 'element' => [ - 'name' => 'div', - 'handler' => 'lines', - 'attributes' => [ - 'class' => $base_classes . $this->level_classes[$level], - ], - 'text' => (array) $text, - ], - ]; - - return $Block; - } - }; - - $markdown->blockNoticesContinue = function($Line, array $Block) { - if (isset($Block['interrupted'])) - { - return; - } - - if (preg_match('/^(!{1,'.count($this->level_classes).'}) ?(.*)/', $Line['text'], $matches)) - { - $Block['element']['text'] []= $matches[2]; - - return $Block; - } - }; - } - - public function onTwigSiteVariables() - { - if ($this->config->get('plugins.markdown-notices.built_in_css')) { - $this->grav['assets'] - ->add('plugin://markdown-notices/assets/notices.css'); - } - } -} diff --git a/plugins/markdown-notices/markdown-notices.yaml b/plugins/markdown-notices/markdown-notices.yaml deleted file mode 100644 index 2e15749..0000000 --- a/plugins/markdown-notices/markdown-notices.yaml +++ /dev/null @@ -1,4 +0,0 @@ -enabled: true -built_in_css: true -base_classes: 'notices' -level_classes: [yellow, red, blue, green] diff --git a/plugins/markdown-notices/vendor/autoload.php b/plugins/markdown-notices/vendor/autoload.php deleted file mode 100644 index e0aa508..0000000 --- a/plugins/markdown-notices/vendor/autoload.php +++ /dev/null @@ -1,7 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer\Autoload; - -/** - * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. - * - * $loader = new \Composer\Autoload\ClassLoader(); - * - * // register classes with namespaces - * $loader->add('Symfony\Component', __DIR__.'/component'); - * $loader->add('Symfony', __DIR__.'/framework'); - * - * // activate the autoloader - * $loader->register(); - * - * // to enable searching the include path (eg. for PEAR packages) - * $loader->setUseIncludePath(true); - * - * In this example, if you try to use a class in the Symfony\Component - * namespace or one of its children (Symfony\Component\Console for instance), - * the autoloader will first look for the class under the component/ - * directory, and it will then fallback to the framework/ directory if not - * found before giving up. - * - * This class is loosely based on the Symfony UniversalClassLoader. - * - * @author Fabien Potencier - * @author Jordi Boggiano - * @see http://www.php-fig.org/psr/psr-0/ - * @see http://www.php-fig.org/psr/psr-4/ - */ -class ClassLoader -{ - // PSR-4 - private $prefixLengthsPsr4 = array(); - private $prefixDirsPsr4 = array(); - private $fallbackDirsPsr4 = array(); - - // PSR-0 - private $prefixesPsr0 = array(); - private $fallbackDirsPsr0 = array(); - - private $useIncludePath = false; - private $classMap = array(); - private $classMapAuthoritative = false; - private $missingClasses = array(); - private $apcuPrefix; - - public function getPrefixes() - { - if (!empty($this->prefixesPsr0)) { - return call_user_func_array('array_merge', $this->prefixesPsr0); - } - - return array(); - } - - public function getPrefixesPsr4() - { - return $this->prefixDirsPsr4; - } - - public function getFallbackDirs() - { - return $this->fallbackDirsPsr0; - } - - public function getFallbackDirsPsr4() - { - return $this->fallbackDirsPsr4; - } - - public function getClassMap() - { - return $this->classMap; - } - - /** - * @param array $classMap Class to filename map - */ - public function addClassMap(array $classMap) - { - if ($this->classMap) { - $this->classMap = array_merge($this->classMap, $classMap); - } else { - $this->classMap = $classMap; - } - } - - /** - * 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 array|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories - */ - public function add($prefix, $paths, $prepend = false) - { - if (!$prefix) { - if ($prepend) { - $this->fallbackDirsPsr0 = array_merge( - (array) $paths, - $this->fallbackDirsPsr0 - ); - } else { - $this->fallbackDirsPsr0 = array_merge( - $this->fallbackDirsPsr0, - (array) $paths - ); - } - - return; - } - - $first = $prefix[0]; - if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; - - return; - } - if ($prepend) { - $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, - $this->prefixesPsr0[$first][$prefix] - ); - } else { - $this->prefixesPsr0[$first][$prefix] = array_merge( - $this->prefixesPsr0[$first][$prefix], - (array) $paths - ); - } - } - - /** - * 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 array|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories - * - * @throws \InvalidArgumentException - */ - public function addPsr4($prefix, $paths, $prepend = false) - { - if (!$prefix) { - // Register directories for the root namespace. - if ($prepend) { - $this->fallbackDirsPsr4 = array_merge( - (array) $paths, - $this->fallbackDirsPsr4 - ); - } else { - $this->fallbackDirsPsr4 = array_merge( - $this->fallbackDirsPsr4, - (array) $paths - ); - } - } elseif (!isset($this->prefixDirsPsr4[$prefix])) { - // Register directories for a new namespace. - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - 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; - } elseif ($prepend) { - // Prepend directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, - $this->prefixDirsPsr4[$prefix] - ); - } else { - // Append directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - $this->prefixDirsPsr4[$prefix], - (array) $paths - ); - } - } - - /** - * 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 array|string $paths The PSR-0 base directories - */ - public function set($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr0 = (array) $paths; - } else { - $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; - } - } - - /** - * 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 array|string $paths The PSR-4 base directories - * - * @throws \InvalidArgumentException - */ - public function setPsr4($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr4 = (array) $paths; - } else { - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - 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; - } - } - - /** - * Turns on searching the include path for class files. - * - * @param bool $useIncludePath - */ - public function setUseIncludePath($useIncludePath) - { - $this->useIncludePath = $useIncludePath; - } - - /** - * Can be used to check if the autoloader uses the include path to check - * for classes. - * - * @return bool - */ - public function getUseIncludePath() - { - return $this->useIncludePath; - } - - /** - * Turns off searching the prefix and fallback directories for classes - * that have not been registered with the class map. - * - * @param bool $classMapAuthoritative - */ - public function setClassMapAuthoritative($classMapAuthoritative) - { - $this->classMapAuthoritative = $classMapAuthoritative; - } - - /** - * Should class lookup fail if not found in the current class map? - * - * @return bool - */ - public function isClassMapAuthoritative() - { - return $this->classMapAuthoritative; - } - - /** - * APCu prefix to use to cache found/not-found classes, if the extension is enabled. - * - * @param string|null $apcuPrefix - */ - public function setApcuPrefix($apcuPrefix) - { - $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; - } - - /** - * The APCu prefix in use, or null if APCu caching is not enabled. - * - * @return string|null - */ - public function getApcuPrefix() - { - return $this->apcuPrefix; - } - - /** - * Registers this instance as an autoloader. - * - * @param bool $prepend Whether to prepend the autoloader or not - */ - public function register($prepend = false) - { - spl_autoload_register(array($this, 'loadClass'), true, $prepend); - } - - /** - * Unregisters this instance as an autoloader. - */ - public function unregister() - { - spl_autoload_unregister(array($this, 'loadClass')); - } - - /** - * Loads the given class or interface. - * - * @param string $class The name of the class - * @return bool|null True if loaded, null otherwise - */ - public function loadClass($class) - { - if ($file = $this->findFile($class)) { - includeFile($file); - - return true; - } - } - - /** - * Finds the path to the file where the class is defined. - * - * @param string $class The name of the class - * - * @return string|false The path if found, false otherwise - */ - public function findFile($class) - { - // class map lookup - if (isset($this->classMap[$class])) { - return $this->classMap[$class]; - } - if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { - return false; - } - if (null !== $this->apcuPrefix) { - $file = apcu_fetch($this->apcuPrefix.$class, $hit); - if ($hit) { - return $file; - } - } - - $file = $this->findFileWithExtension($class, '.php'); - - // Search for Hack files if we are running on HHVM - if (false === $file && defined('HHVM_VERSION')) { - $file = $this->findFileWithExtension($class, '.hh'); - } - - if (null !== $this->apcuPrefix) { - apcu_add($this->apcuPrefix.$class, $file); - } - - if (false === $file) { - // Remember that this class does not exist. - $this->missingClasses[$class] = true; - } - - return $file; - } - - private function findFileWithExtension($class, $ext) - { - // PSR-4 lookup - $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; - - $first = $class[0]; - if (isset($this->prefixLengthsPsr4[$first])) { - $subPath = $class; - while (false !== $lastPos = strrpos($subPath, '\\')) { - $subPath = substr($subPath, 0, $lastPos); - $search = $subPath.'\\'; - if (isset($this->prefixDirsPsr4[$search])) { - $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); - foreach ($this->prefixDirsPsr4[$search] as $dir) { - if (file_exists($file = $dir . $pathEnd)) { - return $file; - } - } - } - } - } - - // PSR-4 fallback dirs - foreach ($this->fallbackDirsPsr4 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { - return $file; - } - } - - // PSR-0 lookup - if (false !== $pos = strrpos($class, '\\')) { - // namespaced class name - $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) - . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); - } else { - // PEAR-like class name - $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; - } - - if (isset($this->prefixesPsr0[$first])) { - foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { - if (0 === strpos($class, $prefix)) { - foreach ($dirs as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - } - } - } - - // PSR-0 fallback dirs - foreach ($this->fallbackDirsPsr0 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - - // PSR-0 include paths. - if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { - return $file; - } - - return false; - } -} - -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - */ -function includeFile($file) -{ - include $file; -} diff --git a/plugins/markdown-notices/vendor/composer/LICENSE b/plugins/markdown-notices/vendor/composer/LICENSE deleted file mode 100644 index f27399a..0000000 --- a/plugins/markdown-notices/vendor/composer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - -Copyright (c) Nils Adermann, Jordi Boggiano - -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/plugins/markdown-notices/vendor/composer/autoload_classmap.php b/plugins/markdown-notices/vendor/composer/autoload_classmap.php deleted file mode 100644 index 2c14f6c..0000000 --- a/plugins/markdown-notices/vendor/composer/autoload_classmap.php +++ /dev/null @@ -1,10 +0,0 @@ - $baseDir . '/markdown-notices.php', -); diff --git a/plugins/markdown-notices/vendor/composer/autoload_namespaces.php b/plugins/markdown-notices/vendor/composer/autoload_namespaces.php deleted file mode 100644 index b7fc012..0000000 --- a/plugins/markdown-notices/vendor/composer/autoload_namespaces.php +++ /dev/null @@ -1,9 +0,0 @@ -= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); - if ($useStaticLoader) { - require_once __DIR__ . '/autoload_static.php'; - - call_user_func(\Composer\Autoload\ComposerStaticInit83fb2a7c0fd89ecaed52b0401a5f24c0::getInitializer($loader)); - } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } - - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } - } - - $loader->register(true); - - return $loader; - } -} diff --git a/plugins/markdown-notices/vendor/composer/autoload_static.php b/plugins/markdown-notices/vendor/composer/autoload_static.php deleted file mode 100644 index f5cb969..0000000 --- a/plugins/markdown-notices/vendor/composer/autoload_static.php +++ /dev/null @@ -1,20 +0,0 @@ - __DIR__ . '/../..' . '/markdown-notices.php', - ); - - public static function getInitializer(ClassLoader $loader) - { - return \Closure::bind(function () use ($loader) { - $loader->classMap = ComposerStaticInit83fb2a7c0fd89ecaed52b0401a5f24c0::$classMap; - - }, null, ClassLoader::class); - } -} diff --git a/plugins/markdown-notices/vendor/composer/installed.json b/plugins/markdown-notices/vendor/composer/installed.json deleted file mode 100644 index fe51488..0000000 --- a/plugins/markdown-notices/vendor/composer/installed.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/plugins/shortcode-core/.gitignore b/plugins/shortcode-core/.gitignore deleted file mode 100644 index ce52594..0000000 --- a/plugins/shortcode-core/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/.idea -/vendor/.DS_Store -.DS_Store diff --git a/plugins/shortcode-core/CHANGELOG.md b/plugins/shortcode-core/CHANGELOG.md deleted file mode 100644 index 32c3284..0000000 --- a/plugins/shortcode-core/CHANGELOG.md +++ /dev/null @@ -1,411 +0,0 @@ -# v5.1.3 -## 06/01/2022 - -1. [](#improved) - * Added a new `display` CLI command to show all registered shortcodes - -# v5.1.2 -## 05/10/2022 - -1. [](#bugfix) - * Upgraded `thunderer/shortcode` to 0.7.5 to address a security issue - -# v5.1.1 -## 01/11/2022 - -1. [](#improved) - * Improved Twig 2 support - * Bugfixes to support latest NextGen version (v1.1.8) - -# v5.1.0 -## 12/09/2021 - -1. [](#new) - * Notice shortcode now uses a twig template to allow for easy overriding of style -1. [](#improved) - * Updated vendor libraries to latest - -# v5.0.7 -## 09/28/2021 - -1. [](#improved) - * Added `processShortcodesRaw()` using raw_handlers [#104](https://github.com/getgrav/grav-plugin-shortcode-core/pull/104) - * Better vertical alignment for inline shortcodes in NextGen Editor -1. [](#bugfix) - * NextGen Editor: Ensure content of children shortcode elements, such as UI Tab content, have a new empty line as prefix and suffix, to ensure Markdown lists are not lost [getgrav/grav-premium-issues#123](https://github.com/getgrav/grav-premium-issues/issues/123) - -# v5.0.6 -## 04/27/2021 - -1. [](#improved) - * Added the ability to enable/disable built-in notice CSS - * NextGen Editor: Added support for multiple editor instances - -# v5.0.5 -## 03/12/2021 - -1. [](#bugfix) - * `SafeEmailShortcode` fixed to be compatible with PHP 7.4 - * Addresses shortcodes getting repeated in modular subpages [#101](https://github.com/getgrav/grav-plugin-shortcode-core/pull/101) - -# v5.0.4 -## 01/26/2021 - -1. [](#bugfix) - * NextGen Editor: Fixed regexp regression preventing multiple shortcodes to be parsed in certain circumstances - -# v5.0.3 -## 01/15/2021 - -1. [](#improved) - * NextGen Editor: Update to support latest version - -# v5.0.2 -## 12/18/2020 - -1. [](#improved) - * NexGen Editor: Added optional `shorthand` to force attributes to full declaration -1. [](#bugfix) - * NextGen Editor: Fixed regexp preventing attributes with `/` in the value from being captured - -# v5.0.1 -## 12/02/2020 - -1. [](#improved) - * Content editing in settings popup - -# v5.0.0 -## 11/04/2020 - -1. [](#new) - * Added built-in support for **Nextgen Editor** with powerful GUI capabilities for all core shortcodes - * Support for 3rd party shortcode plugins to add their own **Nextgen Editor** integrations. -1. [](#improved) - * Support for comma-listed language tags in `[lang]` shortcode: `[lang=dk,se,no,fi]` - * Support for justified text in align shortcode [#94](https://github.com/getgrav/grav-plugin-shortcode-core/issues/94) - * Support for asset collections and arrays [#85](https://github.com/getgrav/grav-plugin-shortcode-core/issues/85) - * Support of `duotone` FontAwesome icons [#78](https://github.com/getgrav/grav-plugin-shortcode-core/issues/78) -1. [](#bugfix) - * Support HTML in Header shortcode - -# v4.2.3 -## 04/27/2020 - -1. [](#improved) - * Configuration option to exclude default shortcodes [#86](https://github.com/getgrav/grav-plugin-shortcode-core/issues/86) - * Add support for `style` attribute in `[span]` shortcode [#88](https://github.com/getgrav/grav-plugin-shortcode-core/issues/88) - * Fix typos [#91](https://github.com/getgrav/grav-plugin-shortcode-core/issues/91) - -# v4.2.2 -## 03/04/2020 - -1. [](#improved) - * Added second `$options` parameter to `ShortcodeCore->registerAllShortcodes()`, key `ignore` can be used to ignore class names / files from being loaded -1. [](#bugfix) - * Fix shortcodes which do not override `init()` method, added deprecation notice instead [#82](https://github.com/getgrav/grav-plugin-shortcode-core/issues/82) - * Fixed error message showing up when updating older versions (<4.2.0) of the plugin [#84](https://github.com/getgrav/grav-plugin-shortcode-core/issues/84) - -# v4.2.1 -## 02/14/2020 - -1. [](#improved) - * Improved shortcode loading, all shortcodes should now extend `Grav\Plugin\Shortcodes\Shortcode` class -1. [](#bugfix) - * Fixed `Class 'Grav\Plugin\Shortcodes\Shortcode' not found` error when using some plugins - * Fixed fatal error when trying to instantiate bad shortcodes (they will be skipped instead) - -# v4.2.0 -## 02/11/2020 - -1. [](#new) - * Pass phpstan level 1 tests - * Added autoload support for registering shortcodes with `$grav['shortcode']->registerShortcode($name)` - * Moved `ShortcodeObject` classes into `Grav\Plugin\ShortcodeCore` namespace with old alias -1. [](#improved) - * Major code cleanup - -# v4.1.7 -## 12/04/2019 - -1. [](#new) - * Added a new `[lorem]` shortcode for quickly generating lorem ipsum dummy content - * Updated Core Thunderer Shortcode library to `0.7.3` for PHP 7.4 compatibility - -# v4.1.6 -## 10/03/2019 - -1. [](#improved) - * Support markdown in `Figure` shortcode caption attribute - * FlexObjects compatibility: changed references to `Page` class to use `PageInterface` - * Reworked the `shortcode` twig var to use a class/method approach for better compatibility in modular/page formats -1. [](#bugfix) - * Fix issue with `[language]` when `include_default_lang: false` [#76](https://github.com/getgrav/grav-plugin-shortcode-core/issues/76) - -# v4.1.5 -## 09/05/2019 - -1. [](#improved) - * Run `onContentProcessed()` event after all other plugins [#75](https://github.com/getgrav/grav-plugin-shortcode-core/issues/75) - -# v4.1.4 -## 08/11/2019 - -1. [](#new) - * Added a new `[details][/details]` shortcode [#72](https://github.com/getgrav/grav-plugin-shortcode-core/pull/72) -1. [](#improved) - * Fixed regression issue introduced in v1.4.3 [#73](https://github.com/getgrav/grav-plugin-shortcode-core/issues/73) - -# v4.1.3 -## 08/09/2019 - -1. [](#improved) - * Fix for shortcode objects not being available. For example `[section][/section]` not working previously without `process: twig: true` - * `README.md` improvements - -# v4.1.2 -## 06/22/2019 - -1. [](#new) - * Added new `h#` tags for `h1` through `h6` supporting `class` and `id` attributes -1. [](#improved) - * Make `ShortcodeManager::setStates()` more flexible to accept any type of object - -# v4.1.1 -## 04/23/2019 - -1. [](#improved) - * Updated Core Thunderer Shortcode library to `0.7.2` - -# v4.1.0 -## 04/14/2019 - -1. [](#new) - * Support for a `ShortCodeManager::getRawHandlers()` to support shortcodes that need to process **before** Markdown (like upcoming `Prism-Highlighter`) - -# v4.0.1 -## 03/21/2019 - -1. [](#new) - * Added a new `[mark][/mark]` shortcode which makes highlighting in code blocks much simpler! - -# v4.0.0 -## 03/20/2019 - -1. [](#improved) - * Improved way to handle shortcodeAssets from `Page::contentMeta()` - Fixes numerous issues - * Allow `size` shortcode to handle non-numeric values (e.g. `%`, `x-large`, etc.) [#63](https://github.com/getgrav/grav-plugin-shortcode-core/pull/63) - * Added FontAwesome 5 support [#56](https://github.com/getgrav/grav-plugin-shortcode-core/pull/56) - -# v3.1.2 -## 03/15/2019 - -1. [](#improved) - * Added a helper method to allow `getBbCode()` to work with `wordpress` parser - -# v3.1.1 -## 03/12/2019 - -1. [](#bugfix) - * Reverted accidental change of default parser. Should be `regular` - -# v3.1.0 -## 02/28/2019 - -1. [](#improved) - * Modified priority of `onPluginsInitialized` to fire earlier -1. [](#bugfix) - * New language shortcode, for example `[lang=en]...[/lang]` - -# v3.0.1 -## 02/03/2019 - -1. [](#bugfix) - * Fixed issues with `0` param and `regular` parser [#14](https://github.com/getgrav/grav-plugin-shortcode-core/issues/14) [#57](https://github.com/getgrav/grav-plugin-shortcode-core/issues/57) [shortcode-ui#29](https://github.com/getgrav/grav-plugin-shortcode-ui/issues/29) [shortcode-ui#6](https://github.com/getgrav/grav-plugin-shortcode-ui/issues/26) - -# v3.0.0 -## 12/19/2018 - -1. [](#new) - * Update to latest Shortcode library `v0.7.0` which has over **10X performance** for default regular parser - * Added an option `admin_pages_only` to only process actual `user/pages/` based pages and not dynamic pages to increase performance - -# v2.7.3 -## 12/07/2018 - -1. [](#new) - * Added a new `figure` shortcode [#51](https://github.com/getgrav/grav-plugin-shortcode-core/pull/51) -1. [](#bugfix) - * Fix empty space at the end of a line [#54](https://github.com/getgrav/grav-plugin-shortcode-core/pull/54) - -# v2.7.2 -## 10/26/2018 - -1. [](#new) - * Added a new `span` shortcode that supports `class` and `id` attributes -1. [](#improved) - * Switched default parser to `regular` - * Using latest `dev-master` version which has a couple of key fixes - -# v2.7.1 -## 03/14/2018 - -1. [](#improved) - * Support shortcodes in theme as well as plugins [#43](https://github.com/getgrav/grav-plugin-shortcode-core/issues/43) - -# v2.7.0 -## 01/16/2018 - -1. [](#new) - * Added a new `div` shortcode that supports `class` and `id` attributes - -# v2.6.0 -## 04/25/2017 - -1. [](#new) - * Added ability to define a custom shortcode path for you own shortcodes [#36](https://github.com/getgrav/grav-plugin-shortcode-core/issues/36) - * Added a twig filter to allow you to use shortcodes directly in Twig templates [#33](https://github.com/getgrav/grav-plugin-shortcode-core/pull/33) - -# v2.5.4 -## 02/26/2017 - -1. [](#bugfix) - * Fixed issue with modular Shortcode meta was not getting processed properly (Assets, Sections, etc.) - -# v2.5.3 -## 02/21/2017 - -1. [](#improved) - * Added a reference to current Page in `ShortcodeManager` - -# v2.5.2 -## 01/26/2017 - -1. [](#bugfix) - * Fixed Mozilla column css prefix - -# v2.5.1 -## 01/25/2017 - -1. [](#improved) - * Added `moz-` prefix in column shortcode - -# v2.5.0 -## 01/25/2017 - -1. [](#new) - * Added **new** `columns` shortcode for CSS columns support - -# v2.4.0 -## 01/17/2017 - -1. [](#improved) - * Switched to `Regex` parser by default (previous was Regex) - * Update to latest Shortcode library v0.6.5 -1. [](#bugfix) - * Removed `getParameterAt(0)` hack in favor of `getBbbCode()` that works with Regex parser - -# v2.3.2 -## 12/15/2016 - -1. [](#improved) - * Update to latest Shortcode library v0.6.4 to address a parser bug [#25](https://github.com/getgrav/grav-plugin-shortcode-core/issues/25) - -# v2.3.1 -## 07/14/2016 - -1. [](#improved) - * renamed internal `contentMeta` variables to `shortcodeMeta` and `shortcodeAssets` - * Update to latest Shortcode library - -# v2.3.0 -## 05/20/2016 - -1. [](#improved) - * Use new conentmeta approach from Grav 1.1 - -# v2.2.1 -## 05/09/2016 - -1. [](#bugfix) - * Always initialize current page even if collection exists [#3](https://github.com/getgrav/grav-plugin-shortcode-ui/issues/3) - -# v2.2.0 -## 04/23/2016 - -1. [](#new) - * Added **new** `fa` FontAwesome shortcode - -# v2.1.0 -## 04/21/2016 - -1. [](#new) - * Added **new** `notice` shortcode -1. [](#improved) - * Updated to latest Shortcode library version - -# v2.0.2 -## 02/17/2016 - -1. [](#bugfix) - * Initialized states in constructor - -# v2.0.1 -## 02/16/2016 - -1. [](#improved) - * Support **modular** pages by populating Twig variables in `onTwigPageVariables()` event #8 -1. [](#bugfix) - * Better more flexible regex in the Markdown **block** definition for more reliable markdown in shortcodes. #3 - -# v2.0.0 -## 02/11/2016 - -1. [](#new) - * Added **new** `section` shortcode - * Use new `contentMeta` mechanism for storing/caching objects and assets per page - * Added new `ShortcodeManager::reset()` methods -1. [](#improved) - * Completely refactored the plugin to use a new extensible mechanism that makes it easier to manage multiple shortcodes - -# v1.4.0 -## 02/03/2016 - -1. [](#improved) - * Updated Shortcode to latest `dev-master` that includes Events -1. [](#bugfix) - * Fixed `raw` shortcode to use new `FilterRawEventHandler` so it doesn't process shortcodes at all - -# v1.3.0 -## 01/29/2016 - -1. [](#improved) - * Added markdown-shortcode-block support to the plugin -1. [](#bugfix) - * Updated Core Thunderer Shortcode library with some important fixes - -# v1.2.0 -## 01/25/2016 - -1. [](#improved) - * Customizable Parser. Choose from `WordPress`, `Regex`, and `Regular` - -# v1.1.0 -## 01/24/2016 - -1. [](#improved) - * Updated to latest Shortcode `dev-master` version that contains some important fixes - * Switched to `WordPressParser` for 2x speed improvements - -# v1.0.1 -## 01/18/2016 - -1. [](#bugfix) - * Fixed blueprint - * Fixed a default yaml state - - -# v1.0.0 -## 01/18/2016 - -1. [](#new) - * ChangeLog started... diff --git a/plugins/shortcode-core/LICENSE b/plugins/shortcode-core/LICENSE deleted file mode 100644 index 4bb7092..0000000 --- a/plugins/shortcode-core/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Grav - -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/plugins/shortcode-core/README.md b/plugins/shortcode-core/README.md deleted file mode 100644 index acb41ae..0000000 --- a/plugins/shortcode-core/README.md +++ /dev/null @@ -1,575 +0,0 @@ -# Grav Shortcode Core Plugin - -## About - -The **Shortcode Core** plugin allow for the development of simple yet powerful shortcode plugins that utilize the common format utilized by **WordPress** and **BBCode**. The core plugin loads the libraries required and fires a new event that other plugins can use. It also provides a mechanism for adding CSS/JS assets that are cached so that shortcodes can work effectively even when the processed page content is cached. This ensures that shortcodes are only processed once and will not impact performance by doing unnecessary work on every page. - -This plugin uses the [Thunderer Advanced shortcode engine](https://github.com/thunderer/Shortcode). For more information please check out that repo on GitHub. - -## Quick Example - -``` -This is some [u]bb style underline[/u] and not much else - -[center]This is centered[/center] - -This is [size=30]bigger text[/size] and this is [color=blue]blue text[/color] -``` - -This example functionality is provided with the **Shortcode Core** plugin to provide some functionality that is not available in traditional markdown but is standard **BBCode** used in many form platforms. You can see how the syntax is just a simple open and close element using square brackets. - -This will render: - -![](assets/shortcode-core-1.png) - -The core plugin required for any other shortcode specific plugin. Provides some basic BBCode style syntax such as underline, color, center, and size. - -## Installation - -Typically a plugin should be installed via [GPM](http://learn.getgrav.org/advanced/grav-gpm) (Grav Package Manager): - -``` -$ bin/gpm install shortcode-core -``` - -Alternatively it can be installed via the [Admin Plugin](http://learn.getgrav.org/admin-panel/plugins) - -> NOTE: If you install a shortcode plugin such as [grav-plugin-shortcode-ui](https://github.com/getgrav/grav-plugin-shortcode-ui) it may have this core plugin configured as a dependency and install it automatically. - -## Configuration Defaults - -The **Shortcode Core** plugin only has a few options to configure. The default values are: - -```yaml -enabled: true -active: true -active_admin: true -admin_pages_only: true -parser: regular -include_default_shortcodes: true -css: - notice_enabled: true -custom_shortcodes: -fontawesome: - load: true - url: '//maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css' - v5: false -``` - -* `enabled: true|false` toggles if the shortcodes plugin is turned on or off -* `active: true|false` toggles if shortcodes will be enabled site-wide or not -* `active_admin: true|false` toggles if shortcodes will be processed in the admin plugin -* `admin_pages_only: true|false` toggles if admin should only process shortcodes for Grav pages -* `parser: wordpress|regex|regular` let's you configure the parser to use -* `include_default_shortcodes: true|false` toggle the inclusion of shortcodes provided by this plugin -* `custom_shortcodes:` the path to a directory where you can put your custom shortcodes (e.g. `/user/custom/shortcodes`) -* `fontawesome.load: true|false` toggles if the fontawesome icon library should be loaded or not -* `fontawesome.url:` the CDN Url to use for fontawesome -* `v5:` Version 5 flag as it requires some additional logic - -> NOTE: In previous versions the `wordpress` parser was preferred. However with version `2.4.0`, the `regex` parser is now default. If you have saved configuration, you should manually change this to `regex` or you may receive errors or bad output. - -## Configuration Modifications - -The best approach to make modifications to the core plugin settings is to copy the `shortcode-core.yaml` file from the plugin into your `user/config/plugins/` folder (create it if it doesn't exist). You can modify the settings there. - -> NOTE: If you have the admin plugin installed, you can make modifications to the settings via the **Plugins** page and it will create that overridden file automatically. - -## Per-Page Configuration - -Sometimes you may want to only enable shortcodes on a _page-by-page_ basis. To accomplish this set your plugin defaults to: - -```yaml -enabled: true -active: false -``` - -This will ensure the plugin is loaded, but not **active**, then on the page you wish to process shortcodes on simply add this to the page header: - -```yaml -shortcode-core: - active: true -``` - -This will ensure the shortcodes are processed on this page only. - -You can also change the parser on a particular page with the following: - -```yaml -shortcode-core: - parser: regex -``` - -## Available Shortcodes - -The core plugin contains a few simple shortcodes that can be used as basic examples: - -#### Underline - -Underline a section of text - -``` -This is some [u]bb style underline[/u] and not much else -``` - -#### Font Size - -Set the size of some text to a specific pixel size - -``` -This is [size=30]bigger text[/size] -``` - -#### Left Align - -Left align the text between this shortcode - -``` -[left]This text is left aligned[/left] -``` - -#### Center Align - -Center a selection of text between this shortcode - -``` -[center]This text is centered[/center] -``` - -#### Right Align - -Right align the text between this shortcode - -``` -[right]This text is right aligned[/right] -``` - - -#### Div - -Allows you to wrap markdown in an HTML `div` tag that supports both `id` and `classes` attributes - -``` -[div class="text-center"] -This text is **centered** aligned -[/div] -``` - -or - -``` -[div class="table table-striped"] -| header 1 | header 2 | -|----------|----------| -| A 1 | B 1 | -| A 2 | B 2 | -| A 3 | B 3 | -[/div] -``` - -#### Headers - -Allows you to add `id` and `class` attributes to HTML `h1` through `h6` tags: - -``` -[h1 class="major"]This is my title[/h1] -``` - -#### Span - -Allows you to wrap markdown in an HTML `span` tag that supports both `id` and `class` attributes - -``` -[span class="text-center"] -This text is **centered** aligned -[/span] -``` - -#### Columns - -Take advantage of powerful CSS columns support by using this shortcode - -``` -[columns] -### Headline - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. - -Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. -[/columns] -``` - -Defaults to 2 columns. You can also explicitly set the number of `columns`, `width`, `gap`, and `rule` styling for the column divider: - -``` -[columns count=3 width=200px gap=30px rule="1px dotted #930"] -### Headline - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. - -Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. -[/columns] -``` - -#### Raw - -Do not process the shortcodes between these raw shortcode tags - -``` -[raw]This is some [u]bb style underline[/u] and not much else[/raw] -``` - -#### Safe-Email - -Encode an email address so that it's not so easily 'scrapable' by nefarious scripts. This one has a couple of options: `autolink` toggle to turn the email into a link, and an `icon` option that lets you pick a font-awesome icon to prefix the email. Both settings are optional. - -``` -Safe-Email Address: [safe-email autolink="true" icon="envelope-o"]user@domain.com[/safe-email] -``` - -#### Section - -The **section** shortcode is a powerful way to encompass some text in your markdown page with a `[section][/section]` tag and then this is cached by Grav so it can be accessed later. For example you could have a page with a variety of sections described in it that let you create many **chunks** of data. These are then added to Twig as an array of shortcode objects. An example of this would be the following markdown: - -``` -[section name="author"] -![](author.jpg?cropResize=100,100&classes=left) -### Johnny Appleseed -Johnny Appleseed was an American pioneer nurseryman who introduced apple trees to large parts of Pennsylvania, Ontario, Ohio, Indiana, and Illinois, as well as the northern counties of present-day West Virginia. He became an American legend while still alive, due to his kind, generous ways, his leadership in conservation, and the symbolic importance he attributed to apples. -[/section] - -[section name="quote"] -> Some are born great, some achieve greatness, and some have greatness thrust upon them. - Read more at http://www.brainyquote.com/quotes/topics/topic_great.html#tdqt3strtEYBCH43.99 -> William Shakespeare - -Regular **Markdown** content that will be output as `page.content` -[/section] -``` - -This we be removed from the page content and made available in Twig variables so you could insert these into custom HTML structures, for example: - -``` -

{{ shortcode.section.author }}
- -
-
- {{ page.content|raw }} -
-
- {{ shortcode.section.quote }} -
-
-``` - -#### Sections from other pages - -You can even retrieve a section from another page utilizing the shortcodes as they are stored in the page's `contentMeta` with this syntax: - -``` -
{{ page.find('/my/custom/page').contentMeta.shortcodeMeta.shortcode.section.author }}
-``` - -#### Notice - -A useful shortcode that performs a similar job to the [markdown-notices](https://github.com/getgrav/grav-plugin-markdown-notices) plugins, allows you to easily create simple notice blocks as seen on http://learn.getgrav.org and http://getgrav.org. To use simply use the following syntax: - -``` -[notice] -Your **Markdown** text that will appear in the notice -[/notice] -``` - -You can also specifically choose from `note`, `info`, `warning`, `tip` types which provide unique color options: - -``` -[notice=warning] -Danger Will Robinson! Danger, Will Robinson! -[/notice] -``` -#### Figure - -Figure elements are the recommended way to add self-contained units of flow content, i.e. images, charts and other visual elements that can be moved away from the main flow of the document without affecting the document's meaning. Figures may include captions through the `caption` attribute. Both `id` and `class` attributes are also available. - -``` -[figure id="fig1" class="image" caption="**Fig. 1** A beautiful figure."] -![Gorgeous image](image.png) -[/figure] -``` - -#### Mark - -The HTML `` tag is extremely useful to highlight text in your pages, and serves like a highlighter pen. However, as we know that markdown inside of HTML is not processed, using this HTML is often not convenient as it means markdown inside will not be processed. - -Another important usecase is trying to highlight code in a markdown text block, again the HTML tag doesn't work because the result is escaped and treated like any other code and simply displayed. - -The solution is simple, just use the shortcode version instead: - -``` -This is a sample of text [mark]with this bit **highlighted** with _markdown_ syntax[/mark] and the rest just plain. -``` - -You can also use the `class` option to specificy a specific a CSS class to add to the `` HTML tag (useful to color the marked output): - -``` -This is a sample of text [mark class=blue]with this bit **highlighted** with _markdown_ syntax[/mark] and the rest just plain. -``` - -It also works great in code blocks: - -``` -` element provides a simple show/hide behaviour without JavaScript, and can optionally contain a `` element that is always shown. Clicking on the summary text toggles the visibility of the content, and when a summary is not provided, it defaults to "Details". The element can be used to provide extra details, or can be combined into an accordion-like structure. - -``` -[details] -Lorem ipsum dolor sit amet... -[/details] - -[details="Summary text"] -Lorem ipsum dolor sit amet... -[/details] - -[details summary="Summary text" class="accordion"] -Lorem ipsum dolor sit amet... -[/details] -``` - -**Note:** The show/hide behaviour is not supported in IE 11 or Edge 18, and the element will be permanently open. You can check the current status of browser compatibility at [Can I Use](https://caniuse.com/#search=details). - -#### Lorem Ipsum - -Useful for faking content, you can use a shortcode to quickly generate some random "lorem ipsum" text: - -**Paragraphs:** -``` -[lorem=5 /] - -[lorem p=5 tag=div /] -``` - -**Sentences:** -``` -[lorem s=4 /] -``` - -**Words:** -``` -[lorem w=35 /] -``` - -## Using Shortcodes in Twig - -You can now use shortcodes in Twig templates and process them with the `|shortcodes` filter. For example: - -``` -{% set twig_text = "This is [size=30]bigger text[/size] and this is [color=green]green text[/color]" %} -{{ twig_text|shortcodes }} -``` - -## Custom Shortcodes - -### Simple Way - -First, configure a directory from which custom shortcodes are loaded. Edit `user/config/plugins/shortcode-core.yaml` like follows (create it if it does not exist): - -```yaml -custom_shortcodes: '/user/custom/shortcodes' -``` - -To add a custom shortcode, create a PHP file that defines a new shortcode class. For example, to create a shortcode for ~~strikethrough~~ text, save the following code as `user/custom/shortcodes/StrikeShortcode.php`: - -```php -shortcode->getHandlers()->add('strike', function(ShortcodeInterface $sc) { - return ''.$sc->getContent().''; - }); - } -} -``` - -Note that the class name (`StrikeShortcode`) must match the file name for the shortcode to work. - -`[strike]text[/strike]` should now produce strikethrough text. - -### As a Custom Plugin - -The more flexible approach is to create a custom plugin. - -The **Shortcode Core** plugin is developed on the back of the [Thunderer Advanced Shortcode Engine](https://github.com/thunderer/Shortcode) and as such loads the libraries and classes required to build third party shortcode plugins. - -We introduced a new event called `onShortcodeHandlers()` that allows a 3rd party plugin to create and add their own custom handlers. These are then all processed by the core plugin in one shot. - -```php - public static function getSubscribedEvents() - { - return [ - 'onShortcodeHandlers' => ['onShortcodeHandlers', 0] - ]; - } -``` - -Then you just need to listen to the event: - -```php - public function onShortcodeHandlers() - { - $this->grav['shortcode']->registerAllShortcodes(__DIR__.'/shortcodes'); - } -``` - -Lastly create your shortcode in the `user/plugins/my-plugin/shortcodes/` folder, in this example we created a simple `[red][/red]` shortcode as `RedShortcode.php`: - -```php -shortcode->getHandlers()->add('red', function(ShortcodeInterface $sc) { - return ''.$sc->getContent().''; - }); - } -} -``` - -> If you have not already done so, I suggest reading the [Grav Plugin Tutorial](http://learn.getgrav.org/plugins/plugin-tutorial) first to gain a full understanding of what you need to develop a Grav plugin. - -The best way to see how to create a new shortcode-based plugins is to look at the **Shortcode UI** plugin that extends the **Shortcode Core** by adding more shortcodes. It also makes use of Twig to handle processing and has some more advanced shortcode techniques. - -* Core Plugin: https://github.com/getgrav/grav-plugin-shortcode-ui/blob/develop/shortcode-ui.php -* Tabs Shortcode Example: https://github.com/getgrav/grav-plugin-shortcode-ui/blob/develop/shortcodes/TabsShortcode.php -* Color Shortcode Example: https://github.com/getgrav/grav-plugin-shortcode-core/blob/develop/shortcodes/ColorShortcode.php -* Section Shortcode Example: https://github.com/getgrav/grav-plugin-shortcode-core/blob/develop/shortcodes/SectionShortcode.php -* Section Prism Highlight Example: https://github.com/trilbymedia/grav-plugin-prism-highlight/blob/develop/shortcodes/PrismShortcode.php - -## Processing Shortcodes Before or After Markdown processing - -There are basically two ways of processing a shortcode: - -1. After markdown is processed -2. Before markdown is processed - -These two approaches are important because, for the most part, shortcodes make more sense when they can 'wrap' markdown, so they process **after** markdown. - -For example a `[div][/div]` shortcode would be useless if it ran before markdown is processed because it would add the relevant HTML `
` tags, and then the markdown parser would promptly **skip** all markdown processing between those divs because it won't process markdown **inside** HTML. So this shortcode and most others run after markdown processing has already occurred using this approach: - -```php -$this->shortcode->getHandlers()->add('div', function(ShortcodeInterface $sc) { ... } -``` -Notice the `getHandlers()` call is the standard way to add a handler. - -However, there are situations when you need to process the shortcode **before** the markdown processing to ensure markdown **is skipped**, like in the example of a code block. This is why in the [Prism Highlighter](https://github.com/trilbymedia/grav-plugin-prism-highlight) plugin, we use this approach to defining the shortcode: - -```php -$this->shortcode->getRawHandlers()->add('prism', function(ProcessedShortcode $sc) { ... } -``` - -The difference here is it uses `getRawHandlers()` to ensure the handler is processed to the content in the _raw_ state. - -## Display All Shortcodes - -You can now display all available shortcodes by using the CLI command: - -```shell -bin/plugin shortcode-core display -``` \ No newline at end of file diff --git a/plugins/shortcode-core/assets/shortcode-core-1.png b/plugins/shortcode-core/assets/shortcode-core-1.png deleted file mode 100644 index 2cf9f1ef536b5a42c4ed8a9a2344ecd09c229d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15822 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.6.4' } - -form: - validation: strict - fields: - enabled: - type: toggle - label: Plugin Enabled - highlight: 1 - default: 1 - options: - 1: Enabled - 0: Disabled - validate: - type: bool - - active: - type: toggle - label: Activated - help: Site-Wide activation - highlight: 1 - default: 1 - options: - 1: Enabled - 0: Disabled - validate: - type: bool - - active_admin: - type: toggle - label: Activated in Admin - highlight: 1 - default: 1 - options: - 1: Enabled - 0: Disabled - validate: - type: bool - - admin_pages_only: - type: toggle - label: Admin Real-Pages Only - help: When activate, only process real-pages - highlight: 1 - default: 1 - options: - 1: Enabled - 0: Disabled - validate: - type: bool - - parser: - type: select - size: medium - classes: fancy - label: Processor - help: Which built-in processor to use. WordPress (fastest), Regular (customizable), Regex (solid) - options: - wordpress: WordpressParser - regex: RegexParser - regular: RegularParser - - custom_shortcodes: - type: text - label: Custom Shortcodes - help: The path to a location where you store custom shortcodes. - placeholder: '/user/custom/shortcodes' - size: large - - css.notice_enabled: - type: toggle - label: Enable Notice Shortcode CSS - help: Enable the default notice CSS by default. Disable if you want to use your own custom CSS. - highlight: 1 - default: 1 - options: - 1: Enabled - 0: Disabled - validate: - type: bool - - fontawesome.load: - type: toggle - label: Load Fontawesome Library - help: Used by the `safe-email` shortcode if your theme doesn't already load it - highlight: 1 - default: 1 - options: - 1: Enabled - 0: Disabled - validate: - type: bool - - fontawesome.url: - type: text - label: Fontawesome URL - help: You can change the location of fontawesome by changing this URL - size: large - - fontawesome.v5: - type: toggle - label: Use Fontawesome Version 5 - help: Allows usage of the 'fab', 'fas' and other new font families of Fontawesome 5. - highlight: 0 - default: 0 - options: - 1: Enabled - 0: Disabled - validate: - type: bool diff --git a/plugins/shortcode-core/classes/Shortcode.php b/plugins/shortcode-core/classes/Shortcode.php deleted file mode 100644 index 10cd16f..0000000 --- a/plugins/shortcode-core/classes/Shortcode.php +++ /dev/null @@ -1,7 +0,0 @@ -grav = Grav::instance(); - $this->config = $this->grav['config']; - $this->handlers = new HandlerContainer(); - $this->raw_handlers = new HandlerContainer(); - $this->events = new EventContainer(); - $this->states = []; - $this->assets = []; - $this->objects = []; - } - - /** - * add CSS and JS assets to the Manager so that they can be saved to cache - * for subsequent cached pages - * - * @param mixed $actionOrAsset the type of asset (JS or CSS) or, if the second parameter is omitted, - * a collection or an array of asset. - * @param string $asset the asset path in question - */ - public function addAssets($actionOrAsset, $asset = null) - { - if ($asset == null) { - if (is_array($actionOrAsset)) { - $this->assets[''] = array_merge($this->assets[''] ?? array(), $actionOrAsset); - } else { - $this->assets[''] [] = $actionOrAsset; - } - } else { - if (isset($this->assets[$actionOrAsset]) && in_array($asset, $this->assets[$actionOrAsset], true)) { - return; - } - $this->assets[$actionOrAsset] [] = $asset; - } - } - - /** - * return a multi-dimensional array of all the assets - * - * @return array the assets array - */ - public function getAssets() - { - return $this->assets; - } - - /** - * reset the assets - */ - public function resetAssets() - { - $this->assets = []; - } - - /** - * adds ad object - * @param string $key The key to look up the object - * @param object $object The object to store - */ - public function addObject($key, $object) - { - $new = [$object->name() => $object]; - if (array_key_exists($key, $this->objects)) { - $current = (array)$this->objects[$key]; - $this->objects[$key] = $current + $new; - } else { - $this->objects[$key] = $new; - } - - } - - /** - * sets all the objects - * @param array $objects The objects array - */ - public function setObjects($objects) - { - $this->objects = $objects; - } - - /** - * return all the objects - * @return array The objects array - */ - public function getObjects() - { - return $this->objects; - } - - /** - * reset the objects - */ - public function resetObjects() - { - $this->objects = []; - } - - /** - * returns the current handler container object - * - * @return HandlerContainer - */ - public function getHandlers() - { - return $this->handlers; - } - - /** - * returns the current raw handler container object - * - * @return HandlerContainer - */ - public function getRawHandlers() - { - return $this->raw_handlers; - } - - /** - * returns the current event container object - * - * @return EventContainer - */ - public function getEvents() - { - return $this->events; - } - - /** - * Register an individual shortcode with the manager so it can be operated on by the Shortcode library - * - * @param string $name the name of the shortcode (should match the classname) - * @param string|null $directory directory where the shortcode is located - */ - public function registerShortcode($name, $directory = null) - { - $className = 'Grav\\Plugin\\Shortcodes\\' . basename($name, '.php'); - if (!class_exists($className) && $directory) { - $path = rtrim($directory, '/').'/'.$name; - - require_once $path; - } - - // Make sure the class exists, extends Shortcode and is not abstract. - if (class_exists($className) && is_subclass_of($className, \Grav\Plugin\Shortcodes\Shortcode::class)) { - $reflection = new \ReflectionClass($className); - if (!$reflection->isAbstract()) { - /** @var \Grav\Plugin\Shortcodes\Shortcode $shortcode */ - $shortcode = new $className(); - $shortcode->init(); - } - } - } - - /** - * register all files as shortcodes in a particular directory - * @param string $directory directory where the shortcodes are located - * @param array $options Extra options - */ - public function registerAllShortcodes($directory, array $options = []) - { - try { - $ignore = $options['ignore'] ?? []; - foreach (new \DirectoryIterator($directory) as $file) { - if ($file->isDot() || \in_array($file->getBasename('.php'), $ignore, true)) { - continue; - } - $this->registerShortcode($file->getFilename(), $directory); - } - } catch (\UnexpectedValueException $e) { - Grav::instance()['log']->error('ShortcodeCore Plugin: Directory not found => ' . $directory); - } - } - - /** - * setup the markdown parser to handle shortcodes properly - * - * @param object $markdown the markdown parser object - */ - public function setupMarkdown($markdown) - { - $markdown->addBlockType('[', 'ShortCodes', true, false); - - $markdown->blockShortCodes = function($Line) { - $valid_shortcodes = implode('|', $this->handlers->getNames()); - $regex = '/^\[\/?(?:' . $valid_shortcodes . ')[^\]]*\]$/'; - - if (preg_match($regex, trim($Line['body']), $matches)) { - return [ - 'markup' => $Line['body'], - ]; - } - - return null; - }; - } - - /** - * process the content by running over all the known shortcodes with the - * chosen parser - * - * @param PageInterface $page the page to work on - * @param Data $config configuration merged with the page config - * @param null $handlers - * @return string - */ - public function processContent(PageInterface $page, Data $config, $handlers = null) - { - $parser = $this->getParser($config->get('parser')); - - if (!$handlers) { - $handlers = $this->handlers; - } - - if ($page && $config->get('enabled')) { - $this->page = $page; - $content = $page->getRawContent(); - $processor = new Processor(new $parser(new CommonSyntax()), $handlers); - $processor = $processor->withEventContainer($this->events); - - return $processor->process($content); - } - - return null; - } - - public function processRawContent(PageInterface $page, Data $config) - { - return $this->processContent($page, $config, $this->raw_handlers); - } - - /** - * Allow the processing of shortcodes directly on a string - * For example when used by Twig directly - * - * @param $str - * @param null $handlers - * @return string - */ - public function processShortcodes($str, $handlers = null) - { - $parser = $this->getParser($this->config->get('parser')); - - if (!$handlers) { - $handlers = $this->handlers; - } - - $processor = new Processor(new $parser(new CommonSyntax()), $handlers); - - return $processor->process($str); - } - - public function processShortcodesRaw($str) - { - return $this->processShortcodes($str, $this->raw_handlers); - } - - /** - * set a state of a particular item with a hash for retrieval later - * - * @param string $hash a unique hash code - * @param object $item some item to store - */ - public function setStates($hash, $item) - { - $this->states[$hash][] = $item; - } - - /** - * returns the shortcode of a specific hash - * - * @param string $hash unique id of state - * @return ShortcodeInterface shortcode stored for this hash - */ - public function getStates($hash) - { - if (array_key_exists($hash, $this->states)) { - return $this->states[$hash]; - } - - return null; - } - - /** - * helper method to create a unique shortcode based on the content - * - * @param ShortcodeInterface $shortcode - * @return string - */ - public function getId(ShortcodeInterface $shortcode) - { - return substr(md5($shortcode->getShortcodeText()), -10); - } - - /** - * Sets the current page context - * - * @param PageInterface $page - */ - public function setPage(PageInterface $page) - { - $this->page = $page; - } - - /** gets the current page context if set */ - public function getPage() - { - return $this->page; - } - - /** - * Get the appropriate parser object - * - * @param $parser - * @return string - */ - protected function getParser($parser) - { - switch($parser) - { - case 'regular': - $parser = RegularParser::class; - break; - case 'wordpress': - $parser = WordpressParser::class; - break; - default: - $parser = RegexParser::class; - break; - } - - return $parser; - } -} diff --git a/plugins/shortcode-core/classes/plugin/ShortcodeObject.php b/plugins/shortcode-core/classes/plugin/ShortcodeObject.php deleted file mode 100644 index 751205b..0000000 --- a/plugins/shortcode-core/classes/plugin/ShortcodeObject.php +++ /dev/null @@ -1,33 +0,0 @@ -obj_name = $name; - $this->obj_object = $object; - } - - public function __toString() - { - return $this->obj_object; - } - - public function name() - { - return $this->obj_name; - } - - public function object() - { - return $this->obj_object; - } -} - -// Make sure we also autoload the deprecated class. -class_exists(\Grav\Plugin\Shortcodes\ShortcodeObject::class); diff --git a/plugins/shortcode-core/classes/plugin/ShortcodeTwigVar.php b/plugins/shortcode-core/classes/plugin/ShortcodeTwigVar.php deleted file mode 100644 index 2113c07..0000000 --- a/plugins/shortcode-core/classes/plugin/ShortcodeTwigVar.php +++ /dev/null @@ -1,27 +0,0 @@ -getObjects(); - - if ($objects) { - return $objects[$name] ?? []; - } - - $page_meta = Grav::instance()['page']->getContentMeta('shortcodeMeta'); - if (isset($page_meta['shortcode'])) { - $objects = (array) $page_meta['shortcode']; - return $objects[$name] ?? []; - } - - return []; - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/AlignShortcode.php b/plugins/shortcode-core/classes/shortcodes/AlignShortcode.php deleted file mode 100644 index c551d4c..0000000 --- a/plugins/shortcode-core/classes/shortcodes/AlignShortcode.php +++ /dev/null @@ -1,26 +0,0 @@ -shortcode->getHandlers()->add('center', static function(ShortcodeInterface $sc) { - return '
' . $sc->getContent() . '
'; - }); - - $this->shortcode->getHandlers()->add('left', static function(ShortcodeInterface $sc) { - return '
' . $sc->getContent() . '
'; - }); - - $this->shortcode->getHandlers()->add('right', static function(ShortcodeInterface $sc) { - return '
' . $sc->getContent() . '
'; - }); - - $this->shortcode->getHandlers()->add('justify', static function(ShortcodeInterface $sc) { - return '
' . $sc->getContent() . '
'; - }); - } -} diff --git a/plugins/shortcode-core/classes/shortcodes/ColorShortcode.php b/plugins/shortcode-core/classes/shortcodes/ColorShortcode.php deleted file mode 100644 index b97de60..0000000 --- a/plugins/shortcode-core/classes/shortcodes/ColorShortcode.php +++ /dev/null @@ -1,16 +0,0 @@ -shortcode->getHandlers()->add('color', function(ShortcodeInterface $sc) { - $color = $sc->getParameter('color', $this->getBbCode($sc)); - - return '' . $sc->getContent() . ''; - }); - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/ColumnsShortcode.php b/plugins/shortcode-core/classes/shortcodes/ColumnsShortcode.php deleted file mode 100644 index b9c9145..0000000 --- a/plugins/shortcode-core/classes/shortcodes/ColumnsShortcode.php +++ /dev/null @@ -1,27 +0,0 @@ -shortcode->getHandlers()->add('columns', static function(ShortcodeInterface $sc) { - $column_count = (int)$sc->getParameter('count', 2); - $column_width = $sc->getParameter('width', 'auto'); - $column_gap = $sc->getParameter('gap', 'normal'); - $column_rule = $sc->getParameter('rule', false); - - $css_style = 'columns:' . $column_count . ' ' . $column_width . ';-moz-columns:' . $column_count . ' ' . $column_width . ';'; - $css_style .= 'column-gap:' . $column_gap . ';-moz-column-gap:' . $column_gap . ';'; - - if ($column_rule) { - $css_style .= 'column-rule:' . $column_rule . ';-moz-column-rule:' . $column_rule . ';'; - } - - return '
' . $sc->getContent() . '
'; - }); - - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/DetailsShortcode.php b/plugins/shortcode-core/classes/shortcodes/DetailsShortcode.php deleted file mode 100644 index 1c75e4d..0000000 --- a/plugins/shortcode-core/classes/shortcodes/DetailsShortcode.php +++ /dev/null @@ -1,26 +0,0 @@ -shortcode->getHandlers()->add('details', function(ShortcodeInterface $sc) { - // Get summary/title - $summary = $sc->getParameter('summary', $this->getBbCode($sc)); - $summaryHTML = $summary ? '' . $summary . '' : ''; - - // Get classes for details - $class = $sc->getParameter('class', $this->getBbCode($sc)); - $classHTML = (isset($class) and $class !== $summary) ? 'class="' . $class . '"' : ''; - - // Get content - $content = $sc->getContent(); - - // Return the details/summary block - return '
' . $summaryHTML . $content . '
'; - }); - } -} diff --git a/plugins/shortcode-core/classes/shortcodes/DivShortcode.php b/plugins/shortcode-core/classes/shortcodes/DivShortcode.php deleted file mode 100644 index 0ca5beb..0000000 --- a/plugins/shortcode-core/classes/shortcodes/DivShortcode.php +++ /dev/null @@ -1,22 +0,0 @@ -shortcode->getHandlers()->add('div', static function(ShortcodeInterface $sc) { - $id = $sc->getParameter('id'); - $class = $sc->getParameter('class'); - $style = $sc->getParameter('style'); - - $id_output = $id ? ' id="' . $id . '" ': ''; - $class_output = $class ? ' class="' . $class . '"' : ''; - $style_output = $style ? ' style="' . $style . '"' : ''; - - return '
' . $sc->getContent() . '
'; - }); - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/FigureShortcode.php b/plugins/shortcode-core/classes/shortcodes/FigureShortcode.php deleted file mode 100644 index 386ac19..0000000 --- a/plugins/shortcode-core/classes/shortcodes/FigureShortcode.php +++ /dev/null @@ -1,27 +0,0 @@ -shortcode->getHandlers()->add('figure', function(ShortcodeInterface $sc) { - $id = $sc->getParameter('id'); - $class = $sc->getParameter('class'); - $caption = $sc->getParameter('caption'); - $page = $this->grav['page']; - - // Process any markdown on caption - $caption = Utils::processMarkdown($caption, false, $page); - - $id_output = $id ? 'id="' . $id . '" ': ''; - $class_output = $class ? 'class="' . $class . '"' : ''; - $caption_output = $caption ? '
' . $caption . '
' : ''; - - return '
'.$sc->getContent(). $caption_output . '
'; - }); - } -} diff --git a/plugins/shortcode-core/classes/shortcodes/FontAwesomeShortcode.php b/plugins/shortcode-core/classes/shortcodes/FontAwesomeShortcode.php deleted file mode 100644 index 075f3fb..0000000 --- a/plugins/shortcode-core/classes/shortcodes/FontAwesomeShortcode.php +++ /dev/null @@ -1,53 +0,0 @@ -shortcode->getHandlers()->add('fa', function(ShortcodeInterface $sc) { - // Load assets if required - if ($this->config->get('plugins.shortcode-core.fontawesome.load', false)) { - $this->shortcode->addAssets('css', $this->config->get('plugins.shortcode-core.fontawesome.url')); - } - if ($this->config->get('plugins.shortcode-core.fontawesome.v5', false)) { - $v5classes = ['fab', 'fal', 'fas', 'far', 'fad']; - } else { - $v5classes = []; - } - - // Get shortcode content and parameters - $str = $sc->getContent(); - $icon = $sc->getParameter('icon', $sc->getParameter('fa', $this->getBbCode($sc))); - - if (!Utils::startsWith($icon, 'fa-')) { - $icon = 'fa-'.$icon; - } - - if ($icon) { - $fa_class = 'fa'; - $extras = explode(',', $sc->getParameter('extras', '')); - - foreach($extras as $extra) { - if(!empty($extra)) { - if(in_array($extra, $v5classes, true)) { - $fa_class = $extra; - continue; - } - if(!Utils::startsWith($extra, 'fa-')) { - $extra = 'fa-' . $extra; - } - $icon .= ' ' . $extra; - } - } - - return '' . $str . ''; - } - - return ''; - }); - } -} diff --git a/plugins/shortcode-core/classes/shortcodes/HShortcode.php b/plugins/shortcode-core/classes/shortcodes/HShortcode.php deleted file mode 100644 index 318dbe3..0000000 --- a/plugins/shortcode-core/classes/shortcodes/HShortcode.php +++ /dev/null @@ -1,48 +0,0 @@ -shortcode->getHandlers()->add('h1', function(ShortcodeInterface $sc) { - return $this->header(1, $sc); - }); - - $this->shortcode->getHandlers()->add('h2', function(ShortcodeInterface $sc) { - return $this->header(2, $sc); - }); - - $this->shortcode->getHandlers()->add('h3', function(ShortcodeInterface $sc) { - return $this->header(3, $sc); - }); - - $this->shortcode->getHandlers()->add('h4', function(ShortcodeInterface $sc) { - return $this->header(4, $sc); - }); - - $this->shortcode->getHandlers()->add('h5', function(ShortcodeInterface $sc) { - return $this->header(5, $sc); - }); - - $this->shortcode->getHandlers()->add('h6', function(ShortcodeInterface $sc) { - return $this->header(6, $sc); - }); - - - } - - protected function header($level, ShortcodeInterface $sc) - { - $id = $sc->getParameter('id'); - $class = $sc->getParameter('class'); - $tag = 'h' . $level; - - $id_output = $id ? ' id="' . $id . '" ': ''; - $class_output = $class ? ' class="' . $class . '"' : ''; - - return "<{$tag}{$id_output}{$class_output}>{$sc->getContent()}"; - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/LanguageShortcode.php b/plugins/shortcode-core/classes/shortcodes/LanguageShortcode.php deleted file mode 100644 index 673b1fa..0000000 --- a/plugins/shortcode-core/classes/shortcodes/LanguageShortcode.php +++ /dev/null @@ -1,31 +0,0 @@ -shortcode->getHandlers()->add('lang', function(ShortcodeInterface $sc) { - $lang = $this->getBbCode($sc); - - if ($lang) { - $list = explode(',', $lang); - array_walk($list, 'trim'); - - /** @var Language $language */ - $language = $this->grav['language']; - $current = $language->getLanguage(); - - if (in_array($current, $list)) { - return $sc->getContent(); - } - } - - return ''; - }); - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/LoremShortcode.php b/plugins/shortcode-core/classes/shortcodes/LoremShortcode.php deleted file mode 100644 index 998415d..0000000 --- a/plugins/shortcode-core/classes/shortcodes/LoremShortcode.php +++ /dev/null @@ -1,360 +0,0 @@ - - * @copyright Copyright 2014, 2015, 2016, 2017, 2018, 2019 Josh Sherman - * @license http://www.opensource.org/licenses/mit-license.html - * @link https://github.com/joshtronic/php-loremipsum - */ - -namespace Grav\Plugin\Shortcodes; - -use Thunder\Shortcode\Shortcode\ShortcodeInterface; - -class LoremShortcode extends Shortcode -{ - /** - * First - * - * Whether or not we should be starting the string with "Lorem ipsum..." - * - * @access private - * @var boolean - */ - private $first = true; - /** - * Words - * - * A lorem ipsum vocabulary of sorts. Not a complete list as I'm unsure if - * a complete list exists and if so, where to get it. - * - * @access private - * @var array - */ - public $words = [ - // Lorem ipsum... - 'lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipiscing', 'elit', - // and the rest of the vocabulary - 'a', 'ac', 'accumsan', 'ad', 'aenean', 'aliquam', 'aliquet', 'ante', - 'aptent', 'arcu', 'at', 'auctor', 'augue', 'bibendum', 'blandit', - 'class', 'commodo', 'condimentum', 'congue', 'consequat', 'conubia', - 'convallis', 'cras', 'cubilia', 'curabitur', 'curae', 'cursus', - 'dapibus', 'diam', 'dictum', 'dictumst', 'dignissim', 'dis', 'donec', - 'dui', 'duis', 'efficitur', 'egestas', 'eget', 'eleifend', 'elementum', - 'enim', 'erat', 'eros', 'est', 'et', 'etiam', 'eu', 'euismod', 'ex', - 'facilisi', 'facilisis', 'fames', 'faucibus', 'felis', 'fermentum', - 'feugiat', 'finibus', 'fringilla', 'fusce', 'gravida', 'habitant', - 'habitasse', 'hac', 'hendrerit', 'himenaeos', 'iaculis', 'id', - 'imperdiet', 'in', 'inceptos', 'integer', 'interdum', 'justo', - 'lacinia', 'lacus', 'laoreet', 'lectus', 'leo', 'libero', 'ligula', - 'litora', 'lobortis', 'luctus', 'maecenas', 'magna', 'magnis', - 'malesuada', 'massa', 'mattis', 'mauris', 'maximus', 'metus', 'mi', - 'molestie', 'mollis', 'montes', 'morbi', 'mus', 'nam', 'nascetur', - 'natoque', 'nec', 'neque', 'netus', 'nibh', 'nisi', 'nisl', 'non', - 'nostra', 'nulla', 'nullam', 'nunc', 'odio', 'orci', 'ornare', - 'parturient', 'pellentesque', 'penatibus', 'per', 'pharetra', - 'phasellus', 'placerat', 'platea', 'porta', 'porttitor', 'posuere', - 'potenti', 'praesent', 'pretium', 'primis', 'proin', 'pulvinar', - 'purus', 'quam', 'quis', 'quisque', 'rhoncus', 'ridiculus', 'risus', - 'rutrum', 'sagittis', 'sapien', 'scelerisque', 'sed', 'sem', 'semper', - 'senectus', 'sociosqu', 'sodales', 'sollicitudin', 'suscipit', - 'suspendisse', 'taciti', 'tellus', 'tempor', 'tempus', 'tincidunt', - 'torquent', 'tortor', 'tristique', 'turpis', 'ullamcorper', 'ultrices', - 'ultricies', 'urna', 'ut', 'varius', 'vehicula', 'vel', 'velit', - 'venenatis', 'vestibulum', 'vitae', 'vivamus', 'viverra', 'volutpat', - 'vulputate', - ]; - - public function init() - { - $this->shortcode->getHandlers()->add('lorem', function(ShortcodeInterface $sc) { - $paragraphs = $sc->getParameter('p', $this->getBbCode($sc)); - $paragraph_tag = $sc->getParameter('tag', 'p'); - $sentences = $sc->getParameter('s'); - $words = $sc->getParameter('w'); - - if ($words) { - return $this->words($words); - } - if ($sentences) { - return $this->sentences($sentences); - } - - return $this->paragraphs($paragraphs ?? 1, $paragraph_tag); - }); - } - - /** - * Word - * - * Generates a single word of lorem ipsum. - * - * @access public - * @param mixed $tags string or array of HTML tags to wrap output with - * @return string generated lorem ipsum word - */ - public function word($tags = false) - { - return $this->words(1, $tags); - } - /** - * Words Array - * - * Generates an array of lorem ipsum words. - * - * @access public - * @param integer $count how many words to generate - * @param mixed $tags string or array of HTML tags to wrap output with - * @return array generated lorem ipsum words - */ - public function wordsArray($count = 1, $tags = false) - { - return $this->words($count, $tags, true); - } - /** - * Words - * - * Generates words of lorem ipsum. - * - * @access public - * @param integer $count how many words to generate - * @param mixed $tags string or array of HTML tags to wrap output with - * @param boolean $array whether an array or a string should be returned - * @return mixed string or array of generated lorem ipsum words - */ - public function words($count = 1, $tags = false, $array = false) - { - $words = []; - $word_count = 0; - // Shuffles and appends the word list to compensate for count - // arguments that exceed the size of our vocabulary list - while ($word_count < $count) { - $shuffle = true; - while ($shuffle) { - $this->shuffle(); - // Checks that the last word of the list and the first word of - // the list that's about to be appended are not the same - if (!$word_count || $words[$word_count - 1] != $this->words[0]) { - $words = array_merge($words, $this->words); - $word_count = count($words); - $shuffle = false; - } - } - } - $words = array_slice($words, 0, $count); - - return $this->output($words, $tags, $array); - } - /** - * Sentence - * - * Generates a full sentence of lorem ipsum. - * - * @access public - * @param mixed $tags string or array of HTML tags to wrap output with - * @return string generated lorem ipsum sentence - */ - public function sentence($tags = false) - { - return $this->sentences(1, $tags); - } - /** - * Sentences Array - * - * Generates an array of lorem ipsum sentences. - * - * @access public - * @param integer $count how many sentences to generate - * @param mixed $tags string or array of HTML tags to wrap output with - * @return array generated lorem ipsum sentences - */ - public function sentencesArray($count = 1, $tags = false) - { - return $this->sentences($count, $tags, true); - } - /** - * Sentences - * - * Generates sentences of lorem ipsum. - * - * @access public - * @param integer $count how many sentences to generate - * @param mixed $tags string or array of HTML tags to wrap output with - * @param boolean $array whether an array or a string should be returned - * @return mixed string or array of generated lorem ipsum sentences - */ - public function sentences($count = 1, $tags = false, $array = false) - { - $sentences = []; - for ($i = 0; $i < $count; $i++) { - $sentences[] = $this->wordsArray($this->gauss(24.46, 5.08)); - } - $this->punctuate($sentences); - - return $this->output($sentences, $tags, $array); - } - /** - * Paragraph - * - * Generates a full paragraph of lorem ipsum. - * - * @access public - * @param mixed $tags string or array of HTML tags to wrap output with - * @return string generated lorem ipsum paragraph - */ - public function paragraph($tags = false) - { - return $this->paragraphs(1, $tags); - } - /** - * Paragraph Array - * - * Generates an array of lorem ipsum paragraphs. - * - * @access public - * @param integer $count how many paragraphs to generate - * @param mixed $tags string or array of HTML tags to wrap output with - * @return array generated lorem ipsum paragraphs - */ - public function paragraphsArray($count = 1, $tags = false) - { - return $this->paragraphs($count, $tags, true); - } - /** - * Paragraphss - * - * Generates paragraphs of lorem ipsum. - * - * @access public - * @param integer $count how many paragraphs to generate - * @param mixed $tags string or array of HTML tags to wrap output with - * @param boolean $array whether an array or a string should be returned - * @return mixed string or array of generated lorem ipsum paragraphs - */ - public function paragraphs($count = 1, $tags = false, $array = false) - { - $paragraphs = []; - for ($i = 0; $i < $count; $i++) { - $paragraphs[] = $this->sentences($this->gauss(5.8, 1.93)); - } - - return $this->output($paragraphs, $tags, $array, "\n\n"); - } - /** - * Gaussian Distribution - * - * This is some smart kid stuff. I went ahead and combined the N(0,1) logic - * with the N(m,s) logic into this single function. Used to calculate the - * number of words in a sentence, the number of sentences in a paragraph - * and the distribution of commas in a sentence. - * - * @access private - * @param double $mean average value - * @param double $std_dev stadnard deviation - * @return double calculated distribution - */ - private function gauss($mean, $std_dev) - { - $x = mt_rand() / mt_getrandmax(); - $y = mt_rand() / mt_getrandmax(); - $z = sqrt(-2 * log($x)) * cos(2 * pi() * $y); - - return $z * $std_dev + $mean; - } - /** - * Shuffle - * - * Shuffles the words, forcing "Lorem ipsum..." at the beginning if it is - * the first time we are generating the text. - * - * @access private - */ - private function shuffle() - { - if ($this->first) { - $this->first = array_slice($this->words, 0, 8); - $this->words = array_slice($this->words, 8); - shuffle($this->words); - $this->words = $this->first + $this->words; - $this->first = false; - } else { - shuffle($this->words); - } - } - /** - * Punctuate - * - * Applies punctuation to a sentence. This includes a period at the end, - * the injection of commas as well as capitalizing the first letter of the - * first word of the sentence. - * - * @access private - * @param array $sentences the sentences we would like to punctuate - */ - private function punctuate(&$sentences) - { - foreach ($sentences as $key => $sentence) { - $words = count($sentence); - // Only worry about commas on sentences longer than 4 words - if ($words > 4) { - $mean = log($words, 6); - $std_dev = $mean / 6; - $commas = round($this->gauss($mean, $std_dev)); - for ($i = 1; $i <= $commas; $i++) { - $word = round($i * $words / ($commas + 1)); - if ($word < ($words - 1) && $word > 0) { - $sentence[$word] .= ','; - } - } - } - $sentences[$key] = ucfirst(implode(' ', $sentence) . '.'); - } - } - /** - * Output - * - * Does the rest of the processing of the strings. This includes wrapping - * the strings in HTML tags, handling transformations with the ability of - * back referencing and determining if the passed array should be converted - * into a string or not. - * - * @access private - * @param string|string[] $strings an array of generated strings - * @param mixed $tags string or array of HTML tags to wrap output with - * @param boolean $array whether an array or a string should be returned - * @param string $delimiter the string to use when calling implode() - * @return string|string[] string or array of generated lorem ipsum text - */ - private function output($strings, $tags, $array, $delimiter = ' ') - { - if ($tags) { - if (!is_array($tags)) { - $tags = [$tags]; - } else { - // Flips the array so we can work from the inside out - $tags = array_reverse($tags); - } - foreach ($strings as $key => $string) { - foreach ($tags as $tag) { - // Detects / applies back reference - if ($tag[0] === '<') { - $string = str_replace('$1', $string, $tag); - } else { - $string = sprintf('<%1$s>%2$s', $tag, $string); - } - $strings[$key] = $string; - } - } - } - if (!$array) { - $strings = implode($delimiter, $strings); - } - - return $strings; - } - -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/MarkShortcode.php b/plugins/shortcode-core/classes/shortcodes/MarkShortcode.php deleted file mode 100644 index 68c6cff..0000000 --- a/plugins/shortcode-core/classes/shortcodes/MarkShortcode.php +++ /dev/null @@ -1,27 +0,0 @@ -shortcode->getHandlers()->add('mark', function(ShortcodeInterface $sc) { - $style = $sc->getParameter('style', $this->getBbCode($sc)); - $class = $sc->getParameter('class', 'default'); - - $css_class = 'class="mark-class-' . $class . '"'; - - if ($style === 'block') { - $css_style = 'style="display:block;"'; - $content = trim($sc->getContent(), "\n"); - } else { - $css_style = ''; - $content = $sc->getContent(); - } - - return "{$content}"; - }); - } -} diff --git a/plugins/shortcode-core/classes/shortcodes/NoticeShortcode.php b/plugins/shortcode-core/classes/shortcodes/NoticeShortcode.php deleted file mode 100644 index 72ac208..0000000 --- a/plugins/shortcode-core/classes/shortcodes/NoticeShortcode.php +++ /dev/null @@ -1,24 +0,0 @@ -shortcode->getHandlers()->add('notice', function(ShortcodeInterface $sc) { - $css_enabled = $this->grav['config']->get('plugins.shortcode-core.css.notice_enabled', true); - if ($css_enabled) { - $this->shortcode->addAssets('css', 'plugin://shortcode-core/css/shortcode-notice.css'); - } - - $output = $this->twig->processTemplate('shortcodes/notice.html.twig', [ - 'type' => $sc->getParameter('notice', $this->getBbCode($sc)) ?: 'info', - 'content' => $sc->getContent(), - ]); - - return $output; - }); - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/RawShortcode.php b/plugins/shortcode-core/classes/shortcodes/RawShortcode.php deleted file mode 100644 index 703cc7f..0000000 --- a/plugins/shortcode-core/classes/shortcodes/RawShortcode.php +++ /dev/null @@ -1,18 +0,0 @@ -shortcode->getHandlers()->add('raw', static function(ShortcodeInterface $sc) { - return trim($sc->getContent()); - }); - - $this->shortcode->getEvents()->addListener(Events::FILTER_SHORTCODES, new FilterRawEventHandler(['raw'])); - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/SafeEmailShortcode.php b/plugins/shortcode-core/classes/shortcodes/SafeEmailShortcode.php deleted file mode 100644 index 42443f3..0000000 --- a/plugins/shortcode-core/classes/shortcodes/SafeEmailShortcode.php +++ /dev/null @@ -1,51 +0,0 @@ -shortcode->getHandlers()->add('safe-email', function(ShortcodeInterface $sc) { - // Load assets if required - if ($this->config->get('plugins.shortcode-core.fontawesome.load', false)) { - $this->shortcode->addAssets('css', $this->config->get('plugins.shortcode-core.fontawesome.url')); - } - - // Get shortcode content and parameters - $str = $sc->getContent(); - $icon = $sc->getParameter('icon', false); - $icon_base = "fa fa-"; - $autolink = $sc->getParameter('autolink', false); - - // Encode email - $email = ''; - $str_len = strlen($str); - for ($i = 0; $i < $str_len; $i++) { - $email .= '&#' . ord($str[$i]). ';'; - } - - // Handle autolinking - if ($autolink) { - $output = '' . $email . ''; - } else { - $output = $email; - } - - // Handle icon option - if ($icon) { - if ($this->config->get('plugins.shortcode-core.fontawesome.v5', false)) { - if (preg_match("/^(?Pfa[srlbd]) fa-(?.+)/", $icon, $icon_parts)) { - $icon_base = $icon_parts["weight"] . " fa-"; - $icon = $icon_parts["icon"]; - } - } - - $output = ' ' . $output; - } - - return $output; - }); - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/SectionShortcode.php b/plugins/shortcode-core/classes/shortcodes/SectionShortcode.php deleted file mode 100644 index f3f8cb3..0000000 --- a/plugins/shortcode-core/classes/shortcodes/SectionShortcode.php +++ /dev/null @@ -1,17 +0,0 @@ -shortcode->getHandlers()->add('section', function(ShortcodeInterface $sc) { - $name = $sc->getParameter('name'); - $object = new \Grav\Plugin\ShortcodeCore\ShortcodeObject($name, $sc->getContent()); - $this->shortcode->addObject($sc->getName(), $object); - }); - - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/Shortcode.php b/plugins/shortcode-core/classes/shortcodes/Shortcode.php deleted file mode 100644 index a3c9e30..0000000 --- a/plugins/shortcode-core/classes/shortcodes/Shortcode.php +++ /dev/null @@ -1,91 +0,0 @@ -grav = Grav::instance(); - $this->shortcode = $this->grav['shortcode']; - $this->config = $this->grav['config']; - $this->twig = $this->grav['twig']; - } - - /** - * Initialize shortcode handler - */ - public function init() - { - user_error(__METHOD__ . '() method will be abstract in the future, please override it!', E_USER_DEPRECATED); - - // FIXME: This code had to be put back because of some plugins do not properly initialize themselves. - $this->shortcode->getHandlers()->add('u', static function(ShortcodeInterface $shortcode) { - return $shortcode->getContent(); - }); - } - - /** - * Returns the name of the class if required - * - * @return string the name of the class - */ - public function getName() - { - return get_class($this); - } - - /** - * @return string - */ - public function getParser() - { - return $this->config->get('plugins.shortcode-core.parser'); - } - - /** - * @param ShortcodeInterface $sc - * @param string|null $default - * @return string|null - */ - public function getBbCode(ShortcodeInterface $sc, $default = null) - { - $code = $default; - - if ($this->getParser() === 'wordpress') { - $params = $sc->getParameters(); - if (is_array($params)) { - $keys = array_keys($params); - $code = trim(array_shift($keys), '='); - } - } else { - $code = $sc->getBbCode(); - } - - return $code; - } -} - -// Make sure we also autoload the deprecated class. -class_exists(\Grav\Plugin\ShortcodeCore\Shortcode::class); diff --git a/plugins/shortcode-core/classes/shortcodes/ShortcodeObject.php b/plugins/shortcode-core/classes/shortcodes/ShortcodeObject.php deleted file mode 100644 index 781b333..0000000 --- a/plugins/shortcode-core/classes/shortcodes/ShortcodeObject.php +++ /dev/null @@ -1,24 +0,0 @@ -shortcode->getHandlers()->add('size', function(ShortcodeInterface $sc) { - $size = $sc->getParameter('size', $this->getBbCode($sc)); - if (is_numeric($size)) { - $size .= 'px'; - } - - return '' . $sc->getContent() . ''; - }); - } -} diff --git a/plugins/shortcode-core/classes/shortcodes/SpanShortcode.php b/plugins/shortcode-core/classes/shortcodes/SpanShortcode.php deleted file mode 100644 index 2945a4b..0000000 --- a/plugins/shortcode-core/classes/shortcodes/SpanShortcode.php +++ /dev/null @@ -1,22 +0,0 @@ -shortcode->getHandlers()->add('span', static function(ShortcodeInterface $sc) { - $id = $sc->getParameter('id'); - $class = $sc->getParameter('class'); - $style = $sc->getParameter('style'); - - $id_output = $id ? 'id="' . $id . '" ': ''; - $class_output = $class ? 'class="' . $class . '"' : ''; - $style_output = $style ? 'style="' . $style . '"' : ''; - - return '' . $sc->getContent() . ''; - }); - } -} diff --git a/plugins/shortcode-core/classes/shortcodes/UnderlineShortcode.php b/plugins/shortcode-core/classes/shortcodes/UnderlineShortcode.php deleted file mode 100644 index 6b9a502..0000000 --- a/plugins/shortcode-core/classes/shortcodes/UnderlineShortcode.php +++ /dev/null @@ -1,14 +0,0 @@ -shortcode->getHandlers()->add('u', static function(ShortcodeInterface $sc) { - return '' . $sc->getContent() . ''; - }); - } -} \ No newline at end of file diff --git a/plugins/shortcode-core/cli/ShortcodesCommand.php b/plugins/shortcode-core/cli/ShortcodesCommand.php deleted file mode 100644 index b5627cf..0000000 --- a/plugins/shortcode-core/cli/ShortcodesCommand.php +++ /dev/null @@ -1,55 +0,0 @@ -setName('display') - ->setDescription('Display a list the available shortcodes that are registered'); - } - - /** - * @return int|null|void - */ - protected function serve() - { - $io = new SymfonyStyle($this->input, $this->output); - $this->initializePlugins(); - $this->initializeThemes(); - - $shortcodes = Grav::instance()['shortcode']; - - $io->title('Available Shortcodes'); - $io->section('Regular Handlers:'); - foreach ($shortcodes->getHandlers()->getNames() as $name) { - $io->writeln($name); - } - $io->section('Raw Handlers:'); - foreach ($shortcodes->getRawHandlers()->getNames() as $name) { - $io->writeln($name); - } - - $io->newLine(); - - } -} diff --git a/plugins/shortcode-core/composer.json b/plugins/shortcode-core/composer.json deleted file mode 100644 index e99cfe5..0000000 --- a/plugins/shortcode-core/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "getgrav/shortcode-core", - "type": "grav-plugin", - "description": "Shortcode Core plugin for Grav CMS", - "keywords": ["shortcode"], - "homepage": "https://github.com/getgrav/grav-plugin-shortcode-core/", - "license": "MIT", - "authors": [ - { - "name": "Team Grav", - "email": "devs@getgrav.org", - "homepage": "http://getgrav.org", - "role": "Developer" - } - ], - "require": { - "php": ">=7.1.3", - "thunderer/shortcode": "~0.7" - }, - "autoload": { - "psr-4": { - "Grav\\Plugin\\ShortcodeCore\\": "classes/plugin", - "Grav\\Plugin\\Shortcodes\\": "classes/shortcodes" - }, - "classmap": ["shortcode-core.php"] - }, - "config": { - "platform": { - "php": "7.1.3" - } - } -} diff --git a/plugins/shortcode-core/composer.lock b/plugins/shortcode-core/composer.lock deleted file mode 100644 index 40ab44d..0000000 --- a/plugins/shortcode-core/composer.lock +++ /dev/null @@ -1,80 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "95ac1934b2d5e35cff7d71f6744b2666", - "packages": [ - { - "name": "thunderer/shortcode", - "version": "v0.7.5", - "source": { - "type": "git", - "url": "https://github.com/thunderer/Shortcode.git", - "reference": "a4fee30613bd46efb421f8305aff0466a3268a99" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thunderer/Shortcode/zipball/a4fee30613bd46efb421f8305aff0466a3268a99", - "reference": "a4fee30613bd46efb421f8305aff0466a3268a99", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": ">=4.1", - "symfony/yaml": ">=2.0" - }, - "suggest": { - "ext-dom": "if you want to use XML serializer", - "ext-json": "if you want to use JSON serializer", - "symfony/yaml": "if you want to use YAML serializer" - }, - "type": "library", - "autoload": { - "psr-4": { - "Thunder\\Shortcode\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tomasz Kowalczyk", - "email": "tomasz@kowalczyk.cc" - } - ], - "description": "Advanced shortcode (BBCode) parser and engine for PHP", - "keywords": [ - "bbcode", - "engine", - "library", - "parser", - "shortcode" - ], - "support": { - "issues": "https://github.com/thunderer/Shortcode/issues", - "source": "https://github.com/thunderer/Shortcode/tree/v0.7.5" - }, - "time": "2022-01-13T18:53:33+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=7.1.3" - }, - "platform-dev": [], - "platform-overrides": { - "php": "7.1.3" - }, - "plugin-api-version": "2.3.0" -} diff --git a/plugins/shortcode-core/css/shortcode-notice.css b/plugins/shortcode-core/css/shortcode-notice.css deleted file mode 100644 index 0308ad6..0000000 --- a/plugins/shortcode-core/css/shortcode-notice.css +++ /dev/null @@ -1,64 +0,0 @@ -.sc-notice { - margin: 30px 0; - position: relative; -} - -.sc-notice > div { - padding: 5px 20px; - display: block; - margin-top: 0rem; - margin-bottom: 0rem; - color: #666; -} - -.sc-notice > div:before { - position: absolute; - top: 2px; - color: #fff; - font-family: FontAwesome; - content: ''; - left: 10px; -} - -.sc-notice > div:first-child:after { - position: absolute; - top: 2px; - color: #fff; - left: 30px; -} - -.sc-notice.info > div:first-child { - border-top: 30px solid #F0B37E; - background: #FFF2DB; -} - -.sc-notice.info > div:first-child:after { - content: 'Info'; -} - -.sc-notice.warning > div:first-child { - border-top: 30px solid #DF6F6C; - background: #FAE2E2; -} - -.sc-notice.warning > div:first-child:after { - content: 'Warning'; -} - -.sc-notice.note > div:first-child { - border-top: 30px solid #6AB0DE; - background: #E7F2FA; -} - -.sc-notice.note > div:first-child:after { - content: 'Note'; -} - -.sc-notice.tip > div:first-child { - border-top: 30px solid #77C577; - background: #E6F9E6; -} - -.sc-notice.tip > div:first-child:after { - content: 'Tip'; -} diff --git a/plugins/shortcode-core/nextgen-editor/.browserslistrc b/plugins/shortcode-core/nextgen-editor/.browserslistrc deleted file mode 100644 index d6471a3..0000000 --- a/plugins/shortcode-core/nextgen-editor/.browserslistrc +++ /dev/null @@ -1,2 +0,0 @@ -> 1% -last 2 versions diff --git a/plugins/shortcode-core/nextgen-editor/.editorconfig b/plugins/shortcode-core/nextgen-editor/.editorconfig deleted file mode 100644 index c24743d..0000000 --- a/plugins/shortcode-core/nextgen-editor/.editorconfig +++ /dev/null @@ -1,7 +0,0 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space -indent_size = 2 -end_of_line = lf -trim_trailing_whitespace = true -insert_final_newline = true -max_line_length = 100 diff --git a/plugins/shortcode-core/nextgen-editor/.env b/plugins/shortcode-core/nextgen-editor/.env deleted file mode 100644 index a26840b..0000000 --- a/plugins/shortcode-core/nextgen-editor/.env +++ /dev/null @@ -1,2 +0,0 @@ -DEV_HOST=localhost -DEV_PORT=2001 diff --git a/plugins/shortcode-core/nextgen-editor/.eslintrc.js b/plugins/shortcode-core/nextgen-editor/.eslintrc.js deleted file mode 100644 index f2ff6f2..0000000 --- a/plugins/shortcode-core/nextgen-editor/.eslintrc.js +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/recommended', - '@vue/airbnb', - ], - parserOptions: { - parser: 'babel-eslint', - }, - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'import/extensions': 'off', - 'import/no-unresolved': 'off', - 'import/no-extraneous-dependencies': ['error', { devDependencies: true }], - 'no-restricted-syntax': ['off', 'ForOfStatement'], - 'no-param-reassign': ['error', { props: false }], - 'class-methods-use-this': 'off', - 'object-curly-newline': 'off', - 'no-nested-ternary': 'off', - 'no-await-in-loop': 'off', - 'max-len': 'off', - }, -}; diff --git a/plugins/shortcode-core/nextgen-editor/.gitignore b/plugins/shortcode-core/nextgen-editor/.gitignore deleted file mode 100644 index c2b66ff..0000000 --- a/plugins/shortcode-core/nextgen-editor/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -.DS_Store -node_modules - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/plugins/shortcode-core/nextgen-editor/README.md b/plugins/shortcode-core/nextgen-editor/README.md deleted file mode 100644 index ca93c93..0000000 --- a/plugins/shortcode-core/nextgen-editor/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# app - -## Project setup -``` -yarn install -``` - -### Compiles and hot-reloads for development -``` -yarn serve -``` - -### Compiles and minifies for production -``` -yarn build -``` - -### Lints and fixes files -``` -yarn lint -``` - -### Customize configuration -See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/plugins/shortcode-core/nextgen-editor/babel.config.js b/plugins/shortcode-core/nextgen-editor/babel.config.js deleted file mode 100644 index 757ff9b..0000000 --- a/plugins/shortcode-core/nextgen-editor/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset', - ], -}; diff --git a/plugins/shortcode-core/nextgen-editor/dist/css/app.css b/plugins/shortcode-core/nextgen-editor/dist/css/app.css deleted file mode 100644 index 59e6ae7..0000000 --- a/plugins/shortcode-core/nextgen-editor/dist/css/app.css +++ /dev/null @@ -1 +0,0 @@ -shortcode-block{background:#fff;border:1px solid #ccc;display:block;margin:16px 0}#admin-main .ck.ck-editor__editable_inline>:first-child{margin-top:16px}#admin-main .ck.ck-editor__editable_inline>:last-child{margin-bottom:16px}#admin-main .ck-editor shortcode-block.ck-shortcode-child:hover{outline-color:#1f89e5}#admin-main .ck-editor shortcode-block>.sc-add>p,#admin-main .ck-editor shortcode-block>.sc-header>.sc-settings>p,#admin-main .ck-editor shortcode-block>.sc-header>.sc-title>p,#admin-main .ck-editor shortcode-block>.sc-header>.sc-titlebar>p,#admin-main .ck-editor shortcode-block>.sc-move>p{margin:0}shortcode-block>.sc-header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #ccc;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;line-height:1.5;padding:8px 8px}shortcode-block>.sc-header>.sc-title>p>.sc-value{font-weight:700}shortcode-block>.sc-header>.sc-titlebar{margin-left:24px}shortcode-block>.sc-header>.sc-settings{color:#ffc83d;cursor:pointer;font-size:0;line-height:0;margin-left:auto;opacity:0;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease}shortcode-block.ck-shortcode-child>.sc-header>.sc-settings,shortcode-block.ck-widget_selected>.sc-header>.sc-settings,shortcode-block>.sc-header>.sc-settings:hover{color:#1f89e5}shortcode-block.ck-shortcode-child>.sc-header>.sc-settings:hover,shortcode-block.ck-widget_selected>.sc-header>.sc-settings:hover{opacity:.5}shortcode-block.ck-widget_selected>.sc-header>.sc-settings,shortcode-block:hover>.sc-header>.sc-settings{opacity:1}shortcode-block>.sc-header>.sc-settings>p>svg{height:24px;width:24px}shortcode-block-editable,shortcode-block-readonly{display:block;padding:0 8px}shortcode-block-readonly>[data-cke-filler]{display:none}#admin-main .ck-editor shortcode-block-editable>:first-child{margin-top:14px}#admin-main .ck-editor shortcode-block.ck-shortcode-child .ck-widget__type-around__button_after,#admin-main .ck-editor shortcode-block.ck-shortcode-child .ck-widget__type-around__button_before{display:none}shortcode-block>.sc-add-child{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:none;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:16px 0;opacity:0;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}shortcode-block>.sc-add-child.sc-visible{display:-webkit-box;display:-ms-flexbox;display:flex}shortcode-block.ck-widget_selected>.sc-add-child,shortcode-block:hover>.sc-add-child{opacity:1;z-index:1}shortcode-block>.sc-add-child>p{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#ffc83d;border-radius:50%;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:24px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0!important;-webkit-transition:opacity .2s ease,background .2s ease;transition:opacity .2s ease,background .2s ease;width:24px}shortcode-block.ck-widget_selected>.sc-add-child>p,shortcode-block>.sc-add-child>p:hover{background:#1f89e5}shortcode-block.ck-widget_selected>.sc-add-child>p:hover{opacity:.5}shortcode-block>.sc-add-child>p>svg{color:#fff;height:20px;width:20px}shortcode-block>.sc-add,shortcode-block>.sc-add-child>p>svg{-webkit-transition:opacity .2s ease;transition:opacity .2s ease}shortcode-block>.sc-add{left:30px;opacity:0;position:absolute;top:-12px}shortcode-block>.sc-add-after{bottom:-11px;left:auto;right:30px;top:auto}shortcode-block:hover>.sc-add{opacity:1;z-index:1}shortcode-block>.sc-add>p{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#1f89e5;border-radius:50%;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:20px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:20px}shortcode-block>.sc-add>p>svg{color:#fff;height:16px;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:16px}shortcode-block>.sc-add:hover>p>svg{opacity:.5}shortcode-block>.sc-move{background:#1f89e5;border-radius:50%;cursor:pointer;height:20px;opacity:0;position:absolute;right:-12px;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:20px;top:46px}shortcode-block>.sc-move-up{-webkit-transform:rotate(180deg);transform:rotate(180deg)}shortcode-block:first-child>.sc-move-up,shortcode-block:last-child>.sc-move-down{display:none}shortcode-block>.sc-move-down{bottom:4px;left:auto;top:auto}shortcode-block:hover>.sc-move{opacity:1;z-index:1}shortcode-block>.sc-move>p>svg{color:#fff;height:20px;left:1.5px;position:absolute;top:2px;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:20px}shortcode-block>.sc-move:hover>p>svg{opacity:.5}shortcode-inline{background:#fff;border:1px solid #ccc;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-left:2px;margin-right:1px;vertical-align:middle}shortcode-inline-editable,shortcode-inline-readonly{display:inline;padding:1px 4px 2px}shortcode-inline>.sc-content,shortcode-inline>.sc-settings{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}shortcode-inline>.sc-settings{border-left:1px solid #ccc;cursor:pointer;font-size:0;line-height:0;padding:0 2px;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease}shortcode-inline:hover>.sc-settings{color:#ffc83d}shortcode-inline.ck-widget_selected>.sc-settings,shortcode-inline>.sc-settings:hover{color:#1f89e5}shortcode-inline.ck-widget_selected>.sc-settings:hover{opacity:.5}shortcode-inline>.sc-settings>svg{height:16px;width:16px} \ No newline at end of file diff --git a/plugins/shortcode-core/nextgen-editor/dist/js/app.js b/plugins/shortcode-core/nextgen-editor/dist/js/app.js deleted file mode 100644 index 58b7b31..0000000 --- a/plugins/shortcode-core/nextgen-editor/dist/js/app.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=0)})({0:function(t,e,n){t.exports=n("56d7")},"00ee":function(t,e,n){var r=n("b622"),o=r("toStringTag"),i={};i[o]="z",t.exports="[object z]"===String(i)},"0366":function(t,e,n){var r=n("1c0b");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},"0538":function(t,e,n){"use strict";var r=n("1c0b"),o=n("861d"),i=[].slice,c={},a=function(t,e,n){if(!(e in c)){for(var r=[],o=0;o1||"".split(/.?/).length?function(t,n){var r=String(c(this)),i=void 0===n?v:n>>>0;if(0===i)return[];if(void 0===t)return[r];if(!o(t))return e.call(r,t,i);var a,u,s,l=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,b=new RegExp(t.source,d+"g");while(a=f.call(b,r)){if(u=b.lastIndex,u>h&&(l.push(r.slice(h,a.index)),a.length>1&&a.index=i))break;b.lastIndex===a.index&&b.lastIndex++}return h===r.length?!s&&b.test("")||l.push(""):l.push(r.slice(h)),l.length>i?l.slice(0,i):l}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var o=c(this),i=void 0==e?void 0:e[t];return void 0!==i?i.call(e,o,n):r.call(String(o),e,n)},function(t,o){var c=n(r,t,this,o,r!==e);if(c.done)return c.value;var f=i(t),d=String(this),p=a(f,RegExp),g=f.unicode,m=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(b?"y":"g"),y=new p(b?f:"^(?:"+f.source+")",m),w=void 0===o?v:o>>>0;if(0===w)return[];if(0===d.length)return null===l(y,d)?[d]:[];var x=0,S=0,E=[];while(S1?arguments[1]:void 0)}})},"14c3":function(t,e,n){var r=n("c6b6"),o=n("9263");t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var i=n.call(t,e);if("object"!==typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},"159b":function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("17c2"),c=n("9112");for(var a in o){var u=r[a],s=u&&u.prototype;if(s&&s.forEach!==i)try{c(s,"forEach",i)}catch(l){s.forEach=i}}},"17c2":function(t,e,n){"use strict";var r=n("b727").forEach,o=n("a640"),i=n("ae40"),c=o("forEach"),a=i("forEach");t.exports=c&&a?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(t,e,n){var r=n("b622"),o=r("iterator"),i=!1;try{var c=0,a={next:function(){return{done:!!c++}},return:function(){i=!0}};a[o]=function(){return this},Array.from(a,(function(){throw 2}))}catch(u){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(u){}return n}},"1cdc":function(t,e,n){var r=n("342f");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},"1d80":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"1dde":function(t,e,n){var r=n("d039"),o=n("b622"),i=n("2d00"),c=o("species");t.exports=function(t){return i>=51||!r((function(){var e=[],n=e.constructor={};return n[c]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},2236:function(t,e,n){var r=n("5a43");function o(t){if(Array.isArray(t))return r(t)}t.exports=o},2266:function(t,e,n){var r=n("825a"),o=n("e95a"),i=n("50c4"),c=n("0366"),a=n("35a1"),u=n("9bdd"),s=function(t,e){this.stopped=t,this.result=e},l=t.exports=function(t,e,n,l,f){var d,p,h,v,b,g,m,y=c(e,n,l?2:1);if(f)d=t;else{if(p=a(t),"function"!=typeof p)throw TypeError("Target is not iterable");if(o(p)){for(h=0,v=i(t.length);v>h;h++)if(b=l?y(r(m=t[h])[0],m[1]):y(t[h]),b&&b instanceof s)return b;return new s(!1)}d=p.call(t)}g=d.next;while(!(m=g.call(d)).done)if(b=u(d,y,m.value,l),"object"==typeof b&&b&&b instanceof s)return b;return new s(!1)};l.stop=function(t){return new s(!0,t)}},"23cb":function(t,e,n){var r=n("a691"),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},"23e7":function(t,e,n){var r=n("da84"),o=n("06cf").f,i=n("9112"),c=n("6eeb"),a=n("ce4e"),u=n("e893"),s=n("94ca");t.exports=function(t,e){var n,l,f,d,p,h,v=t.target,b=t.global,g=t.stat;if(l=b?r:g?r[v]||a(v,{}):(r[v]||{}).prototype,l)for(f in e){if(p=e[f],t.noTargetGet?(h=o(l,f),d=h&&h.value):d=l[f],n=s(b?f:v+(g?".":"#")+f,t.forced),!n&&void 0!==d){if(typeof p===typeof d)continue;u(p,d)}(t.sham||d&&d.sham)&&i(p,"sham",!0),c(l,f,p,t)}}},"241c":function(t,e,n){var r=n("ca84"),o=n("7839"),i=o.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},2532:function(t,e,n){"use strict";var r=n("23e7"),o=n("5a34"),i=n("1d80"),c=n("ab13");r({target:"String",proto:!0,forced:!c("includes")},{includes:function(t){return!!~String(i(this)).indexOf(o(t),arguments.length>1?arguments[1]:void 0)}})},"25f0":function(t,e,n){"use strict";var r=n("6eeb"),o=n("825a"),i=n("d039"),c=n("ad6d"),a="toString",u=RegExp.prototype,s=u[a],l=i((function(){return"/a/b"!=s.call({source:"a",flags:"b"})})),f=s.name!=a;(l||f)&&r(RegExp.prototype,a,(function(){var t=o(this),e=String(t.source),n=t.flags,r=String(void 0===n&&t instanceof RegExp&&!("flags"in u)?c.call(t):n);return"/"+e+"/"+r}),{unsafe:!0})},2626:function(t,e,n){"use strict";var r=n("d066"),o=n("9bf2"),i=n("b622"),c=n("83ab"),a=i("species");t.exports=function(t){var e=r(t),n=o.f;c&&e&&!e[a]&&n(e,a,{configurable:!0,get:function(){return this}})}},"2c40":function(t,e,n){n("4de4"),n("4160"),n("b0c0"),n("159b");var r=n("448a");window.nextgenEditor.addPlugin("GravShortcodeCoreRemove",{init:function(){var t=this,e=this.editor.commands.get("delete"),n=this.editor.commands.get("forwardDelete"),o=function(e){var n=t.editor.model.document.selection.getSelectedElement();if(n&&"shortcode-block"===n.name){var r=n.getAttribute("name"),o=window.nextgenEditor.shortcodes[r];if(o.parent){var i=t.editor.editing.mapper.toViewElement(n),c=t.editor.editing.view.domConverter.mapViewToDom(i),a=c.closest('shortcode-block[name="'.concat(o.parent.name,'"]'));e.childShortcodeDeleted=!0,e.modelShortcodeBlockReadOnly=n.parent,e.domParentShortcode=a}}},i=function(e){if(e.childShortcodeDeleted){var n=e.domParentShortcode,o=e.modelShortcodeBlockReadOnly,i=r(o.getChildren()),c=i.filter((function(t){return"shortcode-block"===t.name})),a=i.filter((function(t){return"shortcode-block"!==t.name}));setTimeout((function(){t.editor.model.change((function(t){a.forEach((function(e){"paragraph"===e.name&&0===e.childCount&&t.remove(e)}))}))})),c.length||n.querySelector("shortcode-block > .sc-add-child").classList.add("sc-visible")}};e.on("execute",o,{priority:"highest"}),n.on("execute",o,{priority:"highest"}),e.on("execute",i,{priority:"lowest"}),n.on("execute",i,{priority:"lowest"})}})},"2ca0":function(t,e,n){"use strict";var r=n("23e7"),o=n("06cf").f,i=n("50c4"),c=n("5a34"),a=n("1d80"),u=n("ab13"),s=n("c430"),l="".startsWith,f=Math.min,d=u("startsWith"),p=!s&&!d&&!!function(){var t=o(String.prototype,"startsWith");return t&&!t.writable}();r({target:"String",proto:!0,forced:!p&&!d},{startsWith:function(t){var e=String(a(this));c(t);var n=i(f(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return l?l.call(e,r,n):e.slice(n,n+r.length)===r}})},"2cbb":function(t,e,n){n("99af"),n("4de4"),n("4160"),n("caad"),n("c975"),n("a15b"),n("d81d"),n("fb6a"),n("b0c0"),n("b64b"),n("d3b7"),n("07ac"),n("4d63"),n("ac1f"),n("25f0"),n("2532"),n("5319"),n("498a"),n("159b"),window.nextgenEditor.addHook("hookMarkdowntoHTML",{weight:-50,handler:function(t,e){var n=e,r=Object.values(window.nextgenEditor.shortcodes).map((function(t){return t.realName})).filter((function(t,e,n){return n.indexOf(t)===e})),o=r.map((function(t){return"(\\[".concat(t,"[^\\]]*\\])")})).join("|");r.forEach((function(t){var e="\\[".concat(t,"(?(=| +).+?(?=/]))?\\/\\]");n=n.replace(new RegExp(e,"g"),(function(){for(var e=arguments.length,n=new Array(e),r=0;r0)c=0,Object.values(window.nextgenEditor.shortcodes).forEach((function(t){var e="(? *)\\[".concat(t.realName,"(?(=| +)[^\\]]*)?\\](?(((?!(").concat(o,"|(\\[\\/").concat(t.realName,"\\]))).)|\\n)*)\\[\\/").concat(t.realName,"\\](? *)");n=n.replace(new RegExp(e,"g"),(function(){for(var e=arguments.length,n=new Array(e),r=0;r0)c=0,Object.keys(i).forEach((function(t){if(n.includes(t)){c+=1;var e=i[t],r=e.shortcode,o=e.matches,a=o.pop(),u=a.spaces_before.replace(/ /g," "),s=a.spaces_after.replace(/ /g," ");if("block"===r.type){var l=a.content.trim();a.spaces_before.length&&(l=l.replace(new RegExp("^( ){".concat(a.spaces_before.length,"}"),"gm"),""));var f="\n\n[".concat(r.name).concat(a.attributes||"","]\n\n").concat(l,"\n\n[/").concat(r.name,"]\n\n");n=n.replace(new RegExp("(\\n)?(\\n)?".concat(t,"(\\n)?(\\n)?")),f)}"inline"===r.type&&(n=n.replace(t,"".concat(u,"[").concat(r.name).concat(a.attributes||"","]").concat(a.content,"[/").concat(r.name,"]").concat(s)))}}));return n=n.replace(/^\n\n/,"").replace(/\n\n$/,""),n}})},"2cf4":function(t,e,n){var r,o,i,c=n("da84"),a=n("d039"),u=n("c6b6"),s=n("0366"),l=n("1be4"),f=n("cc12"),d=n("1cdc"),p=c.location,h=c.setImmediate,v=c.clearImmediate,b=c.process,g=c.MessageChannel,m=c.Dispatch,y=0,w={},x="onreadystatechange",S=function(t){if(w.hasOwnProperty(t)){var e=w[t];delete w[t],e()}},E=function(t){return function(){S(t)}},O=function(t){S(t.data)},k=function(t){c.postMessage(t+"",p.protocol+"//"+p.host)};h&&v||(h=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return w[++y]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(y),y},v=function(t){delete w[t]},"process"==u(b)?r=function(t){b.nextTick(E(t))}:m&&m.now?r=function(t){m.now(E(t))}:g&&!d?(o=new g,i=o.port2,o.port1.onmessage=O,r=s(i.postMessage,i,1)):!c.addEventListener||"function"!=typeof postMessage||c.importScripts||a(k)||"file:"===p.protocol?r=x in f("script")?function(t){l.appendChild(f("script"))[x]=function(){l.removeChild(this),S(t)}}:function(t){setTimeout(E(t),0)}:(r=k,c.addEventListener("message",O,!1))),t.exports={set:h,clear:v}},"2d00":function(t,e,n){var r,o,i=n("da84"),c=n("342f"),a=i.process,u=a&&a.versions,s=u&&u.v8;s?(r=s.split("."),o=r[0]+r[1]):c&&(r=c.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=c.match(/Chrome\/(\d+)/),r&&(o=r[1]))),t.exports=o&&+o},3410:function(t,e,n){var r=n("23e7"),o=n("d039"),i=n("7b0b"),c=n("e163"),a=n("e177"),u=o((function(){c(1)}));r({target:"Object",stat:!0,forced:u,sham:!a},{getPrototypeOf:function(t){return c(i(t))}})},"342f":function(t,e,n){var r=n("d066");t.exports=r("navigator","userAgent")||""},"35a1":function(t,e,n){var r=n("f5df"),o=n("3f8c"),i=n("b622"),c=i("iterator");t.exports=function(t){if(void 0!=t)return t[c]||t["@@iterator"]||o[r(t)]}},"37e8":function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),c=n("df75");t.exports=r?Object.defineProperties:function(t,e){i(t);var n,r=c(e),a=r.length,u=0;while(a>u)o.f(t,n=r[u++],e[n]);return t}},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3ca3":function(t,e,n){"use strict";var r=n("6547").charAt,o=n("69f3"),i=n("7dd0"),c="String Iterator",a=o.set,u=o.getterFor(c);i(String,"String",(function(t){a(this,{type:c,string:String(t),index:0})}),(function(){var t,e=u(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},"3f8c":function(t,e){t.exports={}},4160:function(t,e,n){"use strict";var r=n("23e7"),o=n("17c2");r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},"428f":function(t,e,n){var r=n("da84");t.exports=r},"448a":function(t,e,n){var r=n("2236"),o=n("11b0"),i=n("6613"),c=n("0676");function a(t){return r(t)||o(t)||i(t)||c()}t.exports=a},"44ad":function(t,e,n){var r=n("d039"),o=n("c6b6"),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var r=n("b622"),o=n("7c73"),i=n("9bf2"),c=r("unscopables"),a=Array.prototype;void 0==a[c]&&i.f(a,c,{configurable:!0,value:o(null)}),t.exports=function(t){a[c][t]=!0}},"44de":function(t,e,n){var r=n("da84");t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},"44e7":function(t,e,n){var r=n("861d"),o=n("c6b6"),i=n("b622"),c=i("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[c])?!!e:"RegExp"==o(t))}},"45fc":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").some,i=n("a640"),c=n("ae40"),a=i("some"),u=c("some");r({target:"Array",proto:!0,forced:!a||!u},{some:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},4840:function(t,e,n){var r=n("825a"),o=n("1c0b"),i=n("b622"),c=i("species");t.exports=function(t,e){var n,i=r(t).constructor;return void 0===i||void 0==(n=r(i)[c])?e:o(n)}},4930:function(t,e,n){var r=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},"498a":function(t,e,n){"use strict";var r=n("23e7"),o=n("58a8").trim,i=n("c8d2");r({target:"String",proto:!0,forced:i("trim")},{trim:function(){return o(this)}})},"4ae1":function(t,e,n){var r=n("23e7"),o=n("d066"),i=n("1c0b"),c=n("825a"),a=n("861d"),u=n("7c73"),s=n("0538"),l=n("d039"),f=o("Reflect","construct"),d=l((function(){function t(){}return!(f((function(){}),[],t)instanceof t)})),p=!l((function(){f((function(){}))})),h=d||p;r({target:"Reflect",stat:!0,forced:h,sham:h},{construct:function(t,e){i(t),c(e);var n=arguments.length<3?t:i(arguments[2]);if(p&&!d)return f(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(s.apply(t,r))}var o=n.prototype,l=u(a(o)?o:Object.prototype),h=Function.apply.call(t,l,e);return a(h)?h:l}})},"4d63":function(t,e,n){var r=n("83ab"),o=n("da84"),i=n("94ca"),c=n("7156"),a=n("9bf2").f,u=n("241c").f,s=n("44e7"),l=n("ad6d"),f=n("9f7f"),d=n("6eeb"),p=n("d039"),h=n("69f3").set,v=n("2626"),b=n("b622"),g=b("match"),m=o.RegExp,y=m.prototype,w=/a/g,x=/a/g,S=new m(w)!==w,E=f.UNSUPPORTED_Y,O=r&&i("RegExp",!S||E||p((function(){return x[g]=!1,m(w)!=w||m(x)==x||"/a/i"!=m(w,"i")})));if(O){var k=function(t,e){var n,r=this instanceof k,o=s(t),i=void 0===e;if(!r&&o&&t.constructor===k&&i)return t;S?o&&!i&&(t=t.source):t instanceof k&&(i&&(e=l.call(t)),t=t.source),E&&(n=!!e&&e.indexOf("y")>-1,n&&(e=e.replace(/y/g,"")));var a=c(S?new m(t,e):m(t,e),r?this:y,k);return E&&n&&h(a,{sticky:n}),a},A=function(t){t in k||a(k,t,{configurable:!0,get:function(){return m[t]},set:function(e){m[t]=e}})},j=u(m),T=0;while(j.length>T)A(j[T++]);y.constructor=k,k.prototype=y,d(o,"RegExp",k)}v("RegExp")},"4d64":function(t,e,n){var r=n("fc6a"),o=n("50c4"),i=n("23cb"),c=function(t){return function(e,n,c){var a,u=r(e),s=o(u.length),l=i(c,s);if(t&&n!=n){while(s>l)if(a=u[l++],a!=a)return!0}else for(;s>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").filter,i=n("1dde"),c=n("ae40"),a=i("filter"),u=c("filter");r({target:"Array",proto:!0,forced:!a||!u},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(t,e,n){"use strict";var r=n("0366"),o=n("7b0b"),i=n("9bdd"),c=n("e95a"),a=n("50c4"),u=n("8418"),s=n("35a1");t.exports=function(t){var e,n,l,f,d,p,h=o(t),v="function"==typeof this?this:Array,b=arguments.length,g=b>1?arguments[1]:void 0,m=void 0!==g,y=s(h),w=0;if(m&&(g=r(g,b>2?arguments[2]:void 0,2)),void 0==y||v==Array&&c(y))for(e=a(h.length),n=new v(e);e>w;w++)p=m?g(h[w],w):h[w],u(n,w,p);else for(f=y.call(h),d=f.next,n=new v;!(l=d.call(f)).done;w++)p=m?i(f,g,[l.value,w],!0):l.value,u(n,w,p);return n.length=w,n}},"4f5f":function(t,e,n){n("99af"),n("4de4"),n("4160"),n("caad"),n("c975"),n("a15b"),n("d81d"),n("fb6a"),n("b0c0"),n("b64b"),n("d3b7"),n("07ac"),n("4d63"),n("ac1f"),n("25f0"),n("2532"),n("5319"),n("1276"),n("498a"),n("159b"),window.nextgenEditor.addHook("hookHTMLtoMarkdown",{weight:50,handler:function(t,e,n){var r=n,o=Object.values(window.nextgenEditor.shortcodes).map((function(t){return t.realName})).filter((function(t,e,n){return n.indexOf(t)===e})),i=o.map((function(t){return"(\\[".concat(t,"[^\\]]*\\])")})).join("|"),c={},a=1;while(a>0)a=0,Object.values(window.nextgenEditor.shortcodes).forEach((function(t){var e="(?\\[".concat(t.realName,"[^\\]]*\\])(?(((?!(").concat(i,"|(\\[\\/").concat(t.realName,"\\]))).)|\\n)*)(?\\[\\/").concat(t.realName,"\\])");r=r.replace(new RegExp(e,"g"),(function(){for(var e=arguments.length,n=new Array(e),r=0;r0)a=0,Object.keys(c).forEach((function(t){if(r.includes(t)){a+=1;var e=c[t],n=e.shortcode,o=e.matches,i=o.pop();if("block"===n.type){var u=i.content.replace(/^\n/,"").replace(/\n$/,"");n.child&&(u=u.trim().split("\n").filter((function(t){return!!t})).join("\n"),u="\n".concat(u,"\n")),n.parent&&(u="\n".concat(u,"\n")),r=r.replace(t,"".concat(i.opening).concat(u).concat(i.closing))}"inline"===n.type&&(r=r.replace(t,o[0]))}}));return r}})},"50c4":function(t,e,n){var r=n("a691"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},5135:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},5319:function(t,e,n){"use strict";var r=n("d784"),o=n("825a"),i=n("7b0b"),c=n("50c4"),a=n("a691"),u=n("1d80"),s=n("8aa5"),l=n("14c3"),f=Math.max,d=Math.min,p=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g,b=function(t){return void 0===t?t:String(t)};r("replace",2,(function(t,e,n,r){var g=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=g?"$":"$0";return[function(n,r){var o=u(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,r){if(!g&&m||"string"===typeof r&&-1===r.indexOf(y)){var i=n(e,t,this,r);if(i.done)return i.value}var u=o(t),p=String(this),h="function"===typeof r;h||(r=String(r));var v=u.global;if(v){var x=u.unicode;u.lastIndex=0}var S=[];while(1){var E=l(u,p);if(null===E)break;if(S.push(E),!v)break;var O=String(E[0]);""===O&&(u.lastIndex=s(p,c(u.lastIndex),x))}for(var k="",A=0,j=0;j=A&&(k+=p.slice(A,P)+N,A=P+T.length)}return k+p.slice(A)}];function w(t,n,r,o,c,a){var u=r+t.length,s=o.length,l=v;return void 0!==c&&(c=i(c),l=h),e.call(a,l,(function(e,i){var a;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(u);case"<":a=c[i.slice(1,-1)];break;default:var l=+i;if(0===l)return e;if(l>s){var f=p(l/10);return 0===f?e:f<=s?void 0===o[f-1]?i.charAt(1):o[f-1]+i.charAt(1):e}a=o[l-1]}return void 0===a?"":a}))}}))},5692:function(t,e,n){var r=n("c430"),o=n("c6cd");(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56d7":function(t,e,n){"use strict";n.r(e);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("99af"),n("4de4"),n("4160"),n("13d5"),n("b0c0"),n("b64b"),n("07ac"),n("159b");function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n((((?!(<\/figure>)).)|\n)*)<\/figure>/gm,"$1");var n=(new DOMParser).parseFromString(e,"text/html");u(n.querySelectorAll("shortcode-block, shortcode-inline")).forEach((function(t){t.setAttribute("sc-rendered",!1)}));var r=n.querySelector("shortcode-block[sc-rendered], shortcode-inline[sc-rendered]");while(r){var o=r.getAttribute("name"),i=window.nextgenEditor.shortcodes[o];r.removeAttribute("class"),r.removeAttribute("sc-rendered");var c=r.querySelector("shortcode-".concat(i.type,"-editable, shortcode-").concat(i.type,"-readonly"));r.innerHTML=c&&c.innerHTML||"",r=n.querySelector("shortcode-block[sc-rendered], shortcode-inline[sc-rendered]")}return e=n.body.innerHTML,e}n("caad"),n("45fc"),n("2532");function x(t,e){var n=(new DOMParser).parseFromString(t,"text/html");u(n.querySelectorAll("shortcode-block, shortcode-inline")).forEach((function(t){t.setAttribute("sc-rendered",!1)}));var r=n.querySelector("shortcode-block[sc-rendered], shortcode-inline[sc-rendered]"),o=function(){var t=r.getAttribute("name"),o=window.nextgenEditor.shortcodes[t],i=JSON.parse(decodeURIComponent(r.getAttribute("attributes")));r.classList.add("ck-shortcode"),r.classList.add("ck-shortcode-".concat(o.type)),r.removeAttribute("sc-rendered");var c={shortcode:o,attributes:i,innerHTML:r.innerHTML,parentAttributes:null,childAttributes:null},a="";if("block"===o.type){if(o.parent){r.classList.add("ck-shortcode-child");var s=r.closest('shortcode-block[name="'.concat(o.parent.name,'"]'));c.parentAttributes=e&&e.parentAttributes?e.parentAttributes:s?JSON.parse(decodeURIComponent(s.getAttribute("attributes"))):{}}if(o.child){c.childAttributes=[],r.classList.add("ck-shortcode-parent");var l=u(r.querySelectorAll('shortcode-block shortcode-block[name="'.concat(o.child.name,'"]'))),f=u(r.querySelectorAll('shortcode-block shortcode-block shortcode-block[name="'.concat(o.child.name,'"]')));l.filter((function(t){return!f.includes(t)})).forEach((function(t){var e=JSON.parse(decodeURIComponent(t.getAttribute("attributes")));c.childAttributes.push(e)}))}if(a+='
',a+='
Shortcode - '.concat(o.title,"
"),a+='
'.concat(o.titlebar(c),"
"),a+='
',a+='',a+='',a+="",a+="
",a+="
",a+='
',a+=o.content(c).replace("{{content_editable}}","".concat(r.innerHTML,"")).replace("{{content_readonly}}","".concat(r.innerHTML,"")),a+="
",o.child){var d=r.innerHTML?"":" sc-visible";a+='
'),a+='',a+='',a+="",a+="
"}o.parent&&(["before","after"].forEach((function(t){a+='
'),a+='',a+='',a+="",a+="
"})),["up","down"].forEach((function(t){a+='
'),a+='',a+='',a+="",a+="
"})))}"inline"===o.type&&(a+='',a+=o.content(c).replace("{{content_editable}}","".concat(r.innerHTML,"")).replace("{{content_readonly}}","".concat(r.innerHTML,"")),a+="",a+='',a+='',a+='',a+="",a+=""),r.innerHTML=a,r=n.querySelector("shortcode-block[sc-rendered], shortcode-inline[sc-rendered]")};while(r)o();return n.body.innerHTML}document.addEventListener("click",(function(t){var e=t.target,n=["sc-settings","sc-move","sc-add","sc-add-child"],r={element:null,className:null},o=n.some((function(t){var n=e.classList.contains(t);return n?(r.element=e,r.className=t,!0):(n=e.closest(".".concat(t)),!!n&&(r.element=n,r.className=t,!0))}));if(o)switch(r.className){case"sc-move":window.scBlockMoveChild.call(r.element,t,r.element.classList.contains("sc-move-up")?"up":"down");break;case"sc-add":window.scBlockAddChild.call(r.element,t,r.element.classList.contains("sc-add-before")?"before":"after");break;case"sc-add-child":window.scBlockAddChildFromParent.call(r.element,t);break;case"sc-settings":default:window.scDisplaySettings.call(r.element,t)}}));var S=window.nextgenEditor.classes.core.command.class;window.nextgenEditor.addPlugin("GravShortcodeCoreCommand",{init:function(){var t=this;Object.values(window.nextgenEditor.shortcodes).forEach((function(e){var n="shortcode_".concat(e.name),r=function(t){p(r,t);var n=y(r);function r(){return s(this,r),n.apply(this,arguments)}return f(r,[{key:"execute",value:function(t){var n=this;this.editor.model.change((function(r){var o="",i={},c=!e.child&&!e.parent&&(void 0===e.wrapOnInsert||e.wrapOnInsert),a=u(n.editor.model.document.selection.getSelectedBlocks()),s=u(n.editor.model.document.selection.getFirstRange().getItems({shallow:!0})),l=a[0],f=s.filter((function(t){return t.parent===l})),d=Object.keys(e.attributes).reduce((function(t,n){return t[n]=e.attributes[n].default.value,t}),{});if(o+="'),c){if("block"===e.type){var p=r.createDocumentFragment();a.forEach((function(t){return r.append(r.cloneElement(t),p)}));var h=n.editor.data.toView(p),v=n.editor.data.processor.toData(h);o+=w(v)}if("inline"===e.type){var b=r.createDocumentFragment();f.forEach((function(t){var e=t.textNode?r.createText(t.data):r.cloneElement(t);r.append(e,b)}));var g=n.editor.data.toView(b),m=n.editor.data.processor.toData(g);o+=w(m)}}e.parent&&(o+="

 

"),o+=""),e.parent&&t&&t.modelParentShortcode&&(i.parentAttributes=JSON.parse(decodeURIComponent(t.modelParentShortcode.getAttribute("attributes")))),o=x(o,i);var y="inline"===e.type?"$block":"$root",S=n.editor.data.processor.toView(o).getChild(0),E=n.editor.data.toModel(S,y).getChild(0),O=r.createPositionAt(n.editor.model.document.getRoot(),0);if(t&&t.insertPosition)O=t.insertPosition;else{if("block"===e.type){var k=a[0],A=a[a.length-1];c?(O=r.createPositionBefore(k),r.remove(r.createRange(r.createPositionBefore(k),r.createPositionAfter(A)))):(O=r.createPositionAfter(A),A&&"paragraph"===A.name&&0===A.childCount&&(O=r.createPositionBefore(A),r.remove(A)))}if("inline"===e.type){var j=f.length?f[0]:null,T=f.length?f[f.length-1]:null;c?(O=j?r.createPositionBefore(j):n.editor.model.document.selection.getFirstPosition(),j&&r.remove(r.createRange(r.createPositionBefore(j),r.createPositionAfter(T)))):O=T?r.createPositionAfter(T):n.editor.model.document.selection.getFirstPosition()}}r.insert(E,O),r.setSelection(E,"on")}))}}]),r}(S);t.editor.commands.add(n,new r(t.editor))}))}});n("e978"),n("c975"),n("a15b");var E=window.nextgenEditor.exports.showSettingsPopup;function O(t){var e=window.nextgenEditor.editors,n=(e.filter((function(e){return e.ui.view.element.contains(t)}))||[]).shift(),r=t.getAttribute("name"),o=window.nextgenEditor.shortcodes[r],i=window.nextgenEditor.shortcodePlugins[o.plugin];if(n){var c=n.editing.view.domConverter.mapDomToView(t),a=n.editing.mapper.toModelElement(c),s=JSON.parse(decodeURIComponent(t.getAttribute("attributes"))),l="block"===o.type?t.querySelector(".sc-header > .sc-settings"):t,f=[].concat([i&&i.title||"",o.parent&&o.parent.title||"",o.title||""]).filter((function(t){return!!t})).join(" / "),d={title:f,domDisplayPoint:l,debounceDelay:1e3,attributes:o.attributes,currentAttributes:s,parentAttributes:null,childAttributes:null};if(o.parent){var p=t.closest('shortcode-block[name="'.concat(o.parent.name,'"]'));d.parentAttributes=p?JSON.parse(decodeURIComponent(p.getAttribute("attributes"))):{}}if(o.child){d.childAttributes=[];var h=u(t.querySelectorAll('shortcode-block shortcode-block[name="'.concat(o.child.name,'"]'))),v=u(t.querySelectorAll('shortcode-block shortcode-block shortcode-block[name="'.concat(o.child.name,'"]')));h.filter((function(t){return!v.includes(t)})).forEach((function(t){var e=JSON.parse(decodeURIComponent(t.getAttribute("attributes")));d.childAttributes.push(e)}))}d.deleteItem=function(){return n.execute("delete")},d.changeAttributes=function(){n.model.change((function(t){t.setAttribute("attributes",encodeURIComponent(JSON.stringify(s)),a);var e="inline"===o.type?"$block":"$root";if(o.parent){var r=n.editing.mapper.toViewElement(a),i=n.editing.view.domConverter.mapViewToDom(r);if(!i)return;var c=i.parentNode.closest("shortcode-block"),l=n.editing.view.domConverter.mapDomToView(c),f=n.editing.mapper.toModelElement(l),d=u(c.querySelectorAll("shortcode-block shortcode-block")),p=u(c.querySelectorAll("shortcode-block shortcode-block shortcode-block")),h=d.filter((function(t){return!p.includes(t)})).indexOf(i),v=t.createPositionBefore(f),b=t.cloneElement(f),g=t.createDocumentFragment();t.append(b,g);var m=n.data.toView(g).getChild(0),y=n.data.processor.toData(m),S=x(w(y)),E=n.data.processor.toView(S).getChild(0),O=n.data.toModel(E,e).getChild(0);return t.remove(f),t.insert(O,v),void setTimeout((function(){var t=n.editing.mapper.toViewElement(O),e=n.editing.view.domConverter.mapViewToDom(t),r=u(e.querySelectorAll("shortcode-block shortcode-block")),o=u(e.querySelectorAll("shortcode-block shortcode-block shortcode-block")),i=r.filter((function(t){return!o.includes(t)}))[h],c=n.editing.view.domConverter.mapDomToView(i),s=n.editing.mapper.toModelElement(c);n.model.change((function(t){t.setSelection(s,"on"),a=s}))}))}var k=t.createPositionBefore(a),A=t.cloneElement(a),j=t.createDocumentFragment();t.append(A,j);var T=n.data.toView(j).getChild(0),P=n.data.processor.toData(T),C=x(w(P)),M=n.data.processor.toView(C).getChild(0),I=n.data.toModel(M,e).getChild(0);t.remove(a),t.insert(I,k),t.setSelection(I,"on"),a=I}))},E(d)}}window.scDisplaySettings=function(){var t=this.closest("shortcode-block, shortcode-inline");t&&O(t)},window.scBlockAddChildFromParent=function(){var t=window.nextgenEditor.editors,e=this.parentNode,n=(t.filter((function(t){return t.ui.view.element.contains(e)}))||[]).shift(),r=e.getAttribute("name"),o=window.nextgenEditor.shortcodes[r];if(n){var i=n.editing.view.domConverter.mapDomToView(e),c=n.editing.mapper.toModelElement(i),a=e.querySelector("shortcode-block-readonly"),u=n.editing.view.domConverter.mapDomToView(a),s=n.editing.mapper.toModelElement(u);n.model.change((function(t){var r=t.createPositionAt(s,0);n.execute("shortcode_".concat(o.child.name),{insertPosition:r,modelParentShortcode:c}),e.querySelector(".sc-add-child").classList.remove("sc-visible")}))}},window.scBlockAddChild=function(t,e){var n=window.nextgenEditor.editors,r=this.parentNode,o=(n.filter((function(t){return t.ui.view.element.contains(r)}))||[]).shift(),i=r.getAttribute("name"),c=window.nextgenEditor.shortcodes[i];if(o){var a=o.editing.view.domConverter.mapDomToView(r),u=o.editing.mapper.toModelElement(a);o.model.change((function(t){var n=u.parent,r=t.createPositionAt(u,e);while(n&&"shortcode-block"!==n.name)n=n.parent;n&&o.execute("shortcode_".concat(c.name),{insertPosition:r,modelParentShortcode:n})}))}},window.scBlockMoveChild=function(t,e){var n=window.nextgenEditor.editors,r=this.parentNode,o=(n.filter((function(t){return t.ui.view.element.contains(r)}))||[]).shift();if(o){var i=o.editing.view.domConverter.mapDomToView(r),c=o.editing.mapper.toModelElement(i),a="up"===e?r.previousSibling:r.nextSibling,u=o.editing.view.domConverter.mapDomToView(a),s=o.editing.mapper.toModelElement(u);o.model.change((function(t){t.move(t.createRangeOn(c),s,"up"===e?"before":"after")}))}};n("d99e"),n("2cbb"),n("4f5f"),n("2c40"),n("d81d"),n("a9e3"),n("4d63"),n("2ca0");window.nextgenEditor.addHook("hookMarkdowntoHTML",{weight:50,handler:function(t,e){var n=e,r=1,o=Object.keys(window.nextgenEditor.shortcodes).map((function(t){return"(\\[".concat(t,"[^\\]]*\\])")})).join("|");while(r>0)r=0,Object.values(window.nextgenEditor.shortcodes).forEach((function(t){var e="(?

)?\\[".concat(t.name,"(?(=| +)[^\\]]*)?\\](<\\/p>)?(?(((?!(").concat(o,"|(\\[\\/").concat(t.name,"\\]))).)|\\n)*)\\[\\/").concat(t.name,"\\](?<\\/p>)?");n=n.replace(new RegExp(e,"g"),(function(){r+=1;for(var e=arguments.length,n=new Array(e),o=0;o$/,""):i.content,a=Object.keys(t.attributes).reduce((function(e,n){return e||t.attributes[n].bbcode&&t.attributes[n].shorthand&&n}),""),u=Object.keys(t.attributes).reduce((function(e,n){return e||t.attributes[n].innerHTML&&n}),""),s=a&&i.attributes&&i.attributes.startsWith("=")?"".concat(a).concat(i.attributes):i.attributes||"";if(u){var l="block"===t.type?c.replace(/^

/,"").replace(/<\/p>$/,"").replace(/^ $/,""):c.replace(/^ $/,"");s=s?"".concat(s," ").concat(u,'="').concat(l,'"'):"".concat(u,'="').concat(l,'"'),c=""}var f=(new DOMParser).parseFromString("

"),"text/html").body.firstChild.attributes,d=Object.keys(t.attributes).reduce((function(e,n){var r=t.attributes[n],o=f.getNamedItem(n)?f.getNamedItem(n).value:r.default.value;return r.type===Boolean&&f.getNamedItem(n)&&(o="false"!==f.getNamedItem(n)),r.type===Number&&(o=+o),e[n]=o,e}),{}),p="",h=encodeURIComponent(JSON.stringify(d));return"block"===t.type&&(p+=''),p+=c,p+=""),"inline"===t.type&&(p+=i.p1||"",p+=''),p+=c,p+="",p+=i.p2||""),p}))}));return n=x(n),n}}),window.nextgenEditor.addHook("hookHTMLtoMarkdown",{weight:-50,handler:function(t,e,n){var r=n;r=w(r);var o=(new DOMParser).parseFromString(r,"text/html"),i=o.querySelector("shortcode-block, shortcode-inline"),c=function(){var t=i.getAttribute("name"),e=window.nextgenEditor.shortcodes[t],n=JSON.parse(decodeURIComponent(i.getAttribute("attributes"))),r=Object.keys(e.attributes).reduce((function(t,n){return t||e.attributes[n].innerHTML&&n}),""),c=Object.keys(e.attributes).reduce((function(t,r){var o=e.attributes[r];return o.type===Boolean?n[r]?"".concat(t," ").concat(r):t:n[r]!==o.default.value||o.default.preserve?o.bbcode&&o.shorthand?'="'.concat(n[r],'"').concat(t):o.innerHTML?t:"".concat(t," ").concat(r,'="').concat(n[r],'"'):t}),"");"block"===e.type&&("

 

"===i.innerHTML&&(i.innerHTML=""),r?i.outerHTML="

[".concat(e.realName).concat(c,"]").concat(n[r],"[/").concat(e.realName,"]

"):i.innerHTML?i.outerHTML="

[".concat(e.realName).concat(c,"]

").concat(i.innerHTML,"

[/").concat(e.realName,"]

"):i.outerHTML="

[".concat(e.realName).concat(c," /]

")),"inline"===e.type&&(" "===i.innerHTML&&(i.innerHTML=""),r?i.outerHTML="[".concat(e.realName).concat(c,"]").concat(n[r],"[/").concat(e.realName,"]"):i.innerHTML?i.outerHTML="[".concat(e.realName).concat(c,"]").concat(i.innerHTML,"[/").concat(e.realName,"]"):i.outerHTML="[".concat(e.realName).concat(c," /]")),i=o.querySelector("shortcode-block, shortcode-inline")};while(i)c();return r=o.body.innerHTML,r}});n("db43")},"56ef":function(t,e,n){var r=n("d066"),o=n("241c"),i=n("7418"),c=n("825a");t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(c(t)),n=i.f;return n?e.concat(n(t)):e}},5899:function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},"58a8":function(t,e,n){var r=n("1d80"),o=n("5899"),i="["+o+"]",c=RegExp("^"+i+i+"*"),a=RegExp(i+i+"*$"),u=function(t){return function(e){var n=String(r(e));return 1&t&&(n=n.replace(c,"")),2&t&&(n=n.replace(a,"")),n}};t.exports={start:u(1),end:u(2),trim:u(3)}},"5a34":function(t,e,n){var r=n("44e7");t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},"5a43":function(t,e){function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nl){var p,h=s(arguments[l++]),v=f?i(h).concat(f(h)):i(h),b=v.length,g=0;while(b>g)p=v[g++],r&&!d.call(h,p)||(n[p]=h[p])}return n}:l},6547:function(t,e,n){var r=n("a691"),o=n("1d80"),i=function(t){return function(e,n){var i,c,a=String(o(e)),u=r(n),s=a.length;return u<0||u>=s?t?"":void 0:(i=a.charCodeAt(u),i<55296||i>56319||u+1===s||(c=a.charCodeAt(u+1))<56320||c>57343?t?a.charAt(u):i:t?a.slice(u,u+2):c-56320+(i-55296<<10)+65536)}};t.exports={codeAt:i(!1),charAt:i(!0)}},"65f0":function(t,e,n){var r=n("861d"),o=n("e8b5"),i=n("b622"),c=i("species");t.exports=function(t,e){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?r(n)&&(n=n[c],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},6613:function(t,e,n){n("a630"),n("fb6a"),n("b0c0"),n("d3b7"),n("25f0"),n("3ca3");var r=n("5a43");function o(t,e){if(t){if("string"===typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}t.exports=o},"69f3":function(t,e,n){var r,o,i,c=n("7f9a"),a=n("da84"),u=n("861d"),s=n("9112"),l=n("5135"),f=n("f772"),d=n("d012"),p=a.WeakMap,h=function(t){return i(t)?o(t):r(t,{})},v=function(t){return function(e){var n;if(!u(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(c){var b=new p,g=b.get,m=b.has,y=b.set;r=function(t,e){return y.call(b,t,e),e},o=function(t){return g.call(b,t)||{}},i=function(t){return m.call(b,t)}}else{var w=f("state");d[w]=!0,r=function(t,e){return s(t,w,e),e},o=function(t){return l(t,w)?t[w]:{}},i=function(t){return l(t,w)}}t.exports={set:r,get:o,has:i,enforce:h,getterFor:v}},"6eeb":function(t,e,n){var r=n("da84"),o=n("9112"),i=n("5135"),c=n("ce4e"),a=n("8925"),u=n("69f3"),s=u.get,l=u.enforce,f=String(String).split("String");(t.exports=function(t,e,n,a){var u=!!a&&!!a.unsafe,s=!!a&&!!a.enumerable,d=!!a&&!!a.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),l(n).source=f.join("string"==typeof e?e:"")),t!==r?(u?!d&&t[e]&&(s=!0):delete t[e],s?t[e]=n:o(t,e,n)):s?t[e]=n:c(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||a(this)}))},"6f53":function(t,e,n){var r=n("83ab"),o=n("df75"),i=n("fc6a"),c=n("d1e7").f,a=function(t){return function(e){var n,a=i(e),u=o(a),s=u.length,l=0,f=[];while(s>l)n=u[l++],r&&!c.call(a,n)||f.push(t?[n,a[n]]:a[n]);return f}};t.exports={entries:a(!0),values:a(!1)}},7037:function(t,e,n){function r(e){return"function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?t.exports=r=function(t){return typeof t}:t.exports=r=function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(e)}n("a4d3"),n("e01a"),n("d28b"),n("d3b7"),n("3ca3"),n("ddb0"),t.exports=r},7156:function(t,e,n){var r=n("861d"),o=n("d2bb");t.exports=function(t,e,n){var i,c;return o&&"function"==typeof(i=e.constructor)&&i!==n&&r(c=i.prototype)&&c!==n.prototype&&o(t,c),t}},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"746f":function(t,e,n){var r=n("428f"),o=n("5135"),i=n("e538"),c=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||c(e,t,{value:i.f(t)})}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(t,e,n){var r=n("1d80");t.exports=function(t){return Object(r(t))}},"7c73":function(t,e,n){var r,o=n("825a"),i=n("37e8"),c=n("7839"),a=n("d012"),u=n("1be4"),s=n("cc12"),l=n("f772"),f=">",d="<",p="prototype",h="script",v=l("IE_PROTO"),b=function(){},g=function(t){return d+h+f+t+d+"/"+h+f},m=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=s("iframe"),n="java"+h+":";return e.style.display="none",u.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(g("document.F=Object")),t.close(),t.F},w=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}w=r?m(r):y();var t=c.length;while(t--)delete w[p][c[t]];return w()};a[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(b[p]=o(t),n=new b,b[p]=null,n[v]=t):n=w(),void 0===e?n:i(n,e)}},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),o=n("9ed3"),i=n("e163"),c=n("d2bb"),a=n("d44e"),u=n("9112"),s=n("6eeb"),l=n("b622"),f=n("c430"),d=n("3f8c"),p=n("ae93"),h=p.IteratorPrototype,v=p.BUGGY_SAFARI_ITERATORS,b=l("iterator"),g="keys",m="values",y="entries",w=function(){return this};t.exports=function(t,e,n,l,p,x,S){o(n,e,l);var E,O,k,A=function(t){if(t===p&&M)return M;if(!v&&t in P)return P[t];switch(t){case g:return function(){return new n(this,t)};case m:return function(){return new n(this,t)};case y:return function(){return new n(this,t)}}return function(){return new n(this)}},j=e+" Iterator",T=!1,P=t.prototype,C=P[b]||P["@@iterator"]||p&&P[p],M=!v&&C||A(p),I="Array"==e&&P.entries||C;if(I&&(E=i(I.call(new t)),h!==Object.prototype&&E.next&&(f||i(E)===h||(c?c(E,h):"function"!=typeof E[b]&&u(E,b,w)),a(E,j,!0,!0),f&&(d[j]=w))),p==m&&C&&C.name!==m&&(T=!0,M=function(){return C.call(this)}),f&&!S||P[b]===M||u(P,b,M),d[e]=M,p)if(O={values:A(m),keys:x?M:A(g),entries:A(y)},S)for(k in O)(v||T||!(k in P))&&s(P,k,O[k]);else r({target:e,proto:!0,forced:v||T},O);return O}},"7f9a":function(t,e,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;t.exports="function"===typeof i&&/native code/.test(o(i))},"825a":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var r=n("c04e"),o=n("9bf2"),i=n("5c6c");t.exports=function(t,e,n){var c=r(e);c in t?o.f(t,c,i(0,n)):t[c]=n}},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},"8aa5":function(t,e,n){"use strict";var r=n("6547").charAt;t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"90e3":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},9112:function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},9263:function(t,e,n){"use strict";var r=n("ad6d"),o=n("9f7f"),i=RegExp.prototype.exec,c=String.prototype.replace,a=i,u=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),s=o.UNSUPPORTED_Y||o.BROKEN_CARET,l=void 0!==/()??/.exec("")[1],f=u||l||s;f&&(a=function(t){var e,n,o,a,f=this,d=s&&f.sticky,p=r.call(f),h=f.source,v=0,b=t;return d&&(p=p.replace("y",""),-1===p.indexOf("g")&&(p+="g"),b=String(t).slice(f.lastIndex),f.lastIndex>0&&(!f.multiline||f.multiline&&"\n"!==t[f.lastIndex-1])&&(h="(?: "+h+")",b=" "+b,v++),n=new RegExp("^(?:"+h+")",p)),l&&(n=new RegExp("^"+h+"$(?!\\s)",p)),u&&(e=f.lastIndex),o=i.call(d?n:f,b),d?o?(o.input=o.input.slice(v),o[0]=o[0].slice(v),o.index=f.lastIndex,f.lastIndex+=o[0].length):f.lastIndex=0:u&&o&&(f.lastIndex=f.global?o.index+o[0].length:e),l&&o&&o.length>1&&c.call(o[0],n,(function(){for(a=1;a=51||!o((function(){var t=[];return t[h]=!1,t.concat()[0]!==t})),m=f("concat"),y=function(t){if(!c(t))return!1;var e=t[h];return void 0!==e?!!e:i(t)},w=!g||!m;r({target:"Array",proto:!0,forced:w},{concat:function(t){var e,n,r,o,i,c=a(this),f=l(c,0),d=0;for(e=-1,r=arguments.length;ev)throw TypeError(b);for(n=0;n=v)throw TypeError(b);s(f,d++,i)}return f.length=d,f}})},"9bdd":function(t,e,n){var r=n("825a");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(c){var i=t["return"];throw void 0!==i&&r(i.call(t)),c}}},"9bf2":function(t,e,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),c=n("c04e"),a=Object.defineProperty;e.f=r?a:function(t,e,n){if(i(t),e=c(e,!0),i(n),o)try{return a(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),c=n("d44e"),a=n("3f8c"),u=function(){return this};t.exports=function(t,e,n){var s=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),c(t,s,!1,!0),a[s]=u,t}},"9f7f":function(t,e,n){"use strict";var r=n("d039");function o(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},a15b:function(t,e,n){"use strict";var r=n("23e7"),o=n("44ad"),i=n("fc6a"),c=n("a640"),a=[].join,u=o!=Object,s=c("join",",");r({target:"Array",proto:!0,forced:u||!s},{join:function(t){return a.call(i(this),void 0===t?",":t)}})},a4d3:function(t,e,n){"use strict";var r=n("23e7"),o=n("da84"),i=n("d066"),c=n("c430"),a=n("83ab"),u=n("4930"),s=n("fdbf"),l=n("d039"),f=n("5135"),d=n("e8b5"),p=n("861d"),h=n("825a"),v=n("7b0b"),b=n("fc6a"),g=n("c04e"),m=n("5c6c"),y=n("7c73"),w=n("df75"),x=n("241c"),S=n("057f"),E=n("7418"),O=n("06cf"),k=n("9bf2"),A=n("d1e7"),j=n("9112"),T=n("6eeb"),P=n("5692"),C=n("f772"),M=n("d012"),I=n("90e3"),R=n("b622"),N=n("e538"),L=n("746f"),_=n("d44e"),D=n("69f3"),H=n("b727").forEach,V=C("hidden"),F="Symbol",$="prototype",B=R("toPrimitive"),U=D.set,q=D.getterFor(F),G=Object[$],W=o.Symbol,z=i("JSON","stringify"),J=O.f,Y=k.f,K=S.f,X=A.f,Q=P("symbols"),Z=P("op-symbols"),tt=P("string-to-symbol-registry"),et=P("symbol-to-string-registry"),nt=P("wks"),rt=o.QObject,ot=!rt||!rt[$]||!rt[$].findChild,it=a&&l((function(){return 7!=y(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=J(G,e);r&&delete G[e],Y(t,e,n),r&&t!==G&&Y(G,e,r)}:Y,ct=function(t,e){var n=Q[t]=y(W[$]);return U(n,{type:F,tag:t,description:e}),a||(n.description=e),n},at=s?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof W},ut=function(t,e,n){t===G&&ut(Z,e,n),h(t);var r=g(e,!0);return h(n),f(Q,r)?(n.enumerable?(f(t,V)&&t[V][r]&&(t[V][r]=!1),n=y(n,{enumerable:m(0,!1)})):(f(t,V)||Y(t,V,m(1,{})),t[V][r]=!0),it(t,r,n)):Y(t,r,n)},st=function(t,e){h(t);var n=b(e),r=w(n).concat(ht(n));return H(r,(function(e){a&&!ft.call(n,e)||ut(t,e,n[e])})),t},lt=function(t,e){return void 0===e?y(t):st(y(t),e)},ft=function(t){var e=g(t,!0),n=X.call(this,e);return!(this===G&&f(Q,e)&&!f(Z,e))&&(!(n||!f(this,e)||!f(Q,e)||f(this,V)&&this[V][e])||n)},dt=function(t,e){var n=b(t),r=g(e,!0);if(n!==G||!f(Q,r)||f(Z,r)){var o=J(n,r);return!o||!f(Q,r)||f(n,V)&&n[V][r]||(o.enumerable=!0),o}},pt=function(t){var e=K(b(t)),n=[];return H(e,(function(t){f(Q,t)||f(M,t)||n.push(t)})),n},ht=function(t){var e=t===G,n=K(e?Z:b(t)),r=[];return H(n,(function(t){!f(Q,t)||e&&!f(G,t)||r.push(Q[t])})),r};if(u||(W=function(){if(this instanceof W)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=I(t),n=function(t){this===G&&n.call(Z,t),f(this,V)&&f(this[V],e)&&(this[V][e]=!1),it(this,e,m(1,t))};return a&&ot&&it(G,e,{configurable:!0,set:n}),ct(e,t)},T(W[$],"toString",(function(){return q(this).tag})),T(W,"withoutSetter",(function(t){return ct(I(t),t)})),A.f=ft,k.f=ut,O.f=dt,x.f=S.f=pt,E.f=ht,N.f=function(t){return ct(R(t),t)},a&&(Y(W[$],"description",{configurable:!0,get:function(){return q(this).description}}),c||T(G,"propertyIsEnumerable",ft,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!u,sham:!u},{Symbol:W}),H(w(nt),(function(t){L(t)})),r({target:F,stat:!0,forced:!u},{for:function(t){var e=String(t);if(f(tt,e))return tt[e];var n=W(e);return tt[e]=n,et[n]=e,n},keyFor:function(t){if(!at(t))throw TypeError(t+" is not a symbol");if(f(et,t))return et[t]},useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),r({target:"Object",stat:!0,forced:!u,sham:!a},{create:lt,defineProperty:ut,defineProperties:st,getOwnPropertyDescriptor:dt}),r({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:pt,getOwnPropertySymbols:ht}),r({target:"Object",stat:!0,forced:l((function(){E.f(1)}))},{getOwnPropertySymbols:function(t){return E.f(v(t))}}),z){var vt=!u||l((function(){var t=W();return"[null]"!=z([t])||"{}"!=z({a:t})||"{}"!=z(Object(t))}));r({target:"JSON",stat:!0,forced:vt},{stringify:function(t,e,n){var r,o=[t],i=1;while(arguments.length>i)o.push(arguments[i++]);if(r=e,(p(e)||void 0!==t)&&!at(t))return d(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!at(e))return e}),o[1]=e,z.apply(null,o)}})}W[$][B]||j(W[$],B,W[$].valueOf),_(W,F),M[V]=!0},a630:function(t,e,n){var r=n("23e7"),o=n("4df4"),i=n("1c7e"),c=!i((function(t){Array.from(t)}));r({target:"Array",stat:!0,forced:c},{from:o})},a640:function(t,e,n){"use strict";var r=n("d039");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a79d:function(t,e,n){"use strict";var r=n("23e7"),o=n("c430"),i=n("fea9"),c=n("d039"),a=n("d066"),u=n("4840"),s=n("cdf9"),l=n("6eeb"),f=!!i&&c((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}));r({target:"Promise",proto:!0,real:!0,forced:f},{finally:function(t){var e=u(this,a("Promise")),n="function"==typeof t;return this.then(n?function(n){return s(e,t()).then((function(){return n}))}:t,n?function(n){return s(e,t()).then((function(){throw n}))}:t)}}),o||"function"!=typeof i||i.prototype["finally"]||l(i.prototype,"finally",a("Promise").prototype["finally"])},a9e3:function(t,e,n){"use strict";var r=n("83ab"),o=n("da84"),i=n("94ca"),c=n("6eeb"),a=n("5135"),u=n("c6b6"),s=n("7156"),l=n("c04e"),f=n("d039"),d=n("7c73"),p=n("241c").f,h=n("06cf").f,v=n("9bf2").f,b=n("58a8").trim,g="Number",m=o[g],y=m.prototype,w=u(d(y))==g,x=function(t){var e,n,r,o,i,c,a,u,s=l(t,!1);if("string"==typeof s&&s.length>2)if(s=b(s),e=s.charCodeAt(0),43===e||45===e){if(n=s.charCodeAt(2),88===n||120===n)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(i=s.slice(2),c=i.length,a=0;ao)return NaN;return parseInt(i,r)}return+s};if(i(g,!m(" 0o1")||!m("0b1")||m("+0x1"))){for(var S,E=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof E&&(w?f((function(){y.valueOf.call(n)})):u(n)!=g)?s(new m(x(e)),n,E):x(e)},O=r?p(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;O.length>k;k++)a(m,S=O[k])&&!a(E,S)&&v(E,S,h(m,S));E.prototype=y,y.constructor=E,c(o,g,E)}},ab13:function(t,e,n){var r=n("b622"),o=r("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[o]=!1,"/./"[t](e)}catch(r){}}return!1}},ac1f:function(t,e,n){"use strict";var r=n("23e7"),o=n("9263");r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},ad6d:function(t,e,n){"use strict";var r=n("825a");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},ae40:function(t,e,n){var r=n("83ab"),o=n("d039"),i=n("5135"),c=Object.defineProperty,a={},u=function(t){throw t};t.exports=function(t,e){if(i(a,t))return a[t];e||(e={});var n=[][t],s=!!i(e,"ACCESSORS")&&e.ACCESSORS,l=i(e,0)?e[0]:u,f=i(e,1)?e[1]:void 0;return a[t]=!!n&&!o((function(){if(s&&!r)return!0;var t={length:-1};s?c(t,1,{enumerable:!0,get:u}):t[1]=1,n.call(t,l,f)}))}},ae93:function(t,e,n){"use strict";var r,o,i,c=n("e163"),a=n("9112"),u=n("5135"),s=n("b622"),l=n("c430"),f=s("iterator"),d=!1,p=function(){return this};[].keys&&(i=[].keys(),"next"in i?(o=c(c(i)),o!==Object.prototype&&(r=o)):d=!0),void 0==r&&(r={}),l||u(r,f)||a(r,f,p),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},b041:function(t,e,n){"use strict";var r=n("00ee"),o=n("f5df");t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b0c0:function(t,e,n){var r=n("83ab"),o=n("9bf2").f,i=Function.prototype,c=i.toString,a=/^\s*function ([^ (]*)/,u="name";r&&!(u in i)&&o(i,u,{configurable:!0,get:function(){try{return c.call(this).match(a)[1]}catch(t){return""}}})},b575:function(t,e,n){var r,o,i,c,a,u,s,l,f=n("da84"),d=n("06cf").f,p=n("c6b6"),h=n("2cf4").set,v=n("1cdc"),b=f.MutationObserver||f.WebKitMutationObserver,g=f.process,m=f.Promise,y="process"==p(g),w=d(f,"queueMicrotask"),x=w&&w.value;x||(r=function(){var t,e;y&&(t=g.domain)&&t.exit();while(o){e=o.fn,o=o.next;try{e()}catch(n){throw o?c():i=void 0,n}}i=void 0,t&&t.enter()},y?c=function(){g.nextTick(r)}:b&&!v?(a=!0,u=document.createTextNode(""),new b(r).observe(u,{characterData:!0}),c=function(){u.data=a=!a}):m&&m.resolve?(s=m.resolve(void 0),l=s.then,c=function(){l.call(s,r)}):c=function(){h.call(f,r)}),t.exports=x||function(t){var e={fn:t,next:void 0};i&&(i.next=e),o||(o=e,c()),i=e}},b622:function(t,e,n){var r=n("da84"),o=n("5692"),i=n("5135"),c=n("90e3"),a=n("4930"),u=n("fdbf"),s=o("wks"),l=r.Symbol,f=u?l:l&&l.withoutSetter||c;t.exports=function(t){return i(s,t)||(a&&i(l,t)?s[t]=l[t]:s[t]=f("Symbol."+t)),s[t]}},b64b:function(t,e,n){var r=n("23e7"),o=n("7b0b"),i=n("df75"),c=n("d039"),a=c((function(){i(1)}));r({target:"Object",stat:!0,forced:a},{keys:function(t){return i(o(t))}})},b727:function(t,e,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),c=n("50c4"),a=n("65f0"),u=[].push,s=function(t){var e=1==t,n=2==t,s=3==t,l=4==t,f=6==t,d=5==t||f;return function(p,h,v,b){for(var g,m,y=i(p),w=o(y),x=r(h,v,3),S=c(w.length),E=0,O=b||a,k=e?O(p,S):n?O(p,0):void 0;S>E;E++)if((d||E in w)&&(g=w[E],m=x(g,E,y),t))if(e)k[E]=m;else if(m)switch(t){case 3:return!0;case 5:return g;case 6:return E;case 2:u.call(k,g)}else if(l)return!1;return f?-1:s||l?l:k}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},c04e:function(t,e,n){var r=n("861d");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},c430:function(t,e){t.exports=!1},c6b6:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},c6cd:function(t,e,n){var r=n("da84"),o=n("ce4e"),i="__core-js_shared__",c=r[i]||o(i,{});t.exports=c},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c8d2:function(t,e,n){var r=n("d039"),o=n("5899"),i="​…᠎";t.exports=function(t){return r((function(){return!!o[t]()||i[t]()!=i||o[t].name!==t}))}},c975:function(t,e,n){"use strict";var r=n("23e7"),o=n("4d64").indexOf,i=n("a640"),c=n("ae40"),a=[].indexOf,u=!!a&&1/[1].indexOf(1,-0)<0,s=i("indexOf"),l=c("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:u||!s||!l},{indexOf:function(t){return u?a.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},ca84:function(t,e,n){var r=n("5135"),o=n("fc6a"),i=n("4d64").indexOf,c=n("d012");t.exports=function(t,e){var n,a=o(t),u=0,s=[];for(n in a)!r(c,n)&&r(a,n)&&s.push(n);while(e.length>u)r(a,n=e[u++])&&(~i(s,n)||s.push(n));return s}},caad:function(t,e,n){"use strict";var r=n("23e7"),o=n("4d64").includes,i=n("44d2"),c=n("ae40"),a=c("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:!a},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("includes")},cc12:function(t,e,n){var r=n("da84"),o=n("861d"),i=r.document,c=o(i)&&o(i.createElement);t.exports=function(t){return c?i.createElement(t):{}}},cca6:function(t,e,n){var r=n("23e7"),o=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},cdf9:function(t,e,n){var r=n("825a"),o=n("861d"),i=n("f069");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t),c=n.resolve;return c(e),n.promise}},ce4e:function(t,e,n){var r=n("da84"),o=n("9112");t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("428f"),o=n("da84"),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:r},d28b:function(t,e,n){var r=n("746f");r("iterator")},d2bb:function(t,e,n){var r=n("825a"),o=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(n,[]),e=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),e?t.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(t,e,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d44e:function(t,e,n){var r=n("9bf2").f,o=n("5135"),i=n("b622"),c=i("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,c)&&r(t,c,{configurable:!0,value:e})}},d58f:function(t,e,n){var r=n("1c0b"),o=n("7b0b"),i=n("44ad"),c=n("50c4"),a=function(t){return function(e,n,a,u){r(n);var s=o(e),l=i(s),f=c(s.length),d=t?f-1:0,p=t?-1:1;if(a<2)while(1){if(d in l){u=l[d],d+=p;break}if(d+=p,t?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;t?d>=0:f>d;d+=p)d in l&&(u=n(u,l[d],d,s));return u}};t.exports={left:a(!1),right:a(!0)}},d784:function(t,e,n){"use strict";n("ac1f");var r=n("6eeb"),o=n("d039"),i=n("b622"),c=n("9263"),a=n("9112"),u=i("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){return"$0"==="a".replace(/./,"$0")}(),f=i("replace"),d=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),p=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,f){var h=i(t),v=!o((function(){var e={};return e[h]=function(){return 7},7!=""[t](e)})),b=v&&!o((function(){var e=!1,n=/a/;return"split"===t&&(n={},n.constructor={},n.constructor[u]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return e=!0,null},n[h](""),!e}));if(!v||!b||"replace"===t&&(!s||!l||d)||"split"===t&&!p){var g=/./[h],m=n(h,""[t],(function(t,e,n,r,o){return e.exec===c?v&&!o?{done:!0,value:g.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),y=m[0],w=m[1];r(String.prototype,t,y),r(RegExp.prototype,h,2==e?function(t,e){return w.call(t,this,e)}:function(t){return w.call(t,this)})}f&&a(RegExp.prototype[h],"sham",!0)}},d81d:function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").map,i=n("1dde"),c=n("ae40"),a=i("map"),u=c("map");r({target:"Array",proto:!0,forced:!a||!u},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},d99e:function(t,e,n){n("4160"),n("b0c0"),n("07ac"),n("159b");var r=n("ded3"),o=n("7037");window.nextgenEditor.addHook("hookInit",(function(){Object.values(window.nextgenEditor.shortcodes).forEach((function(t){t.attributes=t.attributes||{},t.button||(t.button={label:t.title}),Object.values(t.attributes).forEach((function(t){void 0===t.default&&(t.default=""),"object"!==o(t.default)&&(t.default={value:t.default}),void 0===t.shorthand&&(t.shorthand=!0)})),"block"!==t.type||t.titlebar||(t.titlebar=function(){return""}),t.content||(t.content=function(){return""}),t.preserve&&(t.preserve.block&&window.nextgenEditor.addVariable("preserveBlockTags",t.preserve.block),t.preserve.inline&&window.nextgenEditor.addVariable("preserveInlineTags",t.preserve.inline)),t.parent||window.nextgenEditor.addButton("shortcode_".concat(t.name),r({command:"shortcode_".concat(t.name)},t.button))}))}))},da84:function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")()}).call(this,n("c8ba"))},db43:function(t,e,n){},dbb4:function(t,e,n){var r=n("23e7"),o=n("83ab"),i=n("56ef"),c=n("fc6a"),a=n("06cf"),u=n("8418");r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){var e,n,r=c(t),o=a.f,s=i(r),l={},f=0;while(s.length>f)n=o(r,e=s[f++]),void 0!==n&&u(l,e,n);return l}})},ddb0:function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("e260"),c=n("9112"),a=n("b622"),u=a("iterator"),s=a("toStringTag"),l=i.values;for(var f in o){var d=r[f],p=d&&d.prototype;if(p){if(p[u]!==l)try{c(p,u,l)}catch(v){p[u]=l}if(p[s]||c(p,s,f),o[f])for(var h in i)if(p[h]!==i[h])try{c(p,h,i[h])}catch(v){p[h]=i[h]}}}},ded3:function(t,e,n){n("a4d3"),n("4de4"),n("4160"),n("e439"),n("dbb4"),n("b64b"),n("159b");var r=n("9523");function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function i(t){for(var e=1;e=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},e2cc:function(t,e,n){var r=n("6eeb");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},e439:function(t,e,n){var r=n("23e7"),o=n("d039"),i=n("fc6a"),c=n("06cf").f,a=n("83ab"),u=o((function(){c(1)})),s=!a||u;r({target:"Object",stat:!0,forced:s,sham:!a},{getOwnPropertyDescriptor:function(t,e){return c(i(t),e)}})},e538:function(t,e,n){var r=n("b622");e.f=r},e667:function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},e6cf:function(t,e,n){"use strict";var r,o,i,c,a=n("23e7"),u=n("c430"),s=n("da84"),l=n("d066"),f=n("fea9"),d=n("6eeb"),p=n("e2cc"),h=n("d44e"),v=n("2626"),b=n("861d"),g=n("1c0b"),m=n("19aa"),y=n("c6b6"),w=n("8925"),x=n("2266"),S=n("1c7e"),E=n("4840"),O=n("2cf4").set,k=n("b575"),A=n("cdf9"),j=n("44de"),T=n("f069"),P=n("e667"),C=n("69f3"),M=n("94ca"),I=n("b622"),R=n("2d00"),N=I("species"),L="Promise",_=C.get,D=C.set,H=C.getterFor(L),V=f,F=s.TypeError,$=s.document,B=s.process,U=l("fetch"),q=T.f,G=q,W="process"==y(B),z=!!($&&$.createEvent&&s.dispatchEvent),J="unhandledrejection",Y="rejectionhandled",K=0,X=1,Q=2,Z=1,tt=2,et=M(L,(function(){var t=w(V)!==String(V);if(!t){if(66===R)return!0;if(!W&&"function"!=typeof PromiseRejectionEvent)return!0}if(u&&!V.prototype["finally"])return!0;if(R>=51&&/native code/.test(V))return!1;var e=V.resolve(1),n=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[N]=n,!(e.then((function(){}))instanceof n)})),nt=et||!S((function(t){V.all(t)["catch"]((function(){}))})),rt=function(t){var e;return!(!b(t)||"function"!=typeof(e=t.then))&&e},ot=function(t,e,n){if(!e.notified){e.notified=!0;var r=e.reactions;k((function(){var o=e.value,i=e.state==X,c=0;while(r.length>c){var a,u,s,l=r[c++],f=i?l.ok:l.fail,d=l.resolve,p=l.reject,h=l.domain;try{f?(i||(e.rejection===tt&&ut(t,e),e.rejection=Z),!0===f?a=o:(h&&h.enter(),a=f(o),h&&(h.exit(),s=!0)),a===l.promise?p(F("Promise-chain cycle")):(u=rt(a))?u.call(a,d,p):d(a)):p(o)}catch(v){h&&!s&&h.exit(),p(v)}}e.reactions=[],e.notified=!1,n&&!e.rejection&&ct(t,e)}))}},it=function(t,e,n){var r,o;z?(r=$.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),s.dispatchEvent(r)):r={promise:e,reason:n},(o=s["on"+t])?o(r):t===J&&j("Unhandled promise rejection",n)},ct=function(t,e){O.call(s,(function(){var n,r=e.value,o=at(e);if(o&&(n=P((function(){W?B.emit("unhandledRejection",r,t):it(J,t,r)})),e.rejection=W||at(e)?tt:Z,n.error))throw n.value}))},at=function(t){return t.rejection!==Z&&!t.parent},ut=function(t,e){O.call(s,(function(){W?B.emit("rejectionHandled",t):it(Y,t,e.value)}))},st=function(t,e,n,r){return function(o){t(e,n,o,r)}},lt=function(t,e,n,r){e.done||(e.done=!0,r&&(e=r),e.value=n,e.state=Q,ot(t,e,!0))},ft=function(t,e,n,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===n)throw F("Promise can't be resolved itself");var o=rt(n);o?k((function(){var r={done:!1};try{o.call(n,st(ft,t,r,e),st(lt,t,r,e))}catch(i){lt(t,r,i,e)}})):(e.value=n,e.state=X,ot(t,e,!1))}catch(i){lt(t,{done:!1},i,e)}}};et&&(V=function(t){m(this,V,L),g(t),r.call(this);var e=_(this);try{t(st(ft,this,e),st(lt,this,e))}catch(n){lt(this,e,n)}},r=function(t){D(this,{type:L,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:K,value:void 0})},r.prototype=p(V.prototype,{then:function(t,e){var n=H(this),r=q(E(this,V));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=W?B.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=K&&ot(this,n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,e=_(t);this.promise=t,this.resolve=st(ft,t,e),this.reject=st(lt,t,e)},T.f=q=function(t){return t===V||t===i?new o(t):G(t)},u||"function"!=typeof f||(c=f.prototype.then,d(f.prototype,"then",(function(t,e){var n=this;return new V((function(t,e){c.call(n,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof U&&a({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(V,U.apply(s,arguments))}}))),a({global:!0,wrap:!0,forced:et},{Promise:V}),h(V,L,!1,!0),v(L),i=l(L),a({target:L,stat:!0,forced:et},{reject:function(t){var e=q(this);return e.reject.call(void 0,t),e.promise}}),a({target:L,stat:!0,forced:u||et},{resolve:function(t){return A(u&&this===i?V:this,t)}}),a({target:L,stat:!0,forced:nt},{all:function(t){var e=this,n=q(e),r=n.resolve,o=n.reject,i=P((function(){var n=g(e.resolve),i=[],c=0,a=1;x(t,(function(t){var u=c++,s=!1;i.push(void 0),a++,n.call(e,t).then((function(t){s||(s=!0,i[u]=t,--a||r(i))}),o)})),--a||r(i)}));return i.error&&o(i.value),n.promise},race:function(t){var e=this,n=q(e),r=n.reject,o=P((function(){var o=g(e.resolve);x(t,(function(t){o.call(e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},e893:function(t,e,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),c=n("9bf2");t.exports=function(t,e){for(var n=o(e),a=c.f,u=i.f,s=0;s /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","window.nextgenEditor.addPlugin('GravShortcodeCoreRemove', {\n init() {\n const deleteBackwardCommand = this.editor.commands.get('delete');\n const deleteForwardCommand = this.editor.commands.get('forwardDelete');\n\n const preDelete = (event) => {\n const selectedElement = this.editor.model.document.selection.getSelectedElement();\n\n if (selectedElement && selectedElement.name === 'shortcode-block') {\n const name = selectedElement.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n\n if (shortcode.parent) {\n const viewShortcode = this.editor.editing.mapper.toViewElement(selectedElement);\n const domShortcode = this.editor.editing.view.domConverter.mapViewToDom(viewShortcode);\n const domParentShortcode = domShortcode.closest(`shortcode-block[name=\"${shortcode.parent.name}\"]`);\n\n event.childShortcodeDeleted = true;\n event.modelShortcodeBlockReadOnly = selectedElement.parent;\n event.domParentShortcode = domParentShortcode;\n }\n }\n };\n\n const postDelete = (event) => {\n if (event.childShortcodeDeleted) {\n const { domParentShortcode, modelShortcodeBlockReadOnly } = event;\n\n const children = [...modelShortcodeBlockReadOnly.getChildren()];\n const scChildren = children.filter((child) => child.name === 'shortcode-block');\n const otherChildren = children.filter((child) => child.name !== 'shortcode-block');\n\n setTimeout(() => {\n this.editor.model.change((modelWriter) => {\n otherChildren.forEach((modelChild) => {\n if (modelChild.name === 'paragraph' && modelChild.childCount === 0) {\n modelWriter.remove(modelChild);\n }\n });\n });\n });\n\n if (!scChildren.length) {\n domParentShortcode.querySelector('shortcode-block > .sc-add-child').classList.add('sc-visible');\n }\n }\n };\n\n deleteBackwardCommand.on('execute', preDelete, { priority: 'highest' });\n deleteForwardCommand.on('execute', preDelete, { priority: 'highest' });\n\n deleteBackwardCommand.on('execute', postDelete, { priority: 'lowest' });\n deleteForwardCommand.on('execute', postDelete, { priority: 'lowest' });\n },\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","window.nextgenEditor.addHook('hookMarkdowntoHTML', {\n weight: -50,\n handler(options, input) {\n let output = input;\n\n const realNames = Object.values(window.nextgenEditor.shortcodes).map((shortcode) => shortcode.realName)\n .filter((value, index, self) => self.indexOf(value) === index);\n\n const openingRegexp = realNames\n .map((name) => `(\\\\[${name}[^\\\\]]*\\\\])`).join('|');\n\n realNames.forEach((name) => {\n const regexp = `\\\\[${name}(?(=| +).+?(?=/]))?\\\\/\\\\]`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n const groups = matches.pop();\n\n const attributes = groups.attributes.trim()\n ? `${groups.attributes}`\n : '';\n\n return `[${name}${attributes}][/${name}]`;\n });\n });\n\n const hashMap = {};\n let shortcodeCounter = 1;\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const regexp = `(? *)\\\\[${shortcode.realName}(?(=| +)[^\\\\]]*)?\\\\](?(((?!(${openingRegexp}|(\\\\[\\\\/${shortcode.realName}\\\\]))).)|\\\\n)*)\\\\[\\\\/${shortcode.realName}\\\\](? *)`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n shortcodeCounter += 1;\n\n const hash = Math.random().toString(36).slice(2);\n hashMap[hash] = { shortcode, matches };\n\n if (shortcode.child) {\n const childName = shortcode.child.realName;\n\n Object.keys(hashMap).forEach((childHash) => {\n const childShortcode = hashMap[childHash].shortcode;\n\n if (childShortcode === shortcode.child && childShortcode.name !== `${shortcode.realName}_${childName}` && matches[0].includes(childHash)) {\n hashMap[childHash].shortcode = window.nextgenEditor.shortcodes[`${shortcode.realName}_${childName}`];\n }\n });\n }\n\n return hash;\n });\n });\n }\n\n shortcodeCounter = 1;\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.keys(hashMap).forEach((hash) => {\n if (!output.includes(hash)) {\n return;\n }\n\n shortcodeCounter += 1;\n\n const { shortcode, matches } = hashMap[hash];\n const groups = matches.pop();\n\n const spacesBefore = groups.spaces_before.replace(/ /g, ' ');\n const spacesAfter = groups.spaces_after.replace(/ /g, ' ');\n\n if (shortcode.type === 'block') {\n let content = groups.content.trim();\n\n if (groups.spaces_before.length) {\n content = content.replace(new RegExp(`^( ){${groups.spaces_before.length}}`, 'gm'), '');\n }\n\n const replacement = `\\n\\n[${shortcode.name}${groups.attributes || ''}]\\n\\n${content}\\n\\n[/${shortcode.name}]\\n\\n`;\n\n output = output.replace(new RegExp(`(\\\\n)?(\\\\n)?${hash}(\\\\n)?(\\\\n)?`), replacement);\n }\n\n if (shortcode.type === 'inline') {\n output = output.replace(hash, `${spacesBefore}[${shortcode.name}${groups.attributes || ''}]${groups.content}[/${shortcode.name}]${spacesAfter}`);\n }\n });\n }\n\n output = output.replace(/^\\n\\n/, '').replace(/\\n\\n$/, '');\n\n return output;\n },\n});\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","module.exports = {};\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('some');\n\n// `Array.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","window.nextgenEditor.addHook('hookHTMLtoMarkdown', {\n weight: 50,\n handler(options, editor, input) {\n let output = input;\n\n const realNames = Object.values(window.nextgenEditor.shortcodes).map((shortcode) => shortcode.realName)\n .filter((value, index, self) => self.indexOf(value) === index);\n\n const openingRegexp = realNames\n .map((name) => `(\\\\[${name}[^\\\\]]*\\\\])`).join('|');\n\n const hashMap = {};\n let shortcodeCounter = 1;\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const regexp = `(?\\\\[${shortcode.realName}[^\\\\]]*\\\\])(?(((?!(${openingRegexp}|(\\\\[\\\\/${shortcode.realName}\\\\]))).)|\\\\n)*)(?\\\\[\\\\/${shortcode.realName}\\\\])`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n shortcodeCounter += 1;\n\n const hash = Math.random().toString(36).slice(2);\n hashMap[hash] = { shortcode, matches };\n\n if (shortcode.child) {\n const childName = shortcode.child.realName;\n\n Object.keys(hashMap).forEach((childHash) => {\n const childShortcode = hashMap[childHash].shortcode;\n\n if (childShortcode === shortcode.child && childShortcode.name !== `${shortcode.realName}_${childName}` && matches[0].includes(childHash)) {\n hashMap[childHash].shortcode = window.nextgenEditor.shortcodes[`${shortcode.realName}_${childName}`];\n }\n });\n }\n\n return hash;\n });\n });\n }\n\n shortcodeCounter = 1;\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.keys(hashMap).forEach((hash) => {\n if (!output.includes(hash)) {\n return;\n }\n\n shortcodeCounter += 1;\n\n const { shortcode, matches } = hashMap[hash];\n const groups = matches.pop();\n\n if (shortcode.type === 'block') {\n let content = groups.content.replace(/^\\n/, '').replace(/\\n$/, '');\n\n if (shortcode.child) {\n content = content.trim().split('\\n').filter((line) => !!line).join('\\n');\n content = `\\n${content}\\n`;\n }\n\n if (shortcode.parent) {\n content = `\\n${content}\\n`;\n }\n\n output = output.replace(hash, `${groups.opening}${content}${groups.closing}`);\n }\n\n if (shortcode.type === 'inline') {\n output = output.replace(hash, matches[0]);\n }\n });\n }\n\n /*\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const regexp = `(?\\\\[${shortcode.realName}[^\\\\]]*\\\\])\\n(?(((?!(${openingRegexp}|(\\\\[\\\\/${shortcode.realName}\\\\]))).))*)\\n(?\\\\[\\\\/${shortcode.realName}\\\\])`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n const groups = matches.pop();\n return `${groups.opening}${groups.content}${groups.closing}`;\n });\n });\n */\n\n return output;\n },\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function collapse(input) {\n let output = input;\n\n output = output.replace(/
((((?!(<\\/figure>)).)|\\n)*)<\\/figure>/gm, '$1');\n\n const domOutput = new DOMParser().parseFromString(output, 'text/html');\n\n [...domOutput.querySelectorAll('shortcode-block, shortcode-inline')].forEach((domShortcode) => {\n domShortcode.setAttribute('sc-rendered', false);\n });\n\n let domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]');\n\n while (domShortcode) {\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n\n domShortcode.removeAttribute('class');\n domShortcode.removeAttribute('sc-rendered');\n\n const domInnerContent = domShortcode.querySelector(`shortcode-${shortcode.type}-editable, shortcode-${shortcode.type}-readonly`);\n domShortcode.innerHTML = (domInnerContent && domInnerContent.innerHTML) || '';\n\n domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]');\n }\n\n output = domOutput.body.innerHTML;\n\n return output;\n}\n","export default function uncollapse(input, args) {\n const domOutput = new DOMParser().parseFromString(input, 'text/html');\n [...domOutput.querySelectorAll('shortcode-block, shortcode-inline')].forEach((domShortcode) => {\n domShortcode.setAttribute('sc-rendered', false);\n });\n\n let domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]');\n\n while (domShortcode) {\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n const attributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes')));\n\n domShortcode.classList.add('ck-shortcode');\n domShortcode.classList.add(`ck-shortcode-${shortcode.type}`);\n domShortcode.removeAttribute('sc-rendered');\n\n const argsForRender = {\n shortcode,\n attributes,\n innerHTML: domShortcode.innerHTML,\n parentAttributes: null,\n childAttributes: null,\n };\n\n let innerHTML = '';\n\n if (shortcode.type === 'block') {\n if (shortcode.parent) {\n domShortcode.classList.add('ck-shortcode-child');\n\n const domParentShortcode = domShortcode.closest(`shortcode-block[name=\"${shortcode.parent.name}\"]`);\n\n argsForRender.parentAttributes = !args || !args.parentAttributes\n ? domParentShortcode\n ? JSON.parse(decodeURIComponent(domParentShortcode.getAttribute('attributes')))\n : {}\n : args.parentAttributes;\n }\n\n if (shortcode.child) {\n argsForRender.childAttributes = [];\n domShortcode.classList.add('ck-shortcode-parent');\n\n const childNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block[name=\"${shortcode.child.name}\"]`)];\n const deepChildNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block shortcode-block[name=\"${shortcode.child.name}\"]`)];\n\n childNodes\n .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode))\n .forEach((domChildShortcode) => {\n const childAttributes = JSON.parse(decodeURIComponent(domChildShortcode.getAttribute('attributes')));\n argsForRender.childAttributes.push(childAttributes);\n });\n }\n\n /* eslint-disable indent, no-multi-spaces */\n innerHTML += '
';\n innerHTML += `
Shortcode - ${shortcode.title}
`;\n innerHTML += `
${shortcode.titlebar(argsForRender)}
`;\n innerHTML += '
';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '
';\n innerHTML += '
';\n innerHTML += '
';\n innerHTML += shortcode.content(argsForRender)\n .replace('{{content_editable}}', `${domShortcode.innerHTML}`)\n .replace('{{content_readonly}}', `${domShortcode.innerHTML}`);\n innerHTML += '
';\n\n if (shortcode.child) {\n const visible = !domShortcode.innerHTML ? ' sc-visible' : '';\n innerHTML += `
`;\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '
';\n }\n\n if (shortcode.parent) {\n ['before', 'after'].forEach((where) => {\n innerHTML += `
`;\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '
';\n });\n\n ['up', 'down'].forEach((where) => {\n innerHTML += `
`;\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '
';\n });\n }\n /* eslint-enable indent, no-multi-spaces */\n }\n\n if (shortcode.type === 'inline') {\n /* eslint-disable indent, no-multi-spaces */\n innerHTML += '';\n innerHTML += shortcode.content(argsForRender)\n .replace('{{content_editable}}', `${domShortcode.innerHTML}`)\n .replace('{{content_readonly}}', `${domShortcode.innerHTML}`);\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n /* eslint-enable indent, no-multi-spaces */\n }\n\n domShortcode.innerHTML = innerHTML;\n domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]');\n }\n\n return domOutput.body.innerHTML;\n}\n\ndocument.addEventListener('click', (event) => {\n const { target } = event;\n const list = ['sc-settings', 'sc-move', 'sc-add', 'sc-add-child'];\n const action = { element: null, className: null };\n const isAction = list.some((item) => {\n let match = target.classList.contains(item);\n\n if (match) {\n action.element = target;\n action.className = item;\n\n return true;\n }\n\n match = target.closest(`.${item}`);\n if (match) {\n action.element = match;\n action.className = item;\n\n return true;\n }\n\n return false;\n });\n\n if (isAction) {\n switch (action.className) {\n case 'sc-move':\n window.scBlockMoveChild.call(action.element, event, action.element.classList.contains('sc-move-up') ? 'up' : 'down');\n break;\n case 'sc-add':\n window.scBlockAddChild.call(action.element, event, action.element.classList.contains('sc-add-before') ? 'before' : 'after');\n break;\n case 'sc-add-child':\n window.scBlockAddChildFromParent.call(action.element, event);\n break;\n case 'sc-settings':\n default:\n window.scDisplaySettings.call(action.element, event);\n }\n }\n});\n","import collapse from './collapse';\nimport uncollapse from './uncollapse';\n\nconst Command = window.nextgenEditor.classes.core.command.class;\n\nwindow.nextgenEditor.addPlugin('GravShortcodeCoreCommand', {\n init() {\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const commandName = `shortcode_${shortcode.name}`;\n\n class GravShortcodeCoreCommand extends Command {\n execute(args) {\n this.editor.model.change((modelWriter) => {\n let dataShortcode = '';\n const argsForUncollapse = {};\n\n const wrapOnInsert = !shortcode.child && !shortcode.parent\n ? shortcode.wrapOnInsert !== undefined\n ? shortcode.wrapOnInsert\n : true\n : false;\n\n const selectedBlocks = [...this.editor.model.document.selection.getSelectedBlocks()];\n const selectedItems = [...this.editor.model.document.selection.getFirstRange().getItems({ shallow: true })];\n\n const firstSelectedBlock = selectedBlocks[0];\n const firstBlockSelectedItems = selectedItems.filter((item) => item.parent === firstSelectedBlock);\n\n const attributes = Object.keys(shortcode.attributes).reduce((acc, attrName) => {\n acc[attrName] = shortcode.attributes[attrName].default.value;\n return acc;\n }, {});\n\n dataShortcode += ``;\n\n if (wrapOnInsert) {\n if (shortcode.type === 'block') {\n const modelSelectedBlocks = modelWriter.createDocumentFragment();\n selectedBlocks.forEach((block) => modelWriter.append(modelWriter.cloneElement(block), modelSelectedBlocks));\n\n const viewSelectedBlocks = this.editor.data.toView(modelSelectedBlocks);\n const dataSelectedBlocks = this.editor.data.processor.toData(viewSelectedBlocks);\n\n dataShortcode += collapse(dataSelectedBlocks);\n }\n\n if (shortcode.type === 'inline') {\n const modelSelectedBlocks = modelWriter.createDocumentFragment();\n\n firstBlockSelectedItems.forEach((item) => {\n const block = item.textNode\n ? modelWriter.createText(item.data)\n : modelWriter.cloneElement(item);\n\n modelWriter.append(block, modelSelectedBlocks);\n });\n\n const viewSelectedBlocks = this.editor.data.toView(modelSelectedBlocks);\n const dataSelectedBlocks = this.editor.data.processor.toData(viewSelectedBlocks);\n\n dataShortcode += collapse(dataSelectedBlocks);\n }\n }\n\n if (shortcode.parent) {\n dataShortcode += '

 

';\n }\n\n dataShortcode += `
`;\n\n if (shortcode.parent) {\n if (args && args.modelParentShortcode) {\n argsForUncollapse.parentAttributes = JSON.parse(decodeURIComponent(args.modelParentShortcode.getAttribute('attributes')));\n }\n }\n\n dataShortcode = uncollapse(dataShortcode, argsForUncollapse);\n\n const convertContext = shortcode.type === 'inline'\n ? '$block'\n : '$root';\n\n const viewShortcode = this.editor.data.processor.toView(dataShortcode).getChild(0);\n const modelShortcode = this.editor.data.toModel(viewShortcode, convertContext).getChild(0);\n\n let insertPosition = modelWriter.createPositionAt(this.editor.model.document.getRoot(), 0);\n\n if (!args || !args.insertPosition) {\n if (shortcode.type === 'block') {\n const firstBlock = selectedBlocks[0];\n const lastBlock = selectedBlocks[selectedBlocks.length - 1];\n\n if (wrapOnInsert) {\n insertPosition = modelWriter.createPositionBefore(firstBlock);\n\n modelWriter.remove(\n modelWriter.createRange(\n modelWriter.createPositionBefore(firstBlock),\n modelWriter.createPositionAfter(lastBlock),\n ),\n );\n } else {\n insertPosition = modelWriter.createPositionAfter(lastBlock);\n\n if (lastBlock && lastBlock.name === 'paragraph' && lastBlock.childCount === 0) {\n insertPosition = modelWriter.createPositionBefore(lastBlock);\n modelWriter.remove(lastBlock);\n }\n }\n }\n\n if (shortcode.type === 'inline') {\n const firstItem = firstBlockSelectedItems.length\n ? firstBlockSelectedItems[0]\n : null;\n\n const lastItem = firstBlockSelectedItems.length\n ? firstBlockSelectedItems[firstBlockSelectedItems.length - 1]\n : null;\n\n if (wrapOnInsert) {\n insertPosition = firstItem\n ? modelWriter.createPositionBefore(firstItem)\n : this.editor.model.document.selection.getFirstPosition();\n\n if (firstItem) {\n modelWriter.remove(\n modelWriter.createRange(\n modelWriter.createPositionBefore(firstItem),\n modelWriter.createPositionAfter(lastItem),\n ),\n );\n }\n } else {\n insertPosition = lastItem\n ? modelWriter.createPositionAfter(lastItem)\n : this.editor.model.document.selection.getFirstPosition();\n }\n }\n } else {\n insertPosition = args.insertPosition;\n }\n\n modelWriter.insert(modelShortcode, insertPosition);\n modelWriter.setSelection(modelShortcode, 'on');\n });\n }\n }\n\n this.editor.commands.add(commandName, new GravShortcodeCoreCommand(this.editor));\n });\n },\n});\n","import collapse from './collapse';\nimport uncollapse from './uncollapse';\n\nconst { showSettingsPopup } = window.nextgenEditor.exports;\n\nexport default function displaySettings(domShortcode) {\n const { editors } = window.nextgenEditor;\n const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift();\n\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n const plugin = window.nextgenEditor.shortcodePlugins[shortcode.plugin];\n\n if (editor) {\n const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode);\n let modelShortcode = editor.editing.mapper.toModelElement(viewShortcode);\n\n const currentAttributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes')));\n\n const domDisplayPoint = shortcode.type === 'block'\n ? domShortcode.querySelector('.sc-header > .sc-settings')\n : domShortcode;\n\n const title = []\n .concat([\n (plugin && plugin.title) || '',\n (shortcode.parent && shortcode.parent.title) || '',\n shortcode.title || '',\n ])\n .filter((item) => !!item)\n .join(' / ');\n\n const argsForPopup = {\n title,\n domDisplayPoint,\n debounceDelay: 1000,\n attributes: shortcode.attributes,\n currentAttributes,\n parentAttributes: null,\n childAttributes: null,\n };\n\n if (shortcode.parent) {\n const domParentShortcode = domShortcode.closest(`shortcode-block[name=\"${shortcode.parent.name}\"]`);\n\n argsForPopup.parentAttributes = domParentShortcode\n ? JSON.parse(decodeURIComponent(domParentShortcode.getAttribute('attributes')))\n : {};\n }\n\n if (shortcode.child) {\n argsForPopup.childAttributes = [];\n\n const childNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block[name=\"${shortcode.child.name}\"]`)];\n const deepChildNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block shortcode-block[name=\"${shortcode.child.name}\"]`)];\n\n childNodes\n .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode))\n .forEach((domChildShortcode) => {\n const childAttributes = JSON.parse(decodeURIComponent(domChildShortcode.getAttribute('attributes')));\n argsForPopup.childAttributes.push(childAttributes);\n });\n }\n\n argsForPopup.deleteItem = () => editor.execute('delete');\n\n argsForPopup.changeAttributes = () => {\n editor.model.change((modelWriter) => {\n modelWriter.setAttribute('attributes', encodeURIComponent(JSON.stringify(currentAttributes)), modelShortcode);\n\n const convertContext = shortcode.type === 'inline'\n ? '$block'\n : '$root';\n\n if (shortcode.parent) {\n const viewOldShortcode = editor.editing.mapper.toViewElement(modelShortcode);\n const domOldShortcode = editor.editing.view.domConverter.mapViewToDom(viewOldShortcode);\n\n if (!domOldShortcode) {\n return;\n }\n\n const domOldParentShortcode = domOldShortcode.parentNode.closest('shortcode-block');\n const viewOldParentShortcode = editor.editing.view.domConverter.mapDomToView(domOldParentShortcode);\n const modelOldParentShortcode = editor.editing.mapper.toModelElement(viewOldParentShortcode);\n\n const childNodes = [...domOldParentShortcode.querySelectorAll('shortcode-block shortcode-block')];\n const deepChildNodes = [...domOldParentShortcode.querySelectorAll('shortcode-block shortcode-block shortcode-block')];\n\n const childIndex = childNodes\n .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode))\n .indexOf(domOldShortcode);\n\n const insertPosition = modelWriter.createPositionBefore(modelOldParentShortcode);\n const modelOldParentClonedShortcode = modelWriter.cloneElement(modelOldParentShortcode);\n\n const modelOldParentFragment = modelWriter.createDocumentFragment();\n modelWriter.append(modelOldParentClonedShortcode, modelOldParentFragment);\n\n const viewOldParentClonedShortcode = editor.data.toView(modelOldParentFragment).getChild(0);\n const dataOldParentClonedShortcode = editor.data.processor.toData(viewOldParentClonedShortcode);\n\n const dataNewParentShortcode = uncollapse(collapse(dataOldParentClonedShortcode));\n const viewNewParentShortcode = editor.data.processor.toView(dataNewParentShortcode).getChild(0);\n const modelNewParentShortcode = editor.data.toModel(viewNewParentShortcode, convertContext).getChild(0);\n\n modelWriter.remove(modelOldParentShortcode);\n modelWriter.insert(modelNewParentShortcode, insertPosition);\n\n setTimeout(() => {\n const viewParentShortcode = editor.editing.mapper.toViewElement(modelNewParentShortcode);\n const domParentShortcode = editor.editing.view.domConverter.mapViewToDom(viewParentShortcode);\n\n const childNewNodes = [...domParentShortcode.querySelectorAll('shortcode-block shortcode-block')];\n const deepNewChildNodes = [...domParentShortcode.querySelectorAll('shortcode-block shortcode-block shortcode-block')];\n\n const domNewShortcode = childNewNodes.filter((domChildShortcode) => !deepNewChildNodes.includes(domChildShortcode))[childIndex];\n const viewNewShortcode = editor.editing.view.domConverter.mapDomToView(domNewShortcode);\n const modelNewShortcode = editor.editing.mapper.toModelElement(viewNewShortcode);\n\n editor.model.change((modelWriter2) => {\n modelWriter2.setSelection(modelNewShortcode, 'on');\n modelShortcode = modelNewShortcode;\n });\n });\n\n return;\n }\n\n const insertPosition = modelWriter.createPositionBefore(modelShortcode);\n const modelOldShortcode = modelWriter.cloneElement(modelShortcode);\n\n const modelOldFragment = modelWriter.createDocumentFragment();\n modelWriter.append(modelOldShortcode, modelOldFragment);\n\n const viewOldShortcode = editor.data.toView(modelOldFragment).getChild(0);\n const dataOldShortcode = editor.data.processor.toData(viewOldShortcode);\n\n const dataNewShortcode = uncollapse(collapse(dataOldShortcode));\n const viewNewShortcode = editor.data.processor.toView(dataNewShortcode).getChild(0);\n const modelNewShortcode = editor.data.toModel(viewNewShortcode, convertContext).getChild(0);\n\n modelWriter.remove(modelShortcode);\n modelWriter.insert(modelNewShortcode, insertPosition);\n modelWriter.setSelection(modelNewShortcode, 'on');\n\n modelShortcode = modelNewShortcode;\n });\n };\n\n showSettingsPopup(argsForPopup);\n }\n}\n","import displaySettings from './settings';\n\nwindow.scDisplaySettings = function scDisplaySettings() {\n const domShortcode = this.closest('shortcode-block, shortcode-inline');\n\n if (domShortcode) {\n displaySettings(domShortcode);\n }\n};\n\nwindow.scBlockAddChildFromParent = function scBlockAddChildFromParent() {\n const { editors } = window.nextgenEditor;\n\n const domShortcode = this.parentNode;\n const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift();\n\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n\n if (editor) {\n const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode);\n const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode);\n\n const domShortcodeBlockReadOnly = domShortcode.querySelector('shortcode-block-readonly');\n const viewShortcodeBlockReadOnly = editor.editing.view.domConverter.mapDomToView(domShortcodeBlockReadOnly);\n const modelShortcodeBlockReadOnly = editor.editing.mapper.toModelElement(viewShortcodeBlockReadOnly);\n\n editor.model.change((modelWriter) => {\n const insertPosition = modelWriter.createPositionAt(modelShortcodeBlockReadOnly, 0);\n editor.execute(`shortcode_${shortcode.child.name}`, { insertPosition, modelParentShortcode: modelShortcode });\n\n domShortcode.querySelector('.sc-add-child').classList.remove('sc-visible');\n });\n }\n};\n\nwindow.scBlockAddChild = function scBlockAddChild(event, where) {\n const { editors } = window.nextgenEditor;\n\n const domShortcode = this.parentNode;\n const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift();\n\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n\n if (editor) {\n const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode);\n const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode);\n\n editor.model.change((modelWriter) => {\n let modelParentShortcode = modelShortcode.parent;\n const insertPosition = modelWriter.createPositionAt(modelShortcode, where);\n\n while (modelParentShortcode && modelParentShortcode.name !== 'shortcode-block') {\n modelParentShortcode = modelParentShortcode.parent;\n }\n\n if (modelParentShortcode) {\n editor.execute(`shortcode_${shortcode.name}`, { insertPosition, modelParentShortcode });\n }\n });\n }\n};\n\nwindow.scBlockMoveChild = function scBlockMove(event, where) {\n const { editors } = window.nextgenEditor;\n\n const domShortcode = this.parentNode;\n const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift();\n\n if (editor) {\n const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode);\n const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode);\n\n const domSiblingShortcode = where === 'up'\n ? domShortcode.previousSibling\n : domShortcode.nextSibling;\n\n const viewSiblingShortcode = editor.editing.view.domConverter.mapDomToView(domSiblingShortcode);\n const modelSiblingShortcode = editor.editing.mapper.toModelElement(viewSiblingShortcode);\n\n editor.model.change((modelWriter) => {\n modelWriter.move(modelWriter.createRangeOn(modelShortcode), modelSiblingShortcode, where === 'up' ? 'before' : 'after');\n });\n }\n};\n","import uncollapse from './uncollapse';\n\nwindow.nextgenEditor.addHook('hookMarkdowntoHTML', {\n weight: 50,\n handler(options, input) {\n let output = input;\n\n let shortcodeCounter = 1;\n const openingRegexp = Object.keys(window.nextgenEditor.shortcodes).map((name) => `(\\\\[${name}[^\\\\]]*\\\\])`).join('|');\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const regexp = `(?

)?\\\\[${shortcode.name}(?(=| +)[^\\\\]]*)?\\\\](<\\\\/p>)?(?(((?!(${openingRegexp}|(\\\\[\\\\/${shortcode.name}\\\\]))).)|\\\\n)*)\\\\[\\\\/${shortcode.name}\\\\](?<\\\\/p>)?`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n shortcodeCounter += 1;\n\n const groups = matches.pop();\n\n let content = shortcode.type === 'block'\n ? groups.content.replace(/

$/, '')\n : groups.content;\n\n const bbcode = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].bbcode && shortcode.attributes[attrName].shorthand && attrName), '');\n const innerHTMLAttribute = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].innerHTML && attrName), '');\n\n let attrGroup = bbcode && groups.attributes && groups.attributes.startsWith('=')\n ? `${bbcode}${groups.attributes}`\n : groups.attributes || '';\n\n if (innerHTMLAttribute) {\n const innerHTML = shortcode.type === 'block'\n ? content.replace(/^

/, '').replace(/<\\/p>$/, '').replace(/^ $/, '')\n : content.replace(/^ $/, '');\n\n attrGroup = attrGroup\n ? `${attrGroup} ${innerHTMLAttribute}=\"${innerHTML}\"`\n : `${innerHTMLAttribute}=\"${innerHTML}\"`;\n\n content = '';\n }\n\n const domAttributes = new DOMParser().parseFromString(`

`, 'text/html').body.firstChild.attributes;\n\n const attributes = Object.keys(shortcode.attributes).reduce((acc, attrName) => {\n const attribute = shortcode.attributes[attrName];\n\n let attrValue = domAttributes.getNamedItem(attrName)\n ? domAttributes.getNamedItem(attrName).value\n : attribute.default.value;\n\n if (attribute.type === Boolean && domAttributes.getNamedItem(attrName)) {\n attrValue = domAttributes.getNamedItem(attrName) !== 'false';\n }\n\n if (attribute.type === Number) {\n attrValue = +attrValue;\n }\n\n acc[attrName] = attrValue;\n\n return acc;\n }, {});\n\n let replacement = '';\n\n const attributesEncoded = encodeURIComponent(JSON.stringify(attributes));\n\n if (shortcode.type === 'block') {\n replacement += ``;\n replacement += content;\n replacement += '';\n }\n\n if (shortcode.type === 'inline') {\n replacement += groups.p1 || '';\n replacement += ``;\n replacement += content;\n replacement += '';\n replacement += groups.p2 || '';\n }\n\n return replacement;\n });\n });\n }\n\n output = uncollapse(output);\n\n return output;\n },\n});\n","import collapse from './collapse';\n\nwindow.nextgenEditor.addHook('hookHTMLtoMarkdown', {\n weight: -50,\n handler(options, editor, input) {\n let output = input;\n\n output = collapse(output);\n\n const domOutput = new DOMParser().parseFromString(output, 'text/html');\n\n let domShortcode = domOutput.querySelector('shortcode-block, shortcode-inline');\n\n while (domShortcode) {\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n const attributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes')));\n\n const innerHTMLAttribute = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].innerHTML && attrName), '');\n\n const attrLine = Object.keys(shortcode.attributes).reduce((acc, attrName) => {\n const attribute = shortcode.attributes[attrName];\n\n if (attribute.type === Boolean) {\n return attributes[attrName]\n ? `${acc} ${attrName}`\n : acc;\n }\n\n if (attributes[attrName] === attribute.default.value && !attribute.default.preserve) {\n return acc;\n }\n\n if (attribute.bbcode && attribute.shorthand) {\n return `=\"${attributes[attrName]}\"${acc}`;\n }\n\n if (attribute.innerHTML) {\n return acc;\n }\n\n return `${acc} ${attrName}=\"${attributes[attrName]}\"`;\n }, '');\n\n if (shortcode.type === 'block') {\n if (domShortcode.innerHTML === '

 

') {\n domShortcode.innerHTML = '';\n }\n\n if (innerHTMLAttribute) {\n domShortcode.outerHTML = `

[${shortcode.realName}${attrLine}]${attributes[innerHTMLAttribute]}[/${shortcode.realName}]

`;\n } else if (domShortcode.innerHTML) {\n domShortcode.outerHTML = `

[${shortcode.realName}${attrLine}]

${domShortcode.innerHTML}

[/${shortcode.realName}]

`;\n } else {\n domShortcode.outerHTML = `

[${shortcode.realName}${attrLine} /]

`;\n }\n }\n\n if (shortcode.type === 'inline') {\n if (domShortcode.innerHTML === ' ') {\n domShortcode.innerHTML = '';\n }\n\n if (innerHTMLAttribute) {\n domShortcode.outerHTML = `[${shortcode.realName}${attrLine}]${attributes[innerHTMLAttribute]}[/${shortcode.realName}]`;\n } else if (domShortcode.innerHTML) {\n domShortcode.outerHTML = `[${shortcode.realName}${attrLine}]${domShortcode.innerHTML}[/${shortcode.realName}]`;\n } else {\n domShortcode.outerHTML = `[${shortcode.realName}${attrLine} /]`;\n }\n }\n\n domShortcode = domOutput.querySelector('shortcode-block, shortcode-inline');\n }\n\n output = domOutput.body.innerHTML;\n\n return output;\n },\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$
') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","window.nextgenEditor.addHook('hookInit', () => {\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n shortcode.attributes = shortcode.attributes || {};\n\n if (!shortcode.button) {\n shortcode.button = { label: shortcode.title };\n }\n\n Object.values(shortcode.attributes).forEach((attribute) => {\n if (attribute.default === undefined) {\n attribute.default = '';\n }\n if (typeof attribute.default !== 'object') {\n attribute.default = { value: attribute.default };\n }\n if (attribute.shorthand === undefined) {\n attribute.shorthand = true;\n }\n });\n\n if (shortcode.type === 'block' && !shortcode.titlebar) {\n shortcode.titlebar = () => '';\n }\n if (!shortcode.content) {\n shortcode.content = () => '';\n }\n\n if (shortcode.preserve) {\n if (shortcode.preserve.block) {\n window.nextgenEditor.addVariable('preserveBlockTags', shortcode.preserve.block);\n }\n\n if (shortcode.preserve.inline) {\n window.nextgenEditor.addVariable('preserveInlineTags', shortcode.preserve.inline);\n }\n }\n\n if (!shortcode.parent) {\n window.nextgenEditor.addButton(`shortcode_${shortcode.name}`, {\n command: `shortcode_${shortcode.name}`,\n ...shortcode.button,\n });\n }\n });\n});\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var defineProperty = require(\"./defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread2;","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","const Widget = window.nextgenEditor.classes.widget.class;\nconst { toWidget, toWidgetEditable } = window.nextgenEditor.classes.widget.utils;\n\nwindow.nextgenEditor.addPlugin('GravShortcodeCoreConvertersBlock', {\n requires: [Widget],\n init() {\n this.editor.model.schema.register('shortcode-block', {\n isBlock: true,\n isObject: true,\n allowWhere: '$block',\n allowContentOf: '$root',\n allowAttributes: [\n 'name',\n 'attributes',\n 'class',\n ],\n });\n\n this.editor.conversion.for('upcast').elementToElement({\n view: 'shortcode-block',\n model(viewElement, { writer }) {\n return writer.createElement('shortcode-block', viewElement.getAttributes());\n },\n });\n\n this.editor.conversion.for('dataDowncast').elementToElement({\n model: 'shortcode-block',\n view(modelElement, { writer }) {\n return writer.createContainerElement('shortcode-block', modelElement.getAttributes());\n },\n });\n\n this.editor.conversion.for('editingDowncast').elementToElement({\n model: 'shortcode-block',\n view(modelElement, { writer }) {\n const container = writer.createContainerElement('shortcode-block', modelElement.getAttributes());\n return toWidget(container, writer);\n },\n });\n\n this.editor.model.schema.register('shortcode-block-editable', {\n isLimit: true,\n allowWhere: '$block',\n allowContentOf: '$root',\n });\n\n this.editor.conversion.for('upcast').elementToElement({\n view: 'shortcode-block-editable',\n model: 'shortcode-block-editable',\n });\n\n this.editor.conversion.for('dataDowncast').elementToElement({\n model: 'shortcode-block-editable',\n view: 'shortcode-block-editable',\n });\n\n this.editor.conversion.for('editingDowncast').elementToElement({\n model: 'shortcode-block-editable',\n view(modelElement, { writer }) {\n const container = writer.createEditableElement('shortcode-block-editable', modelElement.getAttributes());\n return toWidgetEditable(container, writer);\n },\n });\n\n this.editor.model.schema.register('shortcode-block-readonly', {\n isLimit: true,\n allowWhere: '$block',\n allowContentOf: '$root',\n });\n\n this.editor.conversion.elementToElement({\n view: 'shortcode-block-readonly',\n model: 'shortcode-block-readonly',\n });\n },\n});\n\nwindow.nextgenEditor.addPlugin('GravShortcodeCoreConvertersInline', {\n requires: [Widget],\n init() {\n this.editor.model.schema.register('shortcode-inline', {\n isObject: true,\n isInline: true,\n allowWhere: '$text',\n allowContentOf: '$block',\n allowAttributes: [\n 'name',\n 'attributes',\n 'class',\n ],\n });\n\n this.editor.conversion.for('upcast').elementToElement({\n view: 'shortcode-inline',\n model(viewElement, { writer }) {\n return writer.createElement('shortcode-inline', viewElement.getAttributes());\n },\n });\n\n this.editor.conversion.for('dataDowncast').elementToElement({\n model: 'shortcode-inline',\n view(modelElement, { writer }) {\n return writer.createContainerElement('shortcode-inline', modelElement.getAttributes());\n },\n });\n\n this.editor.conversion.for('editingDowncast').elementToElement({\n model: 'shortcode-inline',\n view(modelElement, { writer }) {\n const container = writer.createContainerElement('shortcode-inline', modelElement.getAttributes());\n return toWidget(container, writer);\n },\n });\n\n this.editor.model.schema.register('shortcode-inline-editable', {\n isLimit: true,\n allowWhere: '$text',\n allowContentOf: '$block',\n });\n\n this.editor.conversion.for('upcast').elementToElement({\n view: 'shortcode-inline-editable',\n model: 'shortcode-inline-editable',\n });\n\n this.editor.conversion.for('dataDowncast').elementToElement({\n model: 'shortcode-inline-editable',\n view: 'shortcode-inline-editable',\n });\n\n this.editor.conversion.for('editingDowncast').elementToElement({\n model: 'shortcode-inline-editable',\n view(modelElement, { writer }) {\n const container = writer.createEditableElement('shortcode-inline-editable', modelElement.getAttributes());\n return toWidgetEditable(container, writer);\n },\n });\n\n this.editor.model.schema.register('shortcode-inline-readonly', {\n isLimit: true,\n allowWhere: '$text',\n allowContentOf: '$block',\n });\n\n this.editor.conversion.elementToElement({\n view: 'shortcode-inline-readonly',\n model: 'shortcode-inline-readonly',\n });\n },\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/shortcode-core/nextgen-editor/package.json b/plugins/shortcode-core/nextgen-editor/package.json deleted file mode 100644 index 6a3586f..0000000 --- a/plugins/shortcode-core/nextgen-editor/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "nextgen-editor", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "vue-cli-service serve", - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", - "lint": "vue-cli-service lint" - }, - "devDependencies": { - "@vue/cli-plugin-babel": "~4.5.13", - "@vue/cli-plugin-eslint": "~4.5.13", - "@vue/cli-service": "~4.5.13", - "@vue/eslint-config-airbnb": "^5.3.0", - "babel-eslint": "^10.1.0", - "directory-named-webpack-plugin": "^4.0.1", - "eslint": "^7.32.0", - "eslint-plugin-import": "^2.24.2", - "eslint-plugin-vue": "^7.18.0", - "node-sass": "^6.0.1", - "sass-loader": "^12.1.0" - } -} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/align/align.js b/plugins/shortcode-core/nextgen-editor/shortcodes/align/align.js deleted file mode 100644 index 179dce3..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/align/align.js +++ /dev/null @@ -1,55 +0,0 @@ -window.nextgenEditor.addHook('hookInit', () => { - window.nextgenEditor.addButtonGroup('shortcode-core-align', { - icon: '', - label: 'SC Align', - }); -}); - -window.nextgenEditor.addShortcode('left', { - type: 'block', - plugin: 'shortcode-core', - title: 'Align Left', - button: { - group: 'shortcode-core-align', - label: 'Align Left', - }, - content() { - return '
{{content_editable}}
'; - }, -}); - -window.nextgenEditor.addShortcode('center', { - type: 'block', - title: 'Align Center', - button: { - group: 'shortcode-core-align', - label: 'Align Center', - }, - content() { - return '
{{content_editable}}
'; - }, -}); - -window.nextgenEditor.addShortcode('right', { - type: 'block', - title: 'Align Right', - button: { - group: 'shortcode-core-align', - label: 'Align Right', - }, - content() { - return '
{{content_editable}}
'; - }, -}); - -window.nextgenEditor.addShortcode('justify', { - type: 'block', - title: 'Justify', - button: { - group: 'shortcode-core-align', - label: 'Justify', - }, - content() { - return '
{{content_editable}}
'; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/color/color.js b/plugins/shortcode-core/nextgen-editor/shortcodes/color/color.js deleted file mode 100644 index d4ef4b1..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/color/color.js +++ /dev/null @@ -1,22 +0,0 @@ -window.nextgenEditor.addShortcode('color', { - type: 'inline', - plugin: 'shortcode-core', - title: 'Color', - button: { - group: 'shortcode-core', - label: 'Color', - icon: '', - }, - attributes: { - color: { - type: String, - title: 'Color', - bbcode: true, - widget: 'input-text', - default: '', - }, - }, - content({ attributes }) { - return `{{content_editable}}`; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/columns/columns.js b/plugins/shortcode-core/nextgen-editor/shortcodes/columns/columns.js deleted file mode 100644 index 771e7ed..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/columns/columns.js +++ /dev/null @@ -1,58 +0,0 @@ -window.nextgenEditor.addShortcode('columns', { - type: 'block', - plugin: 'shortcode-core', - title: 'Columns', - button: { - group: 'shortcode-core', - label: 'Columns', - icon: '', - }, - attributes: { - count: { - type: Number, - title: 'Count', - widget: { - type: 'input-number', - min: 1, - max: 12, - }, - default: 2, - }, - width: { - type: String, - title: 'Width', - widget: 'input-text', - default: 'auto', - }, - gap: { - type: String, - title: 'Gap', - widget: 'input-text', - default: 'normal', - }, - rule: { - type: String, - title: 'Rule', - widget: 'input-text', - default: '', - }, - }, - titlebar({ attributes }) { - return `columns: ${attributes.count}`; - }, - content({ attributes }) { - const styles = [] - .concat([ - `columns:${attributes.count} ${attributes.width}`, - `-moz-columns:${attributes.count} ${attributes.width}`, - `column-gap:${attributes.gap}`, - `-moz-column-gap:${attributes.gap}`, - attributes.rule ? `column-rule:${attributes.rule}` : null, - attributes.rule ? `-moz-column-rule:${attributes.rule}` : null, - ]) - .filter((item) => !!item) - .join(';'); - - return `
{{content_editable}}
`; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.css b/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.css deleted file mode 100644 index efecd45..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.css +++ /dev/null @@ -1,8 +0,0 @@ -shortcode-block[name="details"] summary { - margin: 8px 8px; -} - -shortcode-block[name="details"] summary > p { - display: inline; - margin: 0; -} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.js b/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.js deleted file mode 100644 index 4109ed6..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.js +++ /dev/null @@ -1,50 +0,0 @@ -window.nextgenEditor.addShortcode('details', { - type: 'block', - plugin: 'shortcode-core', - title: 'Details', - button: { - group: 'shortcode-core', - label: 'Details', - icon: '', - }, - attributes: { - summary: { - type: String, - title: 'Summary', - bbcode: true, - widget: 'input-text', - default: '', - }, - class: { - type: String, - title: 'Class', - widget: 'input-text', - default: '', - }, - }, - titlebar({ attributes }) { - return attributes.class - ? `class: ${attributes.class}` - : ''; - }, - content({ attributes }) { - let output = ''; - - output += `
`; - - if (attributes.summary) { - output += `${attributes.summary}`; - } - - output += '{{content_editable}}'; - output += '
'; - - return output; - }, - preserve: { - block: [ - 'details', - 'summary', - ], - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/div/div.js b/plugins/shortcode-core/nextgen-editor/shortcodes/div/div.js deleted file mode 100644 index c1db19c..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/div/div.js +++ /dev/null @@ -1,47 +0,0 @@ -window.nextgenEditor.addShortcode('div', { - type: 'block', - plugin: 'shortcode-core', - title: 'Div', - button: { - group: 'shortcode-core', - label: 'Div', - icon: '', - }, - attributes: { - id: { - type: String, - title: 'ID', - widget: 'input-text', - default: '', - }, - class: { - type: String, - title: 'Class', - widget: 'input-text', - default: '', - }, - style: { - type: String, - title: 'Style', - widget: 'input-text', - default: '', - }, - }, - titlebar({ attributes }) { - return [] - .concat([ - attributes.id ? `id: ${attributes.id}` : null, - attributes.class ? `class: ${attributes.class}` : null, - attributes.style ? `style: ${attributes.style}` : null, - ]) - .filter((item) => !!item) - .join(', '); - }, - content({ attributes }) { - const id = attributes.id || ''; - const cclass = attributes.class || ''; - const style = attributes.style || ''; - - return `
{{content_editable}}
`; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/figure/figure.js b/plugins/shortcode-core/nextgen-editor/shortcodes/figure/figure.js deleted file mode 100644 index 18c32d8..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/figure/figure.js +++ /dev/null @@ -1,46 +0,0 @@ -window.nextgenEditor.addShortcode('figure', { - type: 'block', - plugin: 'shortcode-core', - title: 'Figure', - button: { - group: 'shortcode-core', - label: 'Figure', - icon: '', - }, - attributes: { - id: { - type: String, - title: 'ID', - widget: 'input-text', - default: '', - }, - class: { - type: String, - title: 'Class', - widget: 'input-text', - default: '', - }, - caption: { - type: String, - title: 'Caption', - widget: 'input-text', - default: '', - }, - }, - titlebar({attributes }) { - return [] - .concat([ - attributes.id ? `id: ${attributes.id}` : null, - attributes.class ? `class: ${attributes.class}` : null, - ]) - .filter((item) => !!item) - .join(', '); - }, - content({ attributes }) { - const id = attributes.id || ''; - const cclass = attributes.class || ''; - const caption = attributes.caption || ''; - - return `
{{content_editable}}
${caption}
`; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js b/plugins/shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js deleted file mode 100644 index 222b9ae..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js +++ /dev/null @@ -1,50 +0,0 @@ -window.nextgenEditor.addShortcode('fa', { - type: 'inline', - plugin: 'shortcode-core', - title: 'Font Awesome', - wrapOnInsert: false, - button: { - group: 'shortcode-core', - label: 'Font Awesome', - icon: '', - }, - attributes: { - icon: { - type: String, - title: 'Icon', - bbcode: true, - widget: 'input-text', - default: 'grav', - }, - extras: { - type: String, - title: 'Extras', - widget: 'input-text', - default: '', - }, - }, - content({ attributes }) { - let faclass = 'fa'; - - let icon = attributes.icon && !attributes.icon.startsWith('fa-') - ? `fa-${attributes.icon}` - : attributes.icon; - - if (attributes.extras) { - attributes.extras.split(',').forEach((extra) => { - if (extra) { - if (['fab', 'fal', 'fas', 'far', 'fad'].includes(extra)) { - faclass = extra; - return; - } - - icon += !extra.startsWith('fa-') - ? ` fa-${extra}` - : ` ${extra}`; - } - }); - } - - return ``; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.css b/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.css deleted file mode 100644 index b525e94..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.css +++ /dev/null @@ -1,32 +0,0 @@ -shortcode-block[name="h1"] .sc-content, -shortcode-block[name="h2"] .sc-content, -shortcode-block[name="h3"] .sc-content, -shortcode-block[name="h4"] .sc-content, -shortcode-block[name="h5"] .sc-content, -shortcode-block[name="h6"] .sc-content { - font-weight: 700; -} - -shortcode-block[name="h1"] .sc-content { - font-size: 30px; -} - -shortcode-block[name="h2"] .sc-content { - font-size: 24px; -} - -shortcode-block[name="h3"] .sc-content { - font-size: 20px; -} - -shortcode-block[name="h4"] .sc-content { - font-size: 18px; -} - -shortcode-block[name="h5"] .sc-content { - font-size: 16px; -} - -shortcode-block[name="h6"] .sc-content { - font-size: 14px; -} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.js b/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.js deleted file mode 100644 index b5c5973..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.js +++ /dev/null @@ -1,47 +0,0 @@ -window.nextgenEditor.addHook('hookInit', () => { - window.nextgenEditor.addButtonGroup('shortcode-core-headers', { - icon: '', - label: 'SC Headers', - }); -}); - -for (let i = 1; i <= 6; i += 1) { - window.nextgenEditor.addShortcode(`h${i}`, { - type: 'block', - plugin: 'shortcode-core', - title: `H${i}`, - button: { - group: 'shortcode-core-headers', - label: `H${i}`, - }, - attributes: { - id: { - type: String, - title: 'ID', - widget: 'input-text', - default: '', - }, - class: { - type: String, - title: 'Class', - widget: 'input-text', - default: '', - }, - }, - titlebar({ attributes }) { - return [] - .concat([ - attributes.id ? `id: ${attributes.id}` : null, - attributes.class ? `class: ${attributes.class}` : null, - ]) - .filter((item) => !!item) - .join(', '); - }, - content({ attributes }) { - const id = attributes.id || ''; - const cclass = attributes.class || ''; - - return `
{{content_editable}}
`; - }, - }); -} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/language/language.js b/plugins/shortcode-core/nextgen-editor/shortcodes/language/language.js deleted file mode 100644 index 7806879..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/language/language.js +++ /dev/null @@ -1,25 +0,0 @@ -window.nextgenEditor.addShortcode('lang', { - type: 'block', - plugin: 'shortcode-core', - title: 'Language', - button: { - group: 'shortcode-core', - label: 'Language', - icon: '', - }, - attributes: { - lang: { - type: String, - title: 'Language', - bbcode: true, - widget: 'input-text', - default: 'en', - }, - }, - titlebar({ attributes }) { - return `language: ${attributes.lang}`; - }, - content() { - return '{{content_editable}}'; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js b/plugins/shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js deleted file mode 100644 index 10308be..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js +++ /dev/null @@ -1,80 +0,0 @@ -const sentence = 'Lorem ipsum dolor sit amet consectetur adipiscing elit, molestie tortor cubilia eu facilisi ex varius, convallis pretium dapibus fusce porta ligula.'; -const words = [].concat(...Array(1000).fill(sentence.toLowerCase().replace(/[.|,]/g, '').split(' '))); -const paragraph = Array(2).fill(sentence).join(' '); - -window.nextgenEditor.addShortcode('lorem', { - type: 'block', - plugin: 'shortcode-core', - title: 'Lorem', - wrapOnInsert: false, - button: { - group: 'shortcode-core', - label: 'Lorem', - icon: '', - }, - attributes: { - p: { - type: Number, - title: 'Paragraphs', - bbcode: true, - widget: { - type: 'input-number', - min: 0, - max: 10, - }, - default: 2, - }, - tag: { - type: String, - title: 'Tag', - widget: 'input-text', - default: 'p', - }, - s: { - type: Number, - title: 'Sentences', - widget: 'input-number', - default: 0, - }, - w: { - type: Number, - title: 'Words', - widget: 'input-number', - default: 0, - }, - }, - titlebar({ attributes }) { - if (attributes.w) { - return `words: ${attributes.w}`; - } - - if (attributes.s) { - return `sentences: ${attributes.s}`; - } - - if (attributes.p) { - return `paragraphs: ${attributes.p}`; - } - - return ''; - }, - content({ attributes }) { - let output = ''; - - output += '
'; - - if (attributes.w) { - output += words.slice(0, attributes.w).join(' '); - } else if (attributes.s) { - output += Array(attributes.s).fill(sentence).join(' '); - } else if (attributes.p) { - [...Array(attributes.p)].forEach(() => { - output += `

${paragraph}

`; - }); - } - - output += '
'; - - return output; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.css b/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.css deleted file mode 100644 index 9a52c5e..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.css +++ /dev/null @@ -1,7 +0,0 @@ -shortcode-inline[name="mark"] > .sc-content > span { - background: #ffe9b3; - border-bottom: .05rem solid #ffd367; - border-radius: .1rem; - color: #50596c; - padding: .05rem .1rem 0; -} \ No newline at end of file diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.js b/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.js deleted file mode 100644 index 903a1e0..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.js +++ /dev/null @@ -1,49 +0,0 @@ -window.nextgenEditor.addShortcode('mark', { - type: 'inline', - plugin: 'shortcode-core', - title: 'Mark', - button: { - group: 'shortcode-core', - label: 'Mark', - icon: '', - }, - attributes: { - style: { - type: String, - title: 'Style', - bbcode: true, - widget: { - type: 'radios', - values: [ - { value: 'inline', label: 'Inline' }, - { value: 'block', label: 'Block' }, - ], - }, - default: 'inline', - }, - class: { - type: String, - title: 'Class', - widget: 'input-text', - default: '', - }, - }, - titlebar({ attributes }) { - return [] - .concat([ - attributes.style ? `style: ${attributes.style}` : null, - attributes.class ? `class: ${attributes.class}` : null, - ]) - .filter((item) => !!item) - .join(', '); - }, - content({ attributes }) { - const style = attributes.style === 'block' - ? 'display:block' - : ''; - - const cclass = `mark-class-${attributes.class}`; - - return `{{content_editable}}`; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.css b/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.css deleted file mode 100644 index 8f0d2e8..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.css +++ /dev/null @@ -1,63 +0,0 @@ -shortcode-block[name="notice"] .sc-notice { - color: #666; - font-size: 16px; - line-height: 24px; - margin: 8px 8px; - position: relative; -} - -shortcode-block[name="notice"] .sc-notice .sc-notice-wrapper { - padding: 4px 12px; -} - -shortcode-block[name="notice"] .sc-notice .sc-notice-wrapper:before { - color: rgb(255, 255, 255); - content: ""; - font-family: FontAwesome; - left: 10px; - position: absolute; - top: 2px; -} - -shortcode-block[name="notice"] .sc-notice .sc-notice-wrapper:after { - color: #fff; - left: 30px; - position: absolute; - top: 3px; -} - -shortcode-block[name="notice"] .sc-notice-info .sc-notice-wrapper { - border-top: 30px solid #F0B37E; - background: #FFF2DB; -} - -shortcode-block[name="notice"] .sc-notice-warning .sc-notice-wrapper { - border-top: 30px solid #DF6F6C; - background: #FAE2E2; -} - -shortcode-block[name="notice"] .sc-notice-note .sc-notice-wrapper { - border-top: 30px solid #6AB0DE; - background: #E7F2FA; -} - -shortcode-block[name="notice"] .sc-notice-tip .sc-notice-wrapper { - border-top: 30px solid #77C577; - background: #E6F9E6; -} - -shortcode-block[name="notice"] .sc-notice-info .sc-notice-wrapper:after { - content: 'Info'; -} - -shortcode-block[name="notice"] .sc-notice-warning .sc-notice-wrapper:after { - content: 'Warning'; -} - -shortcode-block[name="notice"] .sc-notice-note .sc-notice-wrapper:after { - content: 'Note'; -} - -shortcode-block[name="notice"] .sc-notice-tip .sc-notice-wrapper:after { - content: 'Tip'; -} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.js b/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.js deleted file mode 100644 index 00a9601..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.js +++ /dev/null @@ -1,41 +0,0 @@ -window.nextgenEditor.addShortcode('notice', { - type: 'block', - plugin: 'shortcode-core', - title: 'Notice', - button: { - group: 'shortcode-core', - label: 'Notice', - icon: '', - }, - attributes: { - notice: { - type: String, - title: 'Type', - bbcode: true, - widget: { - type: 'radios', - values: [ - { value: 'info', label: 'Info' }, - { value: 'warning', label: 'Warning' }, - { value: 'note', label: 'Note' }, - { value: 'tip', label: 'Tip' }, - ], - }, - default: 'info', - }, - }, - titlebar({ attributes }) { - const notice = attributes.notice - ? this.attributes.notice.widget.values.find((item) => item.value === attributes.notice) - : ''; - - const type = notice - ? notice.label - : ''; - - return `type: ${type}`; - }, - content({ attributes }) { - return `
{{content_editable}}
`; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/raw/raw.js b/plugins/shortcode-core/nextgen-editor/shortcodes/raw/raw.js deleted file mode 100644 index bb74c98..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/raw/raw.js +++ /dev/null @@ -1,13 +0,0 @@ -window.nextgenEditor.addShortcode('raw', { - type: 'block', - plugin: 'shortcode-core', - title: 'Raw', - button: { - group: 'shortcode-core', - label: 'Raw', - icon: '', - }, - content() { - return '{{content_editable}}'; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js b/plugins/shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js deleted file mode 100644 index 7314813..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js +++ /dev/null @@ -1,48 +0,0 @@ -window.nextgenEditor.addShortcode('safe-email', { - type: 'inline', - plugin: 'shortcode-core', - title: 'Safe Email', - button: { - group: 'shortcode-core', - label: 'Safe Email', - icon: '', - }, - attributes: { - icon: { - type: String, - title: 'Icon', - bbcode: true, - widget: 'input-text', - default: 'grav', - }, - autolink: { - type: String, - title: 'Autolink', - widget: { - type: 'checkbox', - valueType: String, - label: 'Yes', - }, - default: 'false', - }, - }, - content({ attributes }) { - let output = ''; - - if (attributes.autolink === 'true') { - output += ''; - } - - if (attributes.icon) { - output += ``; - } - - output += '{{content_editable}}'; - - if (attributes.autolink === 'true') { - output += ''; - } - - return output; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/section/section.js b/plugins/shortcode-core/nextgen-editor/shortcodes/section/section.js deleted file mode 100644 index f8d5262..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/section/section.js +++ /dev/null @@ -1,26 +0,0 @@ -window.nextgenEditor.addShortcode('section', { - type: 'block', - plugin: 'shortcode-core', - title: 'Section', - button: { - group: 'shortcode-core', - label: 'Section', - icon: '', - }, - attributes: { - name: { - type: String, - title: 'Name', - widget: 'input-text', - default: '', - }, - }, - titlebar({ attributes }) { - return attributes.name - ? `name: ${attributes.name}` - : ''; - }, - content() { - return '{{content_editable}}'; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/shortcode-core.js b/plugins/shortcode-core/nextgen-editor/shortcodes/shortcode-core.js deleted file mode 100644 index 0419893..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/shortcode-core.js +++ /dev/null @@ -1,10 +0,0 @@ -window.nextgenEditor.addHook('hookInit', () => { - window.nextgenEditor.addShortcodePlugin('shortcode-core', { - title: 'Shortcode Core', - }); - - window.nextgenEditor.addButtonGroup('shortcode-core', { - icon: '', - label: 'Shortcode Core', - }); -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/size/size.js b/plugins/shortcode-core/nextgen-editor/shortcodes/size/size.js deleted file mode 100644 index 6f4fd90..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/size/size.js +++ /dev/null @@ -1,26 +0,0 @@ -window.nextgenEditor.addShortcode('size', { - type: 'inline', - plugin: 'shortcode-core', - title: 'Font Size', - button: { - group: 'shortcode-core', - label: 'Font Size', - icon: '', - }, - attributes: { - size: { - type: String, - title: 'Size', - bbcode: true, - widget: 'input-text', - default: '14', - }, - }, - content({ attributes }) { - const size = !Number.isNaN(+attributes.size) - ? `${attributes.size}px` - : attributes.size; - - return `{{content_editable}}`; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/span/span.js b/plugins/shortcode-core/nextgen-editor/shortcodes/span/span.js deleted file mode 100644 index 2e8dd8e..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/span/span.js +++ /dev/null @@ -1,37 +0,0 @@ -window.nextgenEditor.addShortcode('span', { - type: 'inline', - plugin: 'shortcode-core', - title: 'Span', - button: { - group: 'shortcode-core', - label: 'Span', - icon: '', - }, - attributes: { - id: { - type: String, - title: 'ID', - widget: 'input-text', - default: '', - }, - class: { - type: String, - title: 'Class', - widget: 'input-text', - default: '', - }, - style: { - type: String, - title: 'Style', - widget: 'input-text', - default: '', - }, - }, - content({ attributes }) { - const id = attributes.id || ''; - const cclass = attributes.class || ''; - const style = attributes.style || ''; - - return `{{content_editable}}`; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/u/u.js b/plugins/shortcode-core/nextgen-editor/shortcodes/u/u.js deleted file mode 100644 index 7a2c62e..0000000 --- a/plugins/shortcode-core/nextgen-editor/shortcodes/u/u.js +++ /dev/null @@ -1,13 +0,0 @@ -window.nextgenEditor.addShortcode('u', { - type: 'inline', - plugin: 'shortcode-core', - title: 'Underline', - button: { - group: 'shortcode-core', - label: 'Underline', - icon: '', - }, - content() { - return '{{content_editable}}'; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/collapse.js b/plugins/shortcode-core/nextgen-editor/src/collapse.js deleted file mode 100644 index eb55bdd..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/collapse.js +++ /dev/null @@ -1,30 +0,0 @@ -export default function collapse(input) { - let output = input; - - output = output.replace(/
((((?!(<\/figure>)).)|\n)*)<\/figure>/gm, '$1'); - - const domOutput = new DOMParser().parseFromString(output, 'text/html'); - - [...domOutput.querySelectorAll('shortcode-block, shortcode-inline')].forEach((domShortcode) => { - domShortcode.setAttribute('sc-rendered', false); - }); - - let domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]'); - - while (domShortcode) { - const name = domShortcode.getAttribute('name'); - const shortcode = window.nextgenEditor.shortcodes[name]; - - domShortcode.removeAttribute('class'); - domShortcode.removeAttribute('sc-rendered'); - - const domInnerContent = domShortcode.querySelector(`shortcode-${shortcode.type}-editable, shortcode-${shortcode.type}-readonly`); - domShortcode.innerHTML = (domInnerContent && domInnerContent.innerHTML) || ''; - - domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]'); - } - - output = domOutput.body.innerHTML; - - return output; -} diff --git a/plugins/shortcode-core/nextgen-editor/src/command.js b/plugins/shortcode-core/nextgen-editor/src/command.js deleted file mode 100644 index 90ea4c2..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/command.js +++ /dev/null @@ -1,153 +0,0 @@ -import collapse from './collapse'; -import uncollapse from './uncollapse'; - -const Command = window.nextgenEditor.classes.core.command.class; - -window.nextgenEditor.addPlugin('GravShortcodeCoreCommand', { - init() { - Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { - const commandName = `shortcode_${shortcode.name}`; - - class GravShortcodeCoreCommand extends Command { - execute(args) { - this.editor.model.change((modelWriter) => { - let dataShortcode = ''; - const argsForUncollapse = {}; - - const wrapOnInsert = !shortcode.child && !shortcode.parent - ? shortcode.wrapOnInsert !== undefined - ? shortcode.wrapOnInsert - : true - : false; - - const selectedBlocks = [...this.editor.model.document.selection.getSelectedBlocks()]; - const selectedItems = [...this.editor.model.document.selection.getFirstRange().getItems({ shallow: true })]; - - const firstSelectedBlock = selectedBlocks[0]; - const firstBlockSelectedItems = selectedItems.filter((item) => item.parent === firstSelectedBlock); - - const attributes = Object.keys(shortcode.attributes).reduce((acc, attrName) => { - acc[attrName] = shortcode.attributes[attrName].default.value; - return acc; - }, {}); - - dataShortcode += ``; - - if (wrapOnInsert) { - if (shortcode.type === 'block') { - const modelSelectedBlocks = modelWriter.createDocumentFragment(); - selectedBlocks.forEach((block) => modelWriter.append(modelWriter.cloneElement(block), modelSelectedBlocks)); - - const viewSelectedBlocks = this.editor.data.toView(modelSelectedBlocks); - const dataSelectedBlocks = this.editor.data.processor.toData(viewSelectedBlocks); - - dataShortcode += collapse(dataSelectedBlocks); - } - - if (shortcode.type === 'inline') { - const modelSelectedBlocks = modelWriter.createDocumentFragment(); - - firstBlockSelectedItems.forEach((item) => { - const block = item.textNode - ? modelWriter.createText(item.data) - : modelWriter.cloneElement(item); - - modelWriter.append(block, modelSelectedBlocks); - }); - - const viewSelectedBlocks = this.editor.data.toView(modelSelectedBlocks); - const dataSelectedBlocks = this.editor.data.processor.toData(viewSelectedBlocks); - - dataShortcode += collapse(dataSelectedBlocks); - } - } - - if (shortcode.parent) { - dataShortcode += '

 

'; - } - - dataShortcode += `
`; - - if (shortcode.parent) { - if (args && args.modelParentShortcode) { - argsForUncollapse.parentAttributes = JSON.parse(decodeURIComponent(args.modelParentShortcode.getAttribute('attributes'))); - } - } - - dataShortcode = uncollapse(dataShortcode, argsForUncollapse); - - const convertContext = shortcode.type === 'inline' - ? '$block' - : '$root'; - - const viewShortcode = this.editor.data.processor.toView(dataShortcode).getChild(0); - const modelShortcode = this.editor.data.toModel(viewShortcode, convertContext).getChild(0); - - let insertPosition = modelWriter.createPositionAt(this.editor.model.document.getRoot(), 0); - - if (!args || !args.insertPosition) { - if (shortcode.type === 'block') { - const firstBlock = selectedBlocks[0]; - const lastBlock = selectedBlocks[selectedBlocks.length - 1]; - - if (wrapOnInsert) { - insertPosition = modelWriter.createPositionBefore(firstBlock); - - modelWriter.remove( - modelWriter.createRange( - modelWriter.createPositionBefore(firstBlock), - modelWriter.createPositionAfter(lastBlock), - ), - ); - } else { - insertPosition = modelWriter.createPositionAfter(lastBlock); - - if (lastBlock && lastBlock.name === 'paragraph' && lastBlock.childCount === 0) { - insertPosition = modelWriter.createPositionBefore(lastBlock); - modelWriter.remove(lastBlock); - } - } - } - - if (shortcode.type === 'inline') { - const firstItem = firstBlockSelectedItems.length - ? firstBlockSelectedItems[0] - : null; - - const lastItem = firstBlockSelectedItems.length - ? firstBlockSelectedItems[firstBlockSelectedItems.length - 1] - : null; - - if (wrapOnInsert) { - insertPosition = firstItem - ? modelWriter.createPositionBefore(firstItem) - : this.editor.model.document.selection.getFirstPosition(); - - if (firstItem) { - modelWriter.remove( - modelWriter.createRange( - modelWriter.createPositionBefore(firstItem), - modelWriter.createPositionAfter(lastItem), - ), - ); - } - } else { - insertPosition = lastItem - ? modelWriter.createPositionAfter(lastItem) - : this.editor.model.document.selection.getFirstPosition(); - } - } - } else { - insertPosition = args.insertPosition; - } - - modelWriter.insert(modelShortcode, insertPosition); - modelWriter.setSelection(modelShortcode, 'on'); - }); - } - } - - this.editor.commands.add(commandName, new GravShortcodeCoreCommand(this.editor)); - }); - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/converters.js b/plugins/shortcode-core/nextgen-editor/src/converters.js deleted file mode 100644 index 4d6d3a3..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/converters.js +++ /dev/null @@ -1,150 +0,0 @@ -const Widget = window.nextgenEditor.classes.widget.class; -const { toWidget, toWidgetEditable } = window.nextgenEditor.classes.widget.utils; - -window.nextgenEditor.addPlugin('GravShortcodeCoreConvertersBlock', { - requires: [Widget], - init() { - this.editor.model.schema.register('shortcode-block', { - isBlock: true, - isObject: true, - allowWhere: '$block', - allowContentOf: '$root', - allowAttributes: [ - 'name', - 'attributes', - 'class', - ], - }); - - this.editor.conversion.for('upcast').elementToElement({ - view: 'shortcode-block', - model(viewElement, { writer }) { - return writer.createElement('shortcode-block', viewElement.getAttributes()); - }, - }); - - this.editor.conversion.for('dataDowncast').elementToElement({ - model: 'shortcode-block', - view(modelElement, { writer }) { - return writer.createContainerElement('shortcode-block', modelElement.getAttributes()); - }, - }); - - this.editor.conversion.for('editingDowncast').elementToElement({ - model: 'shortcode-block', - view(modelElement, { writer }) { - const container = writer.createContainerElement('shortcode-block', modelElement.getAttributes()); - return toWidget(container, writer); - }, - }); - - this.editor.model.schema.register('shortcode-block-editable', { - isLimit: true, - allowWhere: '$block', - allowContentOf: '$root', - }); - - this.editor.conversion.for('upcast').elementToElement({ - view: 'shortcode-block-editable', - model: 'shortcode-block-editable', - }); - - this.editor.conversion.for('dataDowncast').elementToElement({ - model: 'shortcode-block-editable', - view: 'shortcode-block-editable', - }); - - this.editor.conversion.for('editingDowncast').elementToElement({ - model: 'shortcode-block-editable', - view(modelElement, { writer }) { - const container = writer.createEditableElement('shortcode-block-editable', modelElement.getAttributes()); - return toWidgetEditable(container, writer); - }, - }); - - this.editor.model.schema.register('shortcode-block-readonly', { - isLimit: true, - allowWhere: '$block', - allowContentOf: '$root', - }); - - this.editor.conversion.elementToElement({ - view: 'shortcode-block-readonly', - model: 'shortcode-block-readonly', - }); - }, -}); - -window.nextgenEditor.addPlugin('GravShortcodeCoreConvertersInline', { - requires: [Widget], - init() { - this.editor.model.schema.register('shortcode-inline', { - isObject: true, - isInline: true, - allowWhere: '$text', - allowContentOf: '$block', - allowAttributes: [ - 'name', - 'attributes', - 'class', - ], - }); - - this.editor.conversion.for('upcast').elementToElement({ - view: 'shortcode-inline', - model(viewElement, { writer }) { - return writer.createElement('shortcode-inline', viewElement.getAttributes()); - }, - }); - - this.editor.conversion.for('dataDowncast').elementToElement({ - model: 'shortcode-inline', - view(modelElement, { writer }) { - return writer.createContainerElement('shortcode-inline', modelElement.getAttributes()); - }, - }); - - this.editor.conversion.for('editingDowncast').elementToElement({ - model: 'shortcode-inline', - view(modelElement, { writer }) { - const container = writer.createContainerElement('shortcode-inline', modelElement.getAttributes()); - return toWidget(container, writer); - }, - }); - - this.editor.model.schema.register('shortcode-inline-editable', { - isLimit: true, - allowWhere: '$text', - allowContentOf: '$block', - }); - - this.editor.conversion.for('upcast').elementToElement({ - view: 'shortcode-inline-editable', - model: 'shortcode-inline-editable', - }); - - this.editor.conversion.for('dataDowncast').elementToElement({ - model: 'shortcode-inline-editable', - view: 'shortcode-inline-editable', - }); - - this.editor.conversion.for('editingDowncast').elementToElement({ - model: 'shortcode-inline-editable', - view(modelElement, { writer }) { - const container = writer.createEditableElement('shortcode-inline-editable', modelElement.getAttributes()); - return toWidgetEditable(container, writer); - }, - }); - - this.editor.model.schema.register('shortcode-inline-readonly', { - isLimit: true, - allowWhere: '$text', - allowContentOf: '$block', - }); - - this.editor.conversion.elementToElement({ - view: 'shortcode-inline-readonly', - model: 'shortcode-inline-readonly', - }); - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/events.js b/plugins/shortcode-core/nextgen-editor/src/events.js deleted file mode 100644 index 6b4fdaf..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/events.js +++ /dev/null @@ -1,86 +0,0 @@ -import displaySettings from './settings'; - -window.scDisplaySettings = function scDisplaySettings() { - const domShortcode = this.closest('shortcode-block, shortcode-inline'); - - if (domShortcode) { - displaySettings(domShortcode); - } -}; - -window.scBlockAddChildFromParent = function scBlockAddChildFromParent() { - const { editors } = window.nextgenEditor; - - const domShortcode = this.parentNode; - const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift(); - - const name = domShortcode.getAttribute('name'); - const shortcode = window.nextgenEditor.shortcodes[name]; - - if (editor) { - const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode); - const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode); - - const domShortcodeBlockReadOnly = domShortcode.querySelector('shortcode-block-readonly'); - const viewShortcodeBlockReadOnly = editor.editing.view.domConverter.mapDomToView(domShortcodeBlockReadOnly); - const modelShortcodeBlockReadOnly = editor.editing.mapper.toModelElement(viewShortcodeBlockReadOnly); - - editor.model.change((modelWriter) => { - const insertPosition = modelWriter.createPositionAt(modelShortcodeBlockReadOnly, 0); - editor.execute(`shortcode_${shortcode.child.name}`, { insertPosition, modelParentShortcode: modelShortcode }); - - domShortcode.querySelector('.sc-add-child').classList.remove('sc-visible'); - }); - } -}; - -window.scBlockAddChild = function scBlockAddChild(event, where) { - const { editors } = window.nextgenEditor; - - const domShortcode = this.parentNode; - const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift(); - - const name = domShortcode.getAttribute('name'); - const shortcode = window.nextgenEditor.shortcodes[name]; - - if (editor) { - const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode); - const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode); - - editor.model.change((modelWriter) => { - let modelParentShortcode = modelShortcode.parent; - const insertPosition = modelWriter.createPositionAt(modelShortcode, where); - - while (modelParentShortcode && modelParentShortcode.name !== 'shortcode-block') { - modelParentShortcode = modelParentShortcode.parent; - } - - if (modelParentShortcode) { - editor.execute(`shortcode_${shortcode.name}`, { insertPosition, modelParentShortcode }); - } - }); - } -}; - -window.scBlockMoveChild = function scBlockMove(event, where) { - const { editors } = window.nextgenEditor; - - const domShortcode = this.parentNode; - const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift(); - - if (editor) { - const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode); - const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode); - - const domSiblingShortcode = where === 'up' - ? domShortcode.previousSibling - : domShortcode.nextSibling; - - const viewSiblingShortcode = editor.editing.view.domConverter.mapDomToView(domSiblingShortcode); - const modelSiblingShortcode = editor.editing.mapper.toModelElement(viewSiblingShortcode); - - editor.model.change((modelWriter) => { - modelWriter.move(modelWriter.createRangeOn(modelShortcode), modelSiblingShortcode, where === 'up' ? 'before' : 'after'); - }); - } -}; diff --git a/plugins/shortcode-core/nextgen-editor/src/init.js b/plugins/shortcode-core/nextgen-editor/src/init.js deleted file mode 100644 index 50c2e25..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/init.js +++ /dev/null @@ -1,45 +0,0 @@ -window.nextgenEditor.addHook('hookInit', () => { - Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { - shortcode.attributes = shortcode.attributes || {}; - - if (!shortcode.button) { - shortcode.button = { label: shortcode.title }; - } - - Object.values(shortcode.attributes).forEach((attribute) => { - if (attribute.default === undefined) { - attribute.default = ''; - } - if (typeof attribute.default !== 'object') { - attribute.default = { value: attribute.default }; - } - if (attribute.shorthand === undefined) { - attribute.shorthand = true; - } - }); - - if (shortcode.type === 'block' && !shortcode.titlebar) { - shortcode.titlebar = () => ''; - } - if (!shortcode.content) { - shortcode.content = () => ''; - } - - if (shortcode.preserve) { - if (shortcode.preserve.block) { - window.nextgenEditor.addVariable('preserveBlockTags', shortcode.preserve.block); - } - - if (shortcode.preserve.inline) { - window.nextgenEditor.addVariable('preserveInlineTags', shortcode.preserve.inline); - } - } - - if (!shortcode.parent) { - window.nextgenEditor.addButton(`shortcode_${shortcode.name}`, { - command: `shortcode_${shortcode.name}`, - ...shortcode.button, - }); - } - }); -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/main.css b/plugins/shortcode-core/nextgen-editor/src/main.css deleted file mode 100644 index 9639e2f..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/main.css +++ /dev/null @@ -1,278 +0,0 @@ -shortcode-block { - background: #fff; - border: 1px solid #ccc; - display: block; - margin: 16px 0; -} - -#admin-main .ck.ck-editor__editable_inline > :first-child { - margin-top: 16px; -} -#admin-main .ck.ck-editor__editable_inline > :last-child { - margin-bottom: 16px; -} - -#admin-main .ck-editor shortcode-block.ck-shortcode-child:hover { - outline-color: #1f89e5; -} - -#admin-main .ck-editor shortcode-block > .sc-header > .sc-title > p, -#admin-main .ck-editor shortcode-block > .sc-header > .sc-titlebar > p, -#admin-main .ck-editor shortcode-block > .sc-header > .sc-settings > p, -#admin-main .ck-editor shortcode-block > .sc-add > p, -#admin-main .ck-editor shortcode-block > .sc-move > p { - margin: 0; -} - -shortcode-block > .sc-header { - align-items: center; - border-bottom: 1px solid #ccc; - display: flex; - font-size: 14px; - line-height: 1.5; - padding: 8px 8px; -} - -shortcode-block > .sc-header > .sc-title > p > .sc-value { - font-weight: 700; -} - -shortcode-block > .sc-header > .sc-titlebar { - margin-left: 24px; -} - -shortcode-block > .sc-header > .sc-settings { - color: #ffc83d; - cursor: pointer; - font-size: 0; - line-height: 0; - margin-left: auto; - opacity: 0; - transition: opacity .2s ease, color .2s ease; -} - -shortcode-block > .sc-header > .sc-settings:hover, -shortcode-block.ck-shortcode-child > .sc-header > .sc-settings, -shortcode-block.ck-widget_selected > .sc-header > .sc-settings { - color: #1f89e5; -} - -shortcode-block.ck-widget_selected > .sc-header > .sc-settings:hover, -shortcode-block.ck-shortcode-child > .sc-header > .sc-settings:hover { - opacity: .5 -} - -shortcode-block:hover > .sc-header > .sc-settings, -shortcode-block.ck-widget_selected > .sc-header > .sc-settings { - opacity: 1; -} - -shortcode-block > .sc-header > .sc-settings > p > svg { - height: 24px; - width: 24px; -} - -shortcode-block-editable, -shortcode-block-readonly { - display: block; - padding: 0 8px; -} - -shortcode-block-readonly > [data-cke-filler] { - display: none; -} - -#admin-main .ck-editor shortcode-block-editable > :first-child { - margin-top: 14px; -} - -#admin-main .ck-editor shortcode-block.ck-shortcode-child .ck-widget__type-around__button_after, -#admin-main .ck-editor shortcode-block.ck-shortcode-child .ck-widget__type-around__button_before { - display: none; -} - -shortcode-block > .sc-add-child { - align-items: center; - display: none; - justify-content: center; - margin: 16px 0; - opacity: 0; - transition: opacity .2s ease; -} - -shortcode-block > .sc-add-child.sc-visible { - display: flex; -} - -shortcode-block:hover > .sc-add-child, -shortcode-block.ck-widget_selected > .sc-add-child { - opacity: 1; - z-index: 1; -} - -shortcode-block > .sc-add-child > p { - align-items: center; - background: #ffc83d; - border-radius: 50%; - cursor: pointer; - display: flex; - height: 24px; - justify-content: center; - margin: 0!important; - transition: opacity .2s ease, background .2s ease; - width: 24px; -} - -shortcode-block > .sc-add-child > p:hover, -shortcode-block.ck-widget_selected > .sc-add-child > p { - background: #1f89e5; -} - -shortcode-block.ck-widget_selected > .sc-add-child > p:hover { - opacity: .5; -} - -shortcode-block > .sc-add-child > p > svg { - color: #fff; - height: 20px; - transition: opacity .2s ease; - width: 20px; -} - -shortcode-block > .sc-add { - left: 30px; - opacity: 0; - position: absolute; - transition: opacity .2s ease; - top: -12px; -} - -shortcode-block > .sc-add-after { - bottom: -11px; - left: auto; - right: 30px; - top: auto; -} - -shortcode-block:hover > .sc-add { - opacity: 1; - z-index: 1; -} - -shortcode-block > .sc-add > p { - align-items: center; - background: #1f89e5; - border-radius: 50%; - cursor: pointer; - display: flex; - height: 20px; - justify-content: center; - width: 20px; -} - -shortcode-block > .sc-add > p > svg { - color: #fff; - height: 16px; - transition: opacity .2s ease; - width: 16px; -} - -shortcode-block > .sc-add:hover > p > svg { - opacity: .5; -} - -shortcode-block > .sc-move { - background: #1f89e5; - border-radius: 50%; - cursor: pointer; - height: 20px; - opacity: 0; - position: absolute; - right: -12px; - transition: opacity .2s ease; - width: 20px; - top: 46px; -} - -shortcode-block > .sc-move-up { - transform: rotate(180deg); -} - -shortcode-block:first-child > .sc-move-up, -shortcode-block:last-child > .sc-move-down { - display: none; -} - -shortcode-block > .sc-move-down { - bottom: 4px; - left: auto; - top: auto; -} - -shortcode-block:hover > .sc-move { - opacity: 1; - z-index: 1; -} - -shortcode-block > .sc-move > p > svg { - color: #fff; - height: 20px; - left: 1.5px; - position: absolute; - top: 2px; - transition: opacity .2s ease; - width: 20px; -} - -shortcode-block > .sc-move:hover > p > svg { - opacity: .5; -} - -shortcode-inline { - background: #fff; - border: 1px solid #ccc; - display: inline-flex; - margin-left: 2px; - margin-right: 1px; - vertical-align: middle; -} - -shortcode-inline-editable, -shortcode-inline-readonly { - display: inline; - padding: 1px 4px 2px; -} - -shortcode-inline > .sc-content { - display: inline-flex; - align-items: center; -} - -shortcode-inline > .sc-settings { - align-items: center; - border-left: 1px solid #ccc; - cursor: pointer; - display: inline-flex; - font-size: 0; - line-height: 0; - padding: 0 2px; - transition: opacity .2s ease, color .2s ease; -} - -shortcode-inline:hover > .sc-settings { - color: #ffc83d; -} - -shortcode-inline > .sc-settings:hover, -shortcode-inline.ck-widget_selected > .sc-settings { - color: #1f89e5; -} - -shortcode-inline.ck-widget_selected > .sc-settings:hover { - opacity: .5; -} - -shortcode-inline > .sc-settings > svg { - height: 16px; - width: 16px; -} diff --git a/plugins/shortcode-core/nextgen-editor/src/main.js b/plugins/shortcode-core/nextgen-editor/src/main.js deleted file mode 100644 index 2dbae9c..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/main.js +++ /dev/null @@ -1,10 +0,0 @@ -import './command'; -import './converters'; -import './events'; -import './init'; -import './prerender'; -import './postsave'; -import './remove'; -import './render'; -import './save'; -import './main.css'; diff --git a/plugins/shortcode-core/nextgen-editor/src/postsave.js b/plugins/shortcode-core/nextgen-editor/src/postsave.js deleted file mode 100644 index 5b54050..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/postsave.js +++ /dev/null @@ -1,95 +0,0 @@ -window.nextgenEditor.addHook('hookHTMLtoMarkdown', { - weight: 50, - handler(options, editor, input) { - let output = input; - - const realNames = Object.values(window.nextgenEditor.shortcodes).map((shortcode) => shortcode.realName) - .filter((value, index, self) => self.indexOf(value) === index); - - const openingRegexp = realNames - .map((name) => `(\\[${name}[^\\]]*\\])`).join('|'); - - const hashMap = {}; - let shortcodeCounter = 1; - - while (shortcodeCounter > 0) { - shortcodeCounter = 0; - - // eslint-disable-next-line no-loop-func - Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { - const regexp = `(?\\[${shortcode.realName}[^\\]]*\\])(?(((?!(${openingRegexp}|(\\[\\/${shortcode.realName}\\]))).)|\\n)*)(?\\[\\/${shortcode.realName}\\])`; - - output = output.replace(new RegExp(regexp, 'g'), (...matches) => { - shortcodeCounter += 1; - - const hash = Math.random().toString(36).slice(2); - hashMap[hash] = { shortcode, matches }; - - if (shortcode.child) { - const childName = shortcode.child.realName; - - Object.keys(hashMap).forEach((childHash) => { - const childShortcode = hashMap[childHash].shortcode; - - if (childShortcode === shortcode.child && childShortcode.name !== `${shortcode.realName}_${childName}` && matches[0].includes(childHash)) { - hashMap[childHash].shortcode = window.nextgenEditor.shortcodes[`${shortcode.realName}_${childName}`]; - } - }); - } - - return hash; - }); - }); - } - - shortcodeCounter = 1; - - while (shortcodeCounter > 0) { - shortcodeCounter = 0; - - // eslint-disable-next-line no-loop-func - Object.keys(hashMap).forEach((hash) => { - if (!output.includes(hash)) { - return; - } - - shortcodeCounter += 1; - - const { shortcode, matches } = hashMap[hash]; - const groups = matches.pop(); - - if (shortcode.type === 'block') { - let content = groups.content.replace(/^\n/, '').replace(/\n$/, ''); - - if (shortcode.child) { - content = content.trim().split('\n').filter((line) => !!line).join('\n'); - content = `\n${content}\n`; - } - - if (shortcode.parent) { - content = `\n${content}\n`; - } - - output = output.replace(hash, `${groups.opening}${content}${groups.closing}`); - } - - if (shortcode.type === 'inline') { - output = output.replace(hash, matches[0]); - } - }); - } - - /* - Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { - const regexp = `(?\\[${shortcode.realName}[^\\]]*\\])\n(?(((?!(${openingRegexp}|(\\[\\/${shortcode.realName}\\]))).))*)\n(?\\[\\/${shortcode.realName}\\])`; - - output = output.replace(new RegExp(regexp, 'g'), (...matches) => { - const groups = matches.pop(); - return `${groups.opening}${groups.content}${groups.closing}`; - }); - }); - */ - - return output; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/prerender.js b/plugins/shortcode-core/nextgen-editor/src/prerender.js deleted file mode 100644 index 1f79025..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/prerender.js +++ /dev/null @@ -1,100 +0,0 @@ -window.nextgenEditor.addHook('hookMarkdowntoHTML', { - weight: -50, - handler(options, input) { - let output = input; - - const realNames = Object.values(window.nextgenEditor.shortcodes).map((shortcode) => shortcode.realName) - .filter((value, index, self) => self.indexOf(value) === index); - - const openingRegexp = realNames - .map((name) => `(\\[${name}[^\\]]*\\])`).join('|'); - - realNames.forEach((name) => { - const regexp = `\\[${name}(?(=| +).+?(?=/]))?\\/\\]`; - - output = output.replace(new RegExp(regexp, 'g'), (...matches) => { - const groups = matches.pop(); - - const attributes = groups.attributes.trim() - ? `${groups.attributes}` - : ''; - - return `[${name}${attributes}][/${name}]`; - }); - }); - - const hashMap = {}; - let shortcodeCounter = 1; - - while (shortcodeCounter > 0) { - shortcodeCounter = 0; - - // eslint-disable-next-line no-loop-func - Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { - const regexp = `(? *)\\[${shortcode.realName}(?(=| +)[^\\]]*)?\\](?(((?!(${openingRegexp}|(\\[\\/${shortcode.realName}\\]))).)|\\n)*)\\[\\/${shortcode.realName}\\](? *)`; - - output = output.replace(new RegExp(regexp, 'g'), (...matches) => { - shortcodeCounter += 1; - - const hash = Math.random().toString(36).slice(2); - hashMap[hash] = { shortcode, matches }; - - if (shortcode.child) { - const childName = shortcode.child.realName; - - Object.keys(hashMap).forEach((childHash) => { - const childShortcode = hashMap[childHash].shortcode; - - if (childShortcode === shortcode.child && childShortcode.name !== `${shortcode.realName}_${childName}` && matches[0].includes(childHash)) { - hashMap[childHash].shortcode = window.nextgenEditor.shortcodes[`${shortcode.realName}_${childName}`]; - } - }); - } - - return hash; - }); - }); - } - - shortcodeCounter = 1; - - while (shortcodeCounter > 0) { - shortcodeCounter = 0; - - // eslint-disable-next-line no-loop-func - Object.keys(hashMap).forEach((hash) => { - if (!output.includes(hash)) { - return; - } - - shortcodeCounter += 1; - - const { shortcode, matches } = hashMap[hash]; - const groups = matches.pop(); - - const spacesBefore = groups.spaces_before.replace(/ /g, ' '); - const spacesAfter = groups.spaces_after.replace(/ /g, ' '); - - if (shortcode.type === 'block') { - let content = groups.content.trim(); - - if (groups.spaces_before.length) { - content = content.replace(new RegExp(`^( ){${groups.spaces_before.length}}`, 'gm'), ''); - } - - const replacement = `\n\n[${shortcode.name}${groups.attributes || ''}]\n\n${content}\n\n[/${shortcode.name}]\n\n`; - - output = output.replace(new RegExp(`(\\n)?(\\n)?${hash}(\\n)?(\\n)?`), replacement); - } - - if (shortcode.type === 'inline') { - output = output.replace(hash, `${spacesBefore}[${shortcode.name}${groups.attributes || ''}]${groups.content}[/${shortcode.name}]${spacesAfter}`); - } - }); - } - - output = output.replace(/^\n\n/, '').replace(/\n\n$/, ''); - - return output; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/remove.js b/plugins/shortcode-core/nextgen-editor/src/remove.js deleted file mode 100644 index 8ff78ce..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/remove.js +++ /dev/null @@ -1,55 +0,0 @@ -window.nextgenEditor.addPlugin('GravShortcodeCoreRemove', { - init() { - const deleteBackwardCommand = this.editor.commands.get('delete'); - const deleteForwardCommand = this.editor.commands.get('forwardDelete'); - - const preDelete = (event) => { - const selectedElement = this.editor.model.document.selection.getSelectedElement(); - - if (selectedElement && selectedElement.name === 'shortcode-block') { - const name = selectedElement.getAttribute('name'); - const shortcode = window.nextgenEditor.shortcodes[name]; - - if (shortcode.parent) { - const viewShortcode = this.editor.editing.mapper.toViewElement(selectedElement); - const domShortcode = this.editor.editing.view.domConverter.mapViewToDom(viewShortcode); - const domParentShortcode = domShortcode.closest(`shortcode-block[name="${shortcode.parent.name}"]`); - - event.childShortcodeDeleted = true; - event.modelShortcodeBlockReadOnly = selectedElement.parent; - event.domParentShortcode = domParentShortcode; - } - } - }; - - const postDelete = (event) => { - if (event.childShortcodeDeleted) { - const { domParentShortcode, modelShortcodeBlockReadOnly } = event; - - const children = [...modelShortcodeBlockReadOnly.getChildren()]; - const scChildren = children.filter((child) => child.name === 'shortcode-block'); - const otherChildren = children.filter((child) => child.name !== 'shortcode-block'); - - setTimeout(() => { - this.editor.model.change((modelWriter) => { - otherChildren.forEach((modelChild) => { - if (modelChild.name === 'paragraph' && modelChild.childCount === 0) { - modelWriter.remove(modelChild); - } - }); - }); - }); - - if (!scChildren.length) { - domParentShortcode.querySelector('shortcode-block > .sc-add-child').classList.add('sc-visible'); - } - } - }; - - deleteBackwardCommand.on('execute', preDelete, { priority: 'highest' }); - deleteForwardCommand.on('execute', preDelete, { priority: 'highest' }); - - deleteBackwardCommand.on('execute', postDelete, { priority: 'lowest' }); - deleteForwardCommand.on('execute', postDelete, { priority: 'lowest' }); - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/render.js b/plugins/shortcode-core/nextgen-editor/src/render.js deleted file mode 100644 index 82a6a78..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/render.js +++ /dev/null @@ -1,95 +0,0 @@ -import uncollapse from './uncollapse'; - -window.nextgenEditor.addHook('hookMarkdowntoHTML', { - weight: 50, - handler(options, input) { - let output = input; - - let shortcodeCounter = 1; - const openingRegexp = Object.keys(window.nextgenEditor.shortcodes).map((name) => `(\\[${name}[^\\]]*\\])`).join('|'); - - while (shortcodeCounter > 0) { - shortcodeCounter = 0; - - // eslint-disable-next-line no-loop-func - Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { - const regexp = `(?

)?\\[${shortcode.name}(?(=| +)[^\\]]*)?\\](<\\/p>)?(?(((?!(${openingRegexp}|(\\[\\/${shortcode.name}\\]))).)|\\n)*)\\[\\/${shortcode.name}\\](?<\\/p>)?`; - - output = output.replace(new RegExp(regexp, 'g'), (...matches) => { - shortcodeCounter += 1; - - const groups = matches.pop(); - - let content = shortcode.type === 'block' - ? groups.content.replace(/

$/, '') - : groups.content; - - const bbcode = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].bbcode && shortcode.attributes[attrName].shorthand && attrName), ''); - const innerHTMLAttribute = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].innerHTML && attrName), ''); - - let attrGroup = bbcode && groups.attributes && groups.attributes.startsWith('=') - ? `${bbcode}${groups.attributes}` - : groups.attributes || ''; - - if (innerHTMLAttribute) { - const innerHTML = shortcode.type === 'block' - ? content.replace(/^

/, '').replace(/<\/p>$/, '').replace(/^ $/, '') - : content.replace(/^ $/, ''); - - attrGroup = attrGroup - ? `${attrGroup} ${innerHTMLAttribute}="${innerHTML}"` - : `${innerHTMLAttribute}="${innerHTML}"`; - - content = ''; - } - - const domAttributes = new DOMParser().parseFromString(`

`, 'text/html').body.firstChild.attributes; - - const attributes = Object.keys(shortcode.attributes).reduce((acc, attrName) => { - const attribute = shortcode.attributes[attrName]; - - let attrValue = domAttributes.getNamedItem(attrName) - ? domAttributes.getNamedItem(attrName).value - : attribute.default.value; - - if (attribute.type === Boolean && domAttributes.getNamedItem(attrName)) { - attrValue = domAttributes.getNamedItem(attrName) !== 'false'; - } - - if (attribute.type === Number) { - attrValue = +attrValue; - } - - acc[attrName] = attrValue; - - return acc; - }, {}); - - let replacement = ''; - - const attributesEncoded = encodeURIComponent(JSON.stringify(attributes)); - - if (shortcode.type === 'block') { - replacement += ``; - replacement += content; - replacement += ''; - } - - if (shortcode.type === 'inline') { - replacement += groups.p1 || ''; - replacement += ``; - replacement += content; - replacement += ''; - replacement += groups.p2 || ''; - } - - return replacement; - }); - }); - } - - output = uncollapse(output); - - return output; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/save.js b/plugins/shortcode-core/nextgen-editor/src/save.js deleted file mode 100644 index a8b0ba4..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/save.js +++ /dev/null @@ -1,80 +0,0 @@ -import collapse from './collapse'; - -window.nextgenEditor.addHook('hookHTMLtoMarkdown', { - weight: -50, - handler(options, editor, input) { - let output = input; - - output = collapse(output); - - const domOutput = new DOMParser().parseFromString(output, 'text/html'); - - let domShortcode = domOutput.querySelector('shortcode-block, shortcode-inline'); - - while (domShortcode) { - const name = domShortcode.getAttribute('name'); - const shortcode = window.nextgenEditor.shortcodes[name]; - const attributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes'))); - - const innerHTMLAttribute = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].innerHTML && attrName), ''); - - const attrLine = Object.keys(shortcode.attributes).reduce((acc, attrName) => { - const attribute = shortcode.attributes[attrName]; - - if (attribute.type === Boolean) { - return attributes[attrName] - ? `${acc} ${attrName}` - : acc; - } - - if (attributes[attrName] === attribute.default.value && !attribute.default.preserve) { - return acc; - } - - if (attribute.bbcode && attribute.shorthand) { - return `="${attributes[attrName]}"${acc}`; - } - - if (attribute.innerHTML) { - return acc; - } - - return `${acc} ${attrName}="${attributes[attrName]}"`; - }, ''); - - if (shortcode.type === 'block') { - if (domShortcode.innerHTML === '

 

') { - domShortcode.innerHTML = ''; - } - - if (innerHTMLAttribute) { - domShortcode.outerHTML = `

[${shortcode.realName}${attrLine}]${attributes[innerHTMLAttribute]}[/${shortcode.realName}]

`; - } else if (domShortcode.innerHTML) { - domShortcode.outerHTML = `

[${shortcode.realName}${attrLine}]

${domShortcode.innerHTML}

[/${shortcode.realName}]

`; - } else { - domShortcode.outerHTML = `

[${shortcode.realName}${attrLine} /]

`; - } - } - - if (shortcode.type === 'inline') { - if (domShortcode.innerHTML === ' ') { - domShortcode.innerHTML = ''; - } - - if (innerHTMLAttribute) { - domShortcode.outerHTML = `[${shortcode.realName}${attrLine}]${attributes[innerHTMLAttribute]}[/${shortcode.realName}]`; - } else if (domShortcode.innerHTML) { - domShortcode.outerHTML = `[${shortcode.realName}${attrLine}]${domShortcode.innerHTML}[/${shortcode.realName}]`; - } else { - domShortcode.outerHTML = `[${shortcode.realName}${attrLine} /]`; - } - } - - domShortcode = domOutput.querySelector('shortcode-block, shortcode-inline'); - } - - output = domOutput.body.innerHTML; - - return output; - }, -}); diff --git a/plugins/shortcode-core/nextgen-editor/src/settings.js b/plugins/shortcode-core/nextgen-editor/src/settings.js deleted file mode 100644 index b4bedaa..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/settings.js +++ /dev/null @@ -1,153 +0,0 @@ -import collapse from './collapse'; -import uncollapse from './uncollapse'; - -const { showSettingsPopup } = window.nextgenEditor.exports; - -export default function displaySettings(domShortcode) { - const { editors } = window.nextgenEditor; - const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift(); - - const name = domShortcode.getAttribute('name'); - const shortcode = window.nextgenEditor.shortcodes[name]; - const plugin = window.nextgenEditor.shortcodePlugins[shortcode.plugin]; - - if (editor) { - const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode); - let modelShortcode = editor.editing.mapper.toModelElement(viewShortcode); - - const currentAttributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes'))); - - const domDisplayPoint = shortcode.type === 'block' - ? domShortcode.querySelector('.sc-header > .sc-settings') - : domShortcode; - - const title = [] - .concat([ - (plugin && plugin.title) || '', - (shortcode.parent && shortcode.parent.title) || '', - shortcode.title || '', - ]) - .filter((item) => !!item) - .join(' / '); - - const argsForPopup = { - title, - domDisplayPoint, - debounceDelay: 1000, - attributes: shortcode.attributes, - currentAttributes, - parentAttributes: null, - childAttributes: null, - }; - - if (shortcode.parent) { - const domParentShortcode = domShortcode.closest(`shortcode-block[name="${shortcode.parent.name}"]`); - - argsForPopup.parentAttributes = domParentShortcode - ? JSON.parse(decodeURIComponent(domParentShortcode.getAttribute('attributes'))) - : {}; - } - - if (shortcode.child) { - argsForPopup.childAttributes = []; - - const childNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block[name="${shortcode.child.name}"]`)]; - const deepChildNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block shortcode-block[name="${shortcode.child.name}"]`)]; - - childNodes - .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode)) - .forEach((domChildShortcode) => { - const childAttributes = JSON.parse(decodeURIComponent(domChildShortcode.getAttribute('attributes'))); - argsForPopup.childAttributes.push(childAttributes); - }); - } - - argsForPopup.deleteItem = () => editor.execute('delete'); - - argsForPopup.changeAttributes = () => { - editor.model.change((modelWriter) => { - modelWriter.setAttribute('attributes', encodeURIComponent(JSON.stringify(currentAttributes)), modelShortcode); - - const convertContext = shortcode.type === 'inline' - ? '$block' - : '$root'; - - if (shortcode.parent) { - const viewOldShortcode = editor.editing.mapper.toViewElement(modelShortcode); - const domOldShortcode = editor.editing.view.domConverter.mapViewToDom(viewOldShortcode); - - if (!domOldShortcode) { - return; - } - - const domOldParentShortcode = domOldShortcode.parentNode.closest('shortcode-block'); - const viewOldParentShortcode = editor.editing.view.domConverter.mapDomToView(domOldParentShortcode); - const modelOldParentShortcode = editor.editing.mapper.toModelElement(viewOldParentShortcode); - - const childNodes = [...domOldParentShortcode.querySelectorAll('shortcode-block shortcode-block')]; - const deepChildNodes = [...domOldParentShortcode.querySelectorAll('shortcode-block shortcode-block shortcode-block')]; - - const childIndex = childNodes - .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode)) - .indexOf(domOldShortcode); - - const insertPosition = modelWriter.createPositionBefore(modelOldParentShortcode); - const modelOldParentClonedShortcode = modelWriter.cloneElement(modelOldParentShortcode); - - const modelOldParentFragment = modelWriter.createDocumentFragment(); - modelWriter.append(modelOldParentClonedShortcode, modelOldParentFragment); - - const viewOldParentClonedShortcode = editor.data.toView(modelOldParentFragment).getChild(0); - const dataOldParentClonedShortcode = editor.data.processor.toData(viewOldParentClonedShortcode); - - const dataNewParentShortcode = uncollapse(collapse(dataOldParentClonedShortcode)); - const viewNewParentShortcode = editor.data.processor.toView(dataNewParentShortcode).getChild(0); - const modelNewParentShortcode = editor.data.toModel(viewNewParentShortcode, convertContext).getChild(0); - - modelWriter.remove(modelOldParentShortcode); - modelWriter.insert(modelNewParentShortcode, insertPosition); - - setTimeout(() => { - const viewParentShortcode = editor.editing.mapper.toViewElement(modelNewParentShortcode); - const domParentShortcode = editor.editing.view.domConverter.mapViewToDom(viewParentShortcode); - - const childNewNodes = [...domParentShortcode.querySelectorAll('shortcode-block shortcode-block')]; - const deepNewChildNodes = [...domParentShortcode.querySelectorAll('shortcode-block shortcode-block shortcode-block')]; - - const domNewShortcode = childNewNodes.filter((domChildShortcode) => !deepNewChildNodes.includes(domChildShortcode))[childIndex]; - const viewNewShortcode = editor.editing.view.domConverter.mapDomToView(domNewShortcode); - const modelNewShortcode = editor.editing.mapper.toModelElement(viewNewShortcode); - - editor.model.change((modelWriter2) => { - modelWriter2.setSelection(modelNewShortcode, 'on'); - modelShortcode = modelNewShortcode; - }); - }); - - return; - } - - const insertPosition = modelWriter.createPositionBefore(modelShortcode); - const modelOldShortcode = modelWriter.cloneElement(modelShortcode); - - const modelOldFragment = modelWriter.createDocumentFragment(); - modelWriter.append(modelOldShortcode, modelOldFragment); - - const viewOldShortcode = editor.data.toView(modelOldFragment).getChild(0); - const dataOldShortcode = editor.data.processor.toData(viewOldShortcode); - - const dataNewShortcode = uncollapse(collapse(dataOldShortcode)); - const viewNewShortcode = editor.data.processor.toView(dataNewShortcode).getChild(0); - const modelNewShortcode = editor.data.toModel(viewNewShortcode, convertContext).getChild(0); - - modelWriter.remove(modelShortcode); - modelWriter.insert(modelNewShortcode, insertPosition); - modelWriter.setSelection(modelNewShortcode, 'on'); - - modelShortcode = modelNewShortcode; - }); - }; - - showSettingsPopup(argsForPopup); - } -} diff --git a/plugins/shortcode-core/nextgen-editor/src/uncollapse.js b/plugins/shortcode-core/nextgen-editor/src/uncollapse.js deleted file mode 100644 index 5a6a6d7..0000000 --- a/plugins/shortcode-core/nextgen-editor/src/uncollapse.js +++ /dev/null @@ -1,164 +0,0 @@ -export default function uncollapse(input, args) { - const domOutput = new DOMParser().parseFromString(input, 'text/html'); - [...domOutput.querySelectorAll('shortcode-block, shortcode-inline')].forEach((domShortcode) => { - domShortcode.setAttribute('sc-rendered', false); - }); - - let domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]'); - - while (domShortcode) { - const name = domShortcode.getAttribute('name'); - const shortcode = window.nextgenEditor.shortcodes[name]; - const attributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes'))); - - domShortcode.classList.add('ck-shortcode'); - domShortcode.classList.add(`ck-shortcode-${shortcode.type}`); - domShortcode.removeAttribute('sc-rendered'); - - const argsForRender = { - shortcode, - attributes, - innerHTML: domShortcode.innerHTML, - parentAttributes: null, - childAttributes: null, - }; - - let innerHTML = ''; - - if (shortcode.type === 'block') { - if (shortcode.parent) { - domShortcode.classList.add('ck-shortcode-child'); - - const domParentShortcode = domShortcode.closest(`shortcode-block[name="${shortcode.parent.name}"]`); - - argsForRender.parentAttributes = !args || !args.parentAttributes - ? domParentShortcode - ? JSON.parse(decodeURIComponent(domParentShortcode.getAttribute('attributes'))) - : {} - : args.parentAttributes; - } - - if (shortcode.child) { - argsForRender.childAttributes = []; - domShortcode.classList.add('ck-shortcode-parent'); - - const childNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block[name="${shortcode.child.name}"]`)]; - const deepChildNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block shortcode-block[name="${shortcode.child.name}"]`)]; - - childNodes - .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode)) - .forEach((domChildShortcode) => { - const childAttributes = JSON.parse(decodeURIComponent(domChildShortcode.getAttribute('attributes'))); - argsForRender.childAttributes.push(childAttributes); - }); - } - - /* eslint-disable indent, no-multi-spaces */ - innerHTML += '
'; - innerHTML += `
Shortcode - ${shortcode.title}
`; - innerHTML += `
${shortcode.titlebar(argsForRender)}
`; - innerHTML += '
'; - innerHTML += ''; - innerHTML += ''; - innerHTML += ''; - innerHTML += '
'; - innerHTML += '
'; - innerHTML += '
'; - innerHTML += shortcode.content(argsForRender) - .replace('{{content_editable}}', `${domShortcode.innerHTML}`) - .replace('{{content_readonly}}', `${domShortcode.innerHTML}`); - innerHTML += '
'; - - if (shortcode.child) { - const visible = !domShortcode.innerHTML ? ' sc-visible' : ''; - innerHTML += `
`; - innerHTML += ''; - innerHTML += ''; - innerHTML += ''; - innerHTML += '
'; - } - - if (shortcode.parent) { - ['before', 'after'].forEach((where) => { - innerHTML += `
`; - innerHTML += ''; - innerHTML += ''; - innerHTML += ''; - innerHTML += '
'; - }); - - ['up', 'down'].forEach((where) => { - innerHTML += `
`; - innerHTML += ''; - innerHTML += ''; - innerHTML += ''; - innerHTML += '
'; - }); - } - /* eslint-enable indent, no-multi-spaces */ - } - - if (shortcode.type === 'inline') { - /* eslint-disable indent, no-multi-spaces */ - innerHTML += ''; - innerHTML += shortcode.content(argsForRender) - .replace('{{content_editable}}', `${domShortcode.innerHTML}`) - .replace('{{content_readonly}}', `${domShortcode.innerHTML}`); - innerHTML += ''; - innerHTML += ''; - innerHTML += ''; - innerHTML += ''; - innerHTML += ''; - innerHTML += ''; - /* eslint-enable indent, no-multi-spaces */ - } - - domShortcode.innerHTML = innerHTML; - domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]'); - } - - return domOutput.body.innerHTML; -} - -document.addEventListener('click', (event) => { - const { target } = event; - const list = ['sc-settings', 'sc-move', 'sc-add', 'sc-add-child']; - const action = { element: null, className: null }; - const isAction = list.some((item) => { - let match = target.classList.contains(item); - - if (match) { - action.element = target; - action.className = item; - - return true; - } - - match = target.closest(`.${item}`); - if (match) { - action.element = match; - action.className = item; - - return true; - } - - return false; - }); - - if (isAction) { - switch (action.className) { - case 'sc-move': - window.scBlockMoveChild.call(action.element, event, action.element.classList.contains('sc-move-up') ? 'up' : 'down'); - break; - case 'sc-add': - window.scBlockAddChild.call(action.element, event, action.element.classList.contains('sc-add-before') ? 'before' : 'after'); - break; - case 'sc-add-child': - window.scBlockAddChildFromParent.call(action.element, event); - break; - case 'sc-settings': - default: - window.scDisplaySettings.call(action.element, event); - } - } -}); diff --git a/plugins/shortcode-core/nextgen-editor/vue.config.js b/plugins/shortcode-core/nextgen-editor/vue.config.js deleted file mode 100644 index 43d4c4d..0000000 --- a/plugins/shortcode-core/nextgen-editor/vue.config.js +++ /dev/null @@ -1,31 +0,0 @@ -const DirectoryNamedWebpackPlugin = require('directory-named-webpack-plugin'); - -module.exports = { - filenameHashing: false, - publicPath: process.env.NODE_ENV === 'development' - ? `http://${process.env.DEV_HOST}:${process.env.DEV_PORT}/` - : '/', - configureWebpack: { - resolve: { - plugins: [ - new DirectoryNamedWebpackPlugin(), - ], - }, - optimization: { - splitChunks: false, - }, - }, - chainWebpack: (webpackConfig) => { - webpackConfig.plugins.delete('html'); - webpackConfig.plugins.delete('preload'); - webpackConfig.plugins.delete('prefetch'); - }, - devServer: { - host: process.env.DEV_HOST, - port: process.env.DEV_PORT, - disableHostCheck: true, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - }, -}; diff --git a/plugins/shortcode-core/nextgen-editor/yarn.lock b/plugins/shortcode-core/nextgen-editor/yarn.lock deleted file mode 100644 index 63dd817..0000000 --- a/plugins/shortcode-core/nextgen-editor/yarn.lock +++ /dev/null @@ -1,9534 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== - dependencies: - "@babel/highlight" "^7.12.13" - -"@babel/compat-data@^7.12.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" - integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== - -"@babel/core@^7.11.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.0.tgz#e42e07a086e978cdd4c61f4078d8230fb817cc86" - integrity sha512-iV7Gwg0DePKvdDZZWRTkj4MW+6/AbVWd4ZCg+zk8H1RVt5xBpUZS6vLQWwb3pyLg4BFTaGiQCPoJ4Ibmbne4fA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.0" - "@babel/helper-module-transforms" "^7.12.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.12.0" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.0" - "@babel/types" "^7.12.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.0.tgz#91a45f1c18ca8d895a35a04da1a4cf7ea3f37f98" - integrity sha512-8lnf4QcyiQMf5XQp47BltuMTocsOh6P0z/vueEh8GzhmWWlDbdvOoI5Ziddg0XYhmnx35HyByUW51/9NprF8cA== - dependencies: - "@babel/types" "^7.12.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" - integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" - integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-compilation-targets@^7.12.0", "@babel/helper-compilation-targets@^7.9.6": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.0.tgz#c477d89a1f4d626c8149b9b88802f78d66d0c99a" - integrity sha512-NbDFJNjDgxE7IkrHp5gq2+Tr8bEdCLKYN90YDQEjMiTMUAFAcShNkaH8kydcmU0mEQTiQY0Ydy/+1xfS2OCEnw== - dependencies: - "@babel/compat-data" "^7.12.0" - "@babel/helper-validator-option" "^7.12.0" - browserslist "^4.12.0" - semver "^5.5.0" - -"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.0.tgz#f3f2fc77bacc89e59ce6764daeabc1fb23e79a05" - integrity sha512-9tD1r9RK928vxvxcoNK8/7uwT7Q2DJZP1dnJmyMAJPwOF0yr8PPwqdpyw33lUpCfrJ765bOs5XNa4KSfUDWFSw== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.12.0" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.0" - "@babel/helper-split-export-declaration" "^7.10.4" - -"@babel/helper-create-regexp-features-plugin@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" - integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - regexpu-core "^4.7.1" - -"@babel/helper-define-map@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" - integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" - -"@babel/helper-explode-assignable-expression@^7.10.4": - version "7.11.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b" - integrity sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-hoist-variables@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" - integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-member-expression-to-functions@^7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.0.tgz#48f605fa801764f3e5b2e301e49d35fe1820c4f3" - integrity sha512-I0d/bgzgzgLsJMk7UZ0TN2KV3OGjC/t/9Saz8PKb9jrcEAXhgjGysOgp4PDKydIKjUv/gj2St4ae+ov8l+T9Xg== - dependencies: - "@babel/types" "^7.12.0" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.0.tgz#8ac7d9e8716f94549a42e577c5429391950e33f3" - integrity sha512-1ZTMoCiLSzTJLbq7mSaTHki4oIrBIf/dUbzdhwTrvtMU3ZNVKwQmGae3gSiqppo7G8HAgnXmc43rfEaD8yYLLQ== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.0" - "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.0" - "@babel/types" "^7.12.0" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-regex@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" - integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== - dependencies: - lodash "^4.17.19" - -"@babel/helper-remap-async-to-generator@^7.10.4": - version "7.11.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d" - integrity sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-replace-supers@^7.10.4", "@babel/helper-replace-supers@^7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.0.tgz#98d3f3eb779752e59c7422ab387c9b444323be60" - integrity sha512-9kycFdq2c9e7PXZOr2z/ZqTFF9OzFu287iFwYS+CiDVPuoTCfY8hoTsIqNQNetQjlqoRsRyJFrMG1uhGAR4EEw== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.0" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.0" - "@babel/types" "^7.12.0" - -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== - dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" - integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q== - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" - integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== - -"@babel/helper-validator-option@^7.12.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" - integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== - -"@babel/helper-wrap-function@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" - integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helpers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.12.13": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" - integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.10.4", "@babel/parser@^7.12.0", "@babel/parser@^7.7.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.1.tgz#dc03f543a0ed51396d4081463df66ecb3a2efa53" - integrity sha512-xjZsx0sBjb6J2+QkoHI69UeD2EWbsyUW0WyZKOoJ9sBrQLxfOApWEefR9dIVOYJVj97VRXnLKLDvnn3dPDNgww== - -"@babel/parser@^7.12.13": - version "7.13.16" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37" - integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw== - -"@babel/plugin-proposal-async-generator-functions@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" - integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" - integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-decorators@^7.8.3": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz#42898bba478bc4b1ae242a703a953a7ad350ffb4" - integrity sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-decorators" "^7.10.4" - -"@babel/plugin-proposal-dynamic-import@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" - integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-export-namespace-from@^7.12.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" - integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" - integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-logical-assignment-operators@^7.12.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" - integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.12.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" - integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" - integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.10.4" - -"@babel/plugin-proposal-optional-catch-binding@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" - integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.0.tgz#0159b549f165016fc9f284b8607a58a37a3b71fe" - integrity sha512-CXu9aw32FH/MksqdKvhpiH8pSvxnXJ33E7I7BGNE9VzNRpWgpNzvPpds/tW9E0pjmX9+D1zAHRyHbtyeTboo2g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-private-methods@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" - integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" - integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-async-generators@^7.8.0": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" - integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-decorators@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz#81a8b535b284476c41be6de06853a8802b98c5dd" - integrity sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-json-strings@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" - integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" - integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-arrow-functions@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" - integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-async-to-generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" - integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" - -"@babel/plugin-transform-block-scoped-functions@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" - integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-block-scoping@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" - integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-classes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" - integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" - integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-destructuring@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" - integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" - integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-duplicate-keys@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" - integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-exponentiation-operator@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" - integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-for-of@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" - integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-function-name@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" - integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-literals@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" - integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" - integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-modules-amd@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" - integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw== - dependencies: - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" - integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w== - dependencies: - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.0.tgz#bca842db6980cfc98ae7d0f2c907c9b1df3f874e" - integrity sha512-h2fDMnwRwBiNMmTGAWqUo404Z3oLbrPE6hyATecyIbsEsrbM5gjLbfKQLb6hjiouMlGHH+yliYBbc4NPgWKE/g== - dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.12.0" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-identifier" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" - integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA== - dependencies: - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" - integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - -"@babel/plugin-transform-new-target@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" - integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-object-super@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" - integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - -"@babel/plugin-transform-parameters@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" - integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-property-literals@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" - integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-regenerator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" - integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" - integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-runtime@^7.11.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.0.tgz#01f67ea62662e7de401af7567b6054e6a4807d65" - integrity sha512-BC8wiTo+0kEG8M6wuEBeuG7AIazTan02/Bh4dgi+wdDBE+p2iv5AXO8OUjrwD100223S/2WbALSqj7c290XTKg== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/plugin-transform-shorthand-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" - integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-spread@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" - integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" - -"@babel/plugin-transform-sticky-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" - integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - -"@babel/plugin-transform-template-literals@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" - integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typeof-symbol@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" - integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-escapes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" - integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" - integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/preset-env@^7.11.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.0.tgz#7d2d0c4f4a14ca0fd7d905a741070ab4745177b7" - integrity sha512-jSIHvHSuF+hBUIrvA2/61yIzhH+ceLOXGLTH1nwPvQlso/lNxXsoE/nvrCzY5M77KRzhKegB1CvdhWPZmYDZ5A== - dependencies: - "@babel/compat-data" "^7.12.0" - "@babel/helper-compilation-targets" "^7.12.0" - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.0" - "@babel/plugin-proposal-async-generator-functions" "^7.10.4" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-dynamic-import" "^7.10.4" - "@babel/plugin-proposal-export-namespace-from" "^7.12.0" - "@babel/plugin-proposal-json-strings" "^7.10.4" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.0" - "@babel/plugin-proposal-numeric-separator" "^7.12.0" - "@babel/plugin-proposal-object-rest-spread" "^7.11.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" - "@babel/plugin-proposal-optional-chaining" "^7.12.0" - "@babel/plugin-proposal-private-methods" "^7.10.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.10.4" - "@babel/plugin-transform-arrow-functions" "^7.10.4" - "@babel/plugin-transform-async-to-generator" "^7.10.4" - "@babel/plugin-transform-block-scoped-functions" "^7.10.4" - "@babel/plugin-transform-block-scoping" "^7.10.4" - "@babel/plugin-transform-classes" "^7.10.4" - "@babel/plugin-transform-computed-properties" "^7.10.4" - "@babel/plugin-transform-destructuring" "^7.10.4" - "@babel/plugin-transform-dotall-regex" "^7.10.4" - "@babel/plugin-transform-duplicate-keys" "^7.10.4" - "@babel/plugin-transform-exponentiation-operator" "^7.10.4" - "@babel/plugin-transform-for-of" "^7.10.4" - "@babel/plugin-transform-function-name" "^7.10.4" - "@babel/plugin-transform-literals" "^7.10.4" - "@babel/plugin-transform-member-expression-literals" "^7.10.4" - "@babel/plugin-transform-modules-amd" "^7.10.4" - "@babel/plugin-transform-modules-commonjs" "^7.10.4" - "@babel/plugin-transform-modules-systemjs" "^7.12.0" - "@babel/plugin-transform-modules-umd" "^7.10.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" - "@babel/plugin-transform-new-target" "^7.10.4" - "@babel/plugin-transform-object-super" "^7.10.4" - "@babel/plugin-transform-parameters" "^7.10.4" - "@babel/plugin-transform-property-literals" "^7.10.4" - "@babel/plugin-transform-regenerator" "^7.10.4" - "@babel/plugin-transform-reserved-words" "^7.10.4" - "@babel/plugin-transform-shorthand-properties" "^7.10.4" - "@babel/plugin-transform-spread" "^7.11.0" - "@babel/plugin-transform-sticky-regex" "^7.10.4" - "@babel/plugin-transform-template-literals" "^7.10.4" - "@babel/plugin-transform-typeof-symbol" "^7.10.4" - "@babel/plugin-transform-unicode-escapes" "^7.10.4" - "@babel/plugin-transform-unicode-regex" "^7.10.4" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.0" - browserslist "^4.12.0" - core-js-compat "^3.6.2" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.0.tgz#98bd7666186969c04be893d747cf4a6c6c8fa6b0" - integrity sha512-lS4QLXQ2Vbw2ubfQjeQcn+BZgZ5+ROHW9f+DWjEp5Y+NHYmkRGKqHSJ1tuhbUauKu2nhZNTBIvsIQ8dXfY5Gjw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/template@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.0", "@babel/traverse@^7.7.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.0.tgz#ed31953d6e708cdd34443de2fcdb55f72cdfb266" - integrity sha512-ZU9e79xpOukCNPkQ1UzR4gJKCruGckr6edd8v8lmKpSk8iakgUIvb+5ZtaKKV9f7O+x5r+xbMDDIbzVpUoiIuw== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.0" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.0" - "@babel/types" "^7.12.0" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.0.tgz#b6b49f425ee59043fbc89c61b11a13d5eae7b5c6" - integrity sha512-ggIyFmT2zMaYRheOfPDQ4gz7QqV3B+t2rjqjbttDJxMcb7/LukvWCmlIl1sWcOxrvwpTDd+z0OytzqsbGeb3/g== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.12.13": - version "7.13.17" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4" - integrity sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - to-fast-properties "^2.0.0" - -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@hapi/address@2.x.x": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" - integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== - -"@hapi/bourne@1.x.x": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" - integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== - -"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": - version "8.5.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" - integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== - -"@hapi/joi@^15.0.1": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" - integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== - dependencies: - "@hapi/address" "2.x.x" - "@hapi/bourne" "1.x.x" - "@hapi/hoek" "8.x.x" - "@hapi/topo" "3.x.x" - -"@hapi/topo@3.x.x": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" - integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== - dependencies: - "@hapi/hoek" "^8.3.0" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" - integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== - -"@intervolga/optimize-cssnano-plugin@^1.0.5": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8" - integrity sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA== - dependencies: - cssnano "^4.0.0" - cssnano-preset-default "^4.0.0" - postcss "^7.0.0" - -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - -"@soda/friendly-errors-webpack-plugin@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz#706f64bcb4a8b9642b48ae3ace444c70334d615d" - integrity sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ== - dependencies: - chalk "^1.1.3" - error-stack-parser "^2.0.0" - string-width "^2.0.0" - -"@soda/get-current-script@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" - integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== - -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - -"@types/body-parser@*": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" - integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/connect-history-api-fallback@*": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.3.tgz#4772b79b8b53185f0f4c9deab09236baf76ee3b4" - integrity sha512-7SxFCd+FLlxCfwVwbyPxbR4khL9aNikJhrorw8nUIOqeuooc9gifBuDQOJw5kzN7i6i3vLn9G8Wde/4QDihpYw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.34" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" - integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== - dependencies: - "@types/node" "*" - -"@types/express-serve-static-core@*": - version "4.17.17" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz#6ba02465165b6c9c3d8db3a28def6b16fc9b70f5" - integrity sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@*": - version "4.17.9" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.9.tgz#f5f2df6add703ff28428add52bdec8a1091b0a78" - integrity sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "*" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/http-proxy-middleware@*": - version "0.19.3" - resolved "https://registry.yarnpkg.com/@types/http-proxy-middleware/-/http-proxy-middleware-0.19.3.tgz#b2eb96fbc0f9ac7250b5d9c4c53aade049497d03" - integrity sha512-lnBTx6HCOUeIJMLbI/LaL5EmdKLhczJY5oeXZpX/cXE4rRqb3RmV7VcMpiEfYkmTjipv3h7IAyIINe4plEv7cA== - dependencies: - "@types/connect" "*" - "@types/http-proxy" "*" - "@types/node" "*" - -"@types/http-proxy@*": - version "1.17.4" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.4.tgz#e7c92e3dbe3e13aa799440ff42e6d3a17a9d045b" - integrity sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q== - dependencies: - "@types/node" "*" - -"@types/json-schema@^7.0.5": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/mime@*": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a" - integrity sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q== - -"@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== - -"@types/minimist@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" - integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== - -"@types/node@*": - version "14.11.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" - integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" - integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== - -"@types/qs@*": - version "6.9.5" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" - integrity sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== - -"@types/range-parser@*": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" - integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== - -"@types/serve-static@*": - version "1.13.8" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.8.tgz#851129d434433c7082148574ffec263d58309c46" - integrity sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA== - dependencies: - "@types/mime" "*" - "@types/node" "*" - -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/tapable@*": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" - integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== - -"@types/uglify-js@*": - version "3.11.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.11.1.tgz#97ff30e61a0aa6876c270b5f538737e2d6ab8ceb" - integrity sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q== - dependencies: - source-map "^0.6.1" - -"@types/webpack-dev-server@^3.11.0": - version "3.11.1" - resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz#f8f4dac1da226d530bd15a1d5dc34b23ba766ccb" - integrity sha512-rIb+LtUkKnh7+oIJm3WiMJONd71Q0lZuqGLcSqhZ5qjN9gV/CNmZe7Bai+brnBPZ/KVYOsr+4bFLiNZwjBicLw== - dependencies: - "@types/connect-history-api-fallback" "*" - "@types/express" "*" - "@types/http-proxy-middleware" "*" - "@types/serve-static" "*" - "@types/webpack" "*" - -"@types/webpack-sources@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" - integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@*", "@types/webpack@^4.0.0": - version "4.41.25" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" - integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== - dependencies: - "@types/anymatch" "*" - "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" - -"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" - integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== - -"@vue/babel-helper-vue-transform-on@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz#9b9c691cd06fc855221a2475c3cc831d774bc7dc" - integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== - -"@vue/babel-plugin-jsx@^1.0.3": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.5.tgz#72820d5fb371c41d2113b31b16787995e8bdf69a" - integrity sha512-Jtipy7oI0am5e1q5Ahunm/cCcCh5ssf5VkMQsLR383S3un5Qh7NBfxgSK9kmWf4IXJEhDeYp9kHv8G/EnMai9A== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - "@vue/babel-helper-vue-transform-on" "^1.0.2" - camelcase "^6.0.0" - html-tags "^3.1.0" - svg-tags "^1.0.0" - -"@vue/babel-plugin-transform-vue-jsx@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" - integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - html-tags "^2.0.0" - lodash.kebabcase "^4.1.1" - svg-tags "^1.0.0" - -"@vue/babel-preset-app@^4.5.13": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz#cb475321e4c73f7f110dac29a48c2a9cb80afeb6" - integrity sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw== - dependencies: - "@babel/core" "^7.11.0" - "@babel/helper-compilation-targets" "^7.9.6" - "@babel/helper-module-imports" "^7.8.3" - "@babel/plugin-proposal-class-properties" "^7.8.3" - "@babel/plugin-proposal-decorators" "^7.8.3" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.11.0" - "@babel/preset-env" "^7.11.0" - "@babel/runtime" "^7.11.0" - "@vue/babel-plugin-jsx" "^1.0.3" - "@vue/babel-preset-jsx" "^1.2.4" - babel-plugin-dynamic-import-node "^2.3.3" - core-js "^3.6.5" - core-js-compat "^3.6.5" - semver "^6.1.0" - -"@vue/babel-preset-jsx@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" - integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== - dependencies: - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" - "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" - "@vue/babel-sugar-functional-vue" "^1.2.2" - "@vue/babel-sugar-inject-h" "^1.2.2" - "@vue/babel-sugar-v-model" "^1.2.3" - "@vue/babel-sugar-v-on" "^1.2.3" - -"@vue/babel-sugar-composition-api-inject-h@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" - integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-composition-api-render-instance@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" - integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-functional-vue@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" - integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-inject-h@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" - integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-v-model@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" - integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - html-tags "^2.0.0" - svg-tags "^1.0.0" - -"@vue/babel-sugar-v-on@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" - integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - -"@vue/cli-overlay@^4.5.13": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-4.5.13.tgz#4f1fd2161be8f69d6cba8079f3f0d7dc4dee47a7" - integrity sha512-jhUIg3klgi5Cxhs8dnat5hi/W2tQJvsqCxR0u6hgfSob0ORODgUBlN+F/uwq7cKIe/pzedVUk1y07F13GQvPqg== - -"@vue/cli-plugin-babel@~4.5.13": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.13.tgz#a89c482edcc4ea1d135645cec502a7f5fd4c30e7" - integrity sha512-ykvEAfD8PgGs+dGMGqr7l/nRmIS39NRzWLhMluPLTvDV1L+IxcoB73HNLGA/aENDpl8CuWrTE+1VgydcOhp+wg== - dependencies: - "@babel/core" "^7.11.0" - "@vue/babel-preset-app" "^4.5.13" - "@vue/cli-shared-utils" "^4.5.13" - babel-loader "^8.1.0" - cache-loader "^4.1.0" - thread-loader "^2.1.3" - webpack "^4.0.0" - -"@vue/cli-plugin-eslint@~4.5.13": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.13.tgz#8baf22d0d96d76720c7506646b96f4f62c05bdfa" - integrity sha512-yc2uXX6aBiy3vEf5TwaueaDqQbdIXIhk0x0KzEtpPo23jBdLkpOSoU5NCgE06g/ZiGAcettpmBSv73Hfp4wHEw== - dependencies: - "@vue/cli-shared-utils" "^4.5.13" - eslint-loader "^2.2.1" - globby "^9.2.0" - inquirer "^7.1.0" - webpack "^4.0.0" - yorkie "^2.0.0" - -"@vue/cli-plugin-router@^4.5.13": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-4.5.13.tgz#0b67c8898a2bf132941919a2a2e5f3aacbd9ffbe" - integrity sha512-tgtMDjchB/M1z8BcfV4jSOY9fZSMDTPgF9lsJIiqBWMxvBIsk9uIZHxp62DibYME4CCKb/nNK61XHaikFp+83w== - dependencies: - "@vue/cli-shared-utils" "^4.5.13" - -"@vue/cli-plugin-vuex@^4.5.13": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.13.tgz#98646d8bc1e69cf6c6a6cba2fed3eace0356c360" - integrity sha512-I1S9wZC7iI0Wn8kw8Zh+A2Qkf6s1M6vTGBkx8boXjuzfwEEyEHRxadsVCecZc8Mkpydo0nykj+MyYF96TKFuVA== - -"@vue/cli-service@~4.5.13": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-4.5.13.tgz#a09e684a801684b6e24e5414ad30650970eec9ed" - integrity sha512-CKAZN4iokMMsaUyJRU22oUAz3oS/X9sVBSKAF2/shFBV5xh3jqAlKl8OXZYz4cXGFLA6djNuYrniuLAo7Ku97A== - dependencies: - "@intervolga/optimize-cssnano-plugin" "^1.0.5" - "@soda/friendly-errors-webpack-plugin" "^1.7.1" - "@soda/get-current-script" "^1.0.0" - "@types/minimist" "^1.2.0" - "@types/webpack" "^4.0.0" - "@types/webpack-dev-server" "^3.11.0" - "@vue/cli-overlay" "^4.5.13" - "@vue/cli-plugin-router" "^4.5.13" - "@vue/cli-plugin-vuex" "^4.5.13" - "@vue/cli-shared-utils" "^4.5.13" - "@vue/component-compiler-utils" "^3.1.2" - "@vue/preload-webpack-plugin" "^1.1.0" - "@vue/web-component-wrapper" "^1.2.0" - acorn "^7.4.0" - acorn-walk "^7.1.1" - address "^1.1.2" - autoprefixer "^9.8.6" - browserslist "^4.12.0" - cache-loader "^4.1.0" - case-sensitive-paths-webpack-plugin "^2.3.0" - cli-highlight "^2.1.4" - clipboardy "^2.3.0" - cliui "^6.0.0" - copy-webpack-plugin "^5.1.1" - css-loader "^3.5.3" - cssnano "^4.1.10" - debug "^4.1.1" - default-gateway "^5.0.5" - dotenv "^8.2.0" - dotenv-expand "^5.1.0" - file-loader "^4.2.0" - fs-extra "^7.0.1" - globby "^9.2.0" - hash-sum "^2.0.0" - html-webpack-plugin "^3.2.0" - launch-editor-middleware "^2.2.1" - lodash.defaultsdeep "^4.6.1" - lodash.mapvalues "^4.6.0" - lodash.transform "^4.6.0" - mini-css-extract-plugin "^0.9.0" - minimist "^1.2.5" - pnp-webpack-plugin "^1.6.4" - portfinder "^1.0.26" - postcss-loader "^3.0.0" - ssri "^8.0.1" - terser-webpack-plugin "^1.4.4" - thread-loader "^2.1.3" - url-loader "^2.2.0" - vue-loader "^15.9.2" - vue-style-loader "^4.1.2" - webpack "^4.0.0" - webpack-bundle-analyzer "^3.8.0" - webpack-chain "^6.4.0" - webpack-dev-server "^3.11.0" - webpack-merge "^4.2.2" - optionalDependencies: - vue-loader-v16 "npm:vue-loader@^16.1.0" - -"@vue/cli-shared-utils@^4.5.13": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-4.5.13.tgz#acd40f31b4790f1634292bdaa5fca95dc1e0ff50" - integrity sha512-HpnOrkLg42RFUsQGMJv26oTG3J3FmKtO2WSRhKIIL+1ok3w9OjGCtA3nMMXN27f9eX14TqO64M36DaiSZ1fSiw== - dependencies: - "@hapi/joi" "^15.0.1" - chalk "^2.4.2" - execa "^1.0.0" - launch-editor "^2.2.1" - lru-cache "^5.1.1" - node-ipc "^9.1.1" - open "^6.3.0" - ora "^3.4.0" - read-pkg "^5.1.1" - request "^2.88.2" - semver "^6.1.0" - strip-ansi "^6.0.0" - -"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d" - integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw== - dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^7.0.14" - postcss-selector-parser "^6.0.2" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" - optionalDependencies: - prettier "^1.18.2" - -"@vue/eslint-config-airbnb@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@vue/eslint-config-airbnb/-/eslint-config-airbnb-5.3.0.tgz#896551d600816a06dff13fdd7d04fd5153379817" - integrity sha512-m9ldRhbqaODbcc9mQZjPgnTzyNweZblLMTqMfC2kHWY68dYd3kwG/hvENeZWXJnKKo+eGnoptk+7Zq/c1519ZQ== - dependencies: - eslint-config-airbnb-base "^14.0.0" - eslint-import-resolver-node "^0.3.4" - eslint-import-resolver-webpack "^0.13.0" - eslint-plugin-import "^2.21.2" - -"@vue/preload-webpack-plugin@^1.1.0": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab" - integrity sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ== - -"@vue/web-component-wrapper@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz#bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1" - integrity sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw== - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -address@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.6.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" - integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -arch@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf" - integrity sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-find@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" - integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - -array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - get-intrinsic "^1.1.1" - is-string "^1.0.5" - -array-union@^1.0.1, array-union@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -array.prototype.flat@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@^9.8.6: - version "9.8.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== - dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - colorette "^1.2.1" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== - -babel-eslint@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - -babel-loader@^8.1.0: - version "8.2.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" - integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bfj@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" - integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== - dependencies: - bluebird "^3.5.5" - check-types "^8.0.3" - hoopy "^0.1.4" - tryer "^1.0.1" - -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bluebird@^3.1.1, bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== - -bn.js@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: - version "4.14.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" - integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA== - dependencies: - caniuse-lite "^1.0.30001135" - electron-to-chromium "^1.3.571" - escalade "^3.1.0" - node-releases "^1.1.61" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-json@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" - integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -cacache@^12.0.2, cacache@^12.0.3: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-loader@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" - integrity sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== - dependencies: - buffer-json "^2.0.0" - find-cache-dir "^3.0.0" - loader-utils "^1.2.3" - mkdirp "^0.5.1" - neo-async "^2.6.1" - schema-utils "^2.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" - integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: - version "1.0.30001218" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz" - integrity sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q== - -case-sensitive-paths-webpack-plugin@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" - integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -check-types@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" - integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1: - version "3.4.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@4.2.x: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-highlight@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.4.tgz#098cb642cf17f42adc1c1145e07f960ec4d7522b" - integrity sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ== - dependencies: - chalk "^3.0.0" - highlight.js "^9.6.0" - mz "^2.4.0" - parse5 "^5.1.1" - parse5-htmlparser2-tree-adapter "^5.1.1" - yargs "^15.0.0" - -cli-spinners@^2.0.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047" - integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ== - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -clipboardy@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" - integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== - dependencies: - arch "^2.1.1" - execa "^1.0.0" - is-wsl "^2.1.1" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" - integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" - -colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@2.17.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== - -commander@^2.18.0, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -confusing-browser-globals@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" - integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" - integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - dependencies: - bluebird "^3.1.1" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-webpack-plugin@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" - integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== - dependencies: - cacache "^12.0.3" - find-cache-dir "^2.1.0" - glob-parent "^3.1.0" - globby "^7.1.1" - is-glob "^4.0.1" - loader-utils "^1.2.3" - minimatch "^3.0.4" - normalize-path "^3.0.0" - p-limit "^2.2.1" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - webpack-log "^2.0.0" - -core-js-compat@^3.6.2, core-js-compat@^3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - -core-js@^3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-loader@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" - integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^2.7.0" - semver "^6.3.0" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== - dependencies: - mdn-data "2.0.6" - source-map "^0.6.1" - -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^4.0.0, cssnano@^4.1.10: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== - dependencies: - css-tree "1.0.0-alpha.39" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.1, debug@^3.2.5: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== - dependencies: - ms "2.1.2" - -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-is@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" - integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -default-gateway@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-5.0.5.tgz#4fd6bd5d2855d39b34cc5a59505486e9aafc9b10" - integrity sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA== - dependencies: - execa "^3.3.0" - -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - dependencies: - clone "^1.0.2" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^2.0.0, dir-glob@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - -directory-named-webpack-plugin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/directory-named-webpack-plugin/-/directory-named-webpack-plugin-4.0.1.tgz#d5f422310bb446297ec422d3656dbf0921a6fa26" - integrity sha512-cULe7U64O9NM+O+L9gfcVKPo/A0pNEntsXTpuRHoCFMYE5pV9XQrJI9mJ8bgo0WKPmKPw/kozXfRolNNFJICCA== - dependencies: - enhanced-resolve "^4.0.0" - object-assign "^4.1.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971" - integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -easy-stack@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788" - integrity sha1-EskbMIWjfwuqM26UhurEv5Tj54g= - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - -electron-to-chromium@^1.3.571: - version "1.3.581" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.581.tgz#7f796fe92cdc18f5013769dc6f45f4536315a183" - integrity sha512-ALORbI23YkYJoVJWusSdmTq8vXH3TLFzniILE47uZkZOim135ZhoTCM7QlIuvmK78As5kLdANfy7kDIQvJ+iPw== - -elliptic@^6.5.3: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" - integrity sha1-TW5omzcl+GCQknzMhs2fFjW4ni4= - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.2.0" - tapable "^0.1.8" - -enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" - integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== - -env-paths@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" - integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" - integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== - dependencies: - stackframe "^1.1.1" - -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: - version "1.17.7" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" - integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-regex "^1.1.1" - object-inspect "^1.8.0" - object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1: - version "1.18.0-next.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" - integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.0" - is-regex "^1.1.1" - object-inspect "^1.8.0" - object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: - version "1.18.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" - integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-string "^1.0.7" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-airbnb-base@^14.0.0: - version "14.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.0.tgz#fe89c24b3f9dc8008c9c0d0d88c28f95ed65e9c4" - integrity sha512-Snswd5oC6nJaevs3nZoLSTvGJBvzTfnBqOIArkf3cbyTyq9UD79wOk8s+RiL6bhca0p/eRO6veczhf6A/7Jy8Q== - dependencies: - confusing-browser-globals "^1.0.9" - object.assign "^4.1.0" - object.entries "^1.1.2" - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-import-resolver-webpack@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.13.0.tgz#5cb19cf4b6996c8a2514aeb10f909e2c70488dc3" - integrity sha512-hZWGcmjaJZK/WSCYGI/y4+FMGQZT+cwW/1E/P4rDwFj2PbanlQHISViw4ccDJ+2wxAqjgwBfxwy3seABbVKDEw== - dependencies: - array-find "^1.0.0" - debug "^2.6.9" - enhanced-resolve "^0.9.1" - find-root "^1.1.0" - has "^1.0.3" - interpret "^1.2.0" - lodash "^4.17.15" - node-libs-browser "^1.0.0 || ^2.0.0" - resolve "^1.13.1" - semver "^5.7.1" - -eslint-loader@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" - integrity sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg== - dependencies: - loader-fs-cache "^1.0.0" - loader-utils "^1.0.2" - object-assign "^4.0.1" - object-hash "^1.1.4" - rimraf "^2.6.1" - -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-module-utils@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" - integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== - dependencies: - debug "^3.2.7" - pkg-dir "^2.0.0" - -eslint-plugin-import@^2.21.2: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-import@^2.24.2: - version "2.24.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" - integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== - dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.6.2" - find-up "^2.0.0" - has "^1.0.3" - is-core-module "^2.6.0" - minimatch "^3.0.4" - object.values "^1.1.4" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.11.0" - -eslint-plugin-vue@^7.18.0: - version "7.18.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.18.0.tgz#02a452142330c7f27c242db21a1b9e25238540f6" - integrity sha512-ceDXlXYMMPMSXw7tdKUR42w9jlzthJGJ3Kvm3YrZ0zuQfvAySNxe8sm6VHuksBW0+060GzYXhHJG6IHVOfF83Q== - dependencies: - eslint-utils "^2.1.0" - natural-compare "^1.4.0" - semver "^6.3.0" - vue-eslint-parser "^7.10.0" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== - -eslint@^7.32.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -event-pubsub@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" - integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== - -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" - integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" - integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -express@^4.16.3, express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== - dependencies: - websocket-driver ">=0.5.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" - integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.5.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -filesize@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" - integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@^1.0.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" - integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== - dependencies: - type-fest "^0.20.2" - -globals@^13.9.0: - version "13.11.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" - integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== - dependencies: - type-fest "^0.20.2" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^1.0.2" - dir-glob "^2.2.2" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - -globule@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" - integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== - dependencies: - glob "~7.1.1" - lodash "~4.17.10" - minimatch "~3.0.2" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -gzip-size@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= - -hash-sum@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" - integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@1.2.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -highlight.js@^9.6.0: - version "9.18.3" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.3.tgz#a1a0a2028d5e3149e2380f8a865ee8516703d634" - integrity sha512-zBZAmhSupHIl5sITeMqIJnYCDfAEc3Gdkqj65wC1lpI468MMQeeQkhcIAvk+RylAkxrCcI9xy9piHiXeQ1BdzQ== - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - -html-entities@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== - -html-minifier@^3.2.3: - version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" - -html-tags@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" - integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= - -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== - -html-webpack-plugin@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" - integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= - dependencies: - html-minifier "^3.2.3" - loader-utils "^0.2.16" - lodash "^4.17.3" - pretty-error "^2.0.2" - tapable "^1.0.0" - toposort "^1.0.0" - util.promisify "1.0.0" - -htmlparser2@^3.3.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-parser-js@>=0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" - integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== - -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.17.0: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^4.0.3, ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -inquirer@^7.1.0: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" - integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== - -is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - -is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.6.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3" - integrity sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-negative-zero@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" - integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.0.4, is-regex@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== - dependencies: - has-symbols "^1.0.1" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -javascript-stringify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5" - integrity sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow== - -js-base64@^2.1.8: - version "2.6.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" - integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== - -js-message@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15" - integrity sha1-IwDSSxrwjondCVvBpMnJz8uJLRU= - -js-queue@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.0.tgz#362213cf860f468f0125fc6c96abc1742531f948" - integrity sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug= - dependencies: - easy-stack "^1.0.0" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json3@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -klona@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" - integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== - -launch-editor-middleware@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" - integrity sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg== - dependencies: - launch-editor "^2.2.1" - -launch-editor@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.2.1.tgz#871b5a3ee39d6680fcc26d37930b6eeda89db0ca" - integrity sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw== - dependencies: - chalk "^2.3.0" - shell-quote "^1.6.1" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-fs-cache@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" - integrity sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA== - dependencies: - find-cache-dir "^0.1.1" - mkdirp "^0.5.1" - -loader-runner@^2.3.1, loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.defaultsdeep@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" - integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= - -lodash.mapvalues@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" - integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.transform@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0" - integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.3, lodash@~4.17.10: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -loglevel@^1.6.8: - version "1.7.0" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" - integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lru-cache@^4.0.1, lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -memory-fs@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" - integrity sha1-8rslNovBIeORwlIN6Slpyu4KApA= - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -"mime-db@>= 1.43.0 < 2": - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.4.4: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-css-extract-plugin@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" - integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minipass@^3.0.0, minipass@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -mz@^2.4.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nan@^2.12.1, nan@^2.13.2: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - -node-gyp@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" - integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.3" - nopt "^5.0.0" - npmlog "^4.1.2" - request "^2.88.2" - rimraf "^3.0.2" - semver "^7.3.2" - tar "^6.0.2" - which "^2.0.2" - -node-ipc@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.1.1.tgz#4e245ed6938e65100e595ebc5dc34b16e8dd5d69" - integrity sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w== - dependencies: - event-pubsub "4.3.0" - js-message "1.0.5" - js-queue "2.0.0" - -"node-libs-browser@^1.0.0 || ^2.0.0", node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-releases@^1.1.61: - version "1.1.63" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.63.tgz#db6dbb388544c31e888216304e8fd170efee3ff5" - integrity sha512-ukW3iCfQaoxJkSPN+iK7KznTeqDGVJatAEuXsJERYHa9tn/KaT5lBdIyxQjLEVTzSkyjJEuQ17/vaEjrOauDkg== - -node-sass@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" - integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^7.0.3" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - lodash "^4.17.15" - meow "^9.0.0" - nan "^2.13.2" - node-gyp "^7.1.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "2.2.5" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" - integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^4.0.0, npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@^1.0.2, nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^1.1.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== - -object-inspect@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== - -object-is@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz#2e3b9e65560137455ee3bd62aec4d90a2ea1cc81" - integrity sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" - integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.18.0-next.0" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.entries@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" - integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - has "^1.0.3" - -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0, object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -object.values@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^6.3.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" - integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== - dependencies: - is-wsl "^1.1.0" - -opener@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" - integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== - dependencies: - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-spinners "^2.0.0" - log-symbols "^2.2.0" - strip-ansi "^5.2.0" - wcwidth "^1.0.1" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== - dependencies: - retry "^0.12.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5-htmlparser2-tree-adapter@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz#e8c743d4e92194d5293ecde2b08be31e67461cbc" - integrity sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw== - dependencies: - parse5 "^5.1.1" - -parse5@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -pnp-webpack-plugin@^1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" - integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== - dependencies: - ts-pnp "^1.1.6" - -portfinder@^1.0.26: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-calc@^7.0.1: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" - integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== - dependencies: - postcss "^7.0.27" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-load-config@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" - integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" - integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - util-deprecate "^1.0.2" - -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" - integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -prettier@^1.18.2: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -pretty-error@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.1.1, read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - -relateurl@0.2.x: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== - dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request@^2.88.0, request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.6.0: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass-graph@2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" - integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^13.3.2" - -sass-loader@^12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.1.0.tgz#b73324622231009da6fba61ab76013256380d201" - integrity sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.7.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.7: - version "1.10.8" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" - integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== - dependencies: - node-forge "^0.10.0" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.2.1, semver@^7.3.2: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.4: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.20: - version "0.3.20" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" - integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== - dependencies: - faye-websocket "^0.10.0" - uuid "^3.4.0" - websocket-driver "0.6.5" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@~0.5.12: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" - integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stackframe@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" - integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== - dependencies: - readable-stream "^2.0.1" - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= - -svgo@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -table@^6.0.9: - version "6.7.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" - -tapable@^0.1.8: - version "0.1.10" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" - integrity sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q= - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tar@^6.0.2: - version "6.0.5" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" - integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terser-webpack-plugin@^1.4.3, terser-webpack-plugin@^1.4.4: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -thread-loader@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" - integrity sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg== - dependencies: - loader-runner "^2.3.1" - loader-utils "^1.1.0" - neo-async "^2.6.0" - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -toposort@^1.0.0: - version "1.0.7" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" - integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -"true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== - dependencies: - glob "^7.1.2" - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== - -tsconfig-paths@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" - integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - -uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" - integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== - dependencies: - loader-utils "^1.2.3" - mime "^2.4.4" - schema-utils "^2.5.0" - -url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@^0.4.0, utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.3.2, uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -vue-eslint-parser@^7.10.0: - version "7.11.0" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf" - integrity sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg== - dependencies: - debug "^4.1.1" - eslint-scope "^5.1.1" - eslint-visitor-keys "^1.1.0" - espree "^6.2.1" - esquery "^1.4.0" - lodash "^4.17.21" - semver "^6.3.0" - -vue-hot-reload-api@^2.3.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" - integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== - -"vue-loader-v16@npm:vue-loader@^16.1.0": - version "16.1.2" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-16.1.2.tgz#5c03b6c50d2a5f983c7ceba15c50d78ca2b298f4" - integrity sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q== - dependencies: - chalk "^4.1.0" - hash-sum "^2.0.0" - loader-utils "^2.0.0" - -vue-loader@^15.9.2: - version "15.9.6" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.6.tgz#f4bb9ae20c3a8370af3ecf09b8126d38ffdb6b8b" - integrity sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg== - dependencies: - "@vue/component-compiler-utils" "^3.1.0" - hash-sum "^1.0.2" - loader-utils "^1.1.0" - vue-hot-reload-api "^2.3.0" - vue-style-loader "^4.1.0" - -vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8" - integrity sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ== - dependencies: - hash-sum "^1.0.2" - loader-utils "^1.0.2" - -vue-template-es2015-compiler@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" - integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== - -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= - dependencies: - defaults "^1.0.3" - -webpack-bundle-analyzer@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" - integrity sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - bfj "^6.1.1" - chalk "^2.4.1" - commander "^2.18.0" - ejs "^2.6.1" - express "^4.16.3" - filesize "^3.6.1" - gzip-size "^5.0.0" - lodash "^4.17.19" - mkdirp "^0.5.1" - opener "^1.5.1" - ws "^6.0.0" - -webpack-chain@^6.4.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" - integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== - dependencies: - deepmerge "^1.5.2" - javascript-stringify "^2.0.1" - -webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" - integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.7" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "0.3.20" - sockjs-client "1.4.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== - dependencies: - lodash "^4.17.15" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^4.0.0: - version "4.44.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" - integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.3.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -websocket-driver@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" - integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= - dependencies: - websocket-extensions ">=0.1.1" - -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -ws@^6.0.0, ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^15.0.0: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yorkie@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" - integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== - dependencies: - execa "^0.8.0" - is-ci "^1.0.10" - normalize-path "^1.0.0" - strip-indent "^2.0.0" diff --git a/plugins/shortcode-core/shortcode-core.php b/plugins/shortcode-core/shortcode-core.php deleted file mode 100644 index abcf24b..0000000 --- a/plugins/shortcode-core/shortcode-core.php +++ /dev/null @@ -1,293 +0,0 @@ - [ - ['autoload', 100001], - ['onPluginsInitialized', 10] - ], - 'registerNextGenEditorPlugin' => [ - ['registerNextGenEditorPlugin', 0], - ['registerNextGenEditorPluginShortcodes', 0], - ] - ]; - } - - /** - * [onPluginsInitialized:100000] Composer autoload. - * - * @return ClassLoader - */ - public function autoload() - { - return require __DIR__ . '/vendor/autoload.php'; - } - - /** - * Initialize configuration - */ - public function onPluginsInitialized() - { - $this->config = $this->grav['config']; - - // don't continue if this is admin and plugin is disabled for admin - if (!$this->config->get('plugins.shortcode-core.active_admin') && $this->isAdmin()) { - return; - } - - $this->enable([ - 'onThemeInitialized' => ['onThemeInitialized', 0], - 'onMarkdownInitialized' => ['onMarkdownInitialized', 0], - 'onShortcodeHandlers' => ['onShortcodeHandlers', 0], - 'onPageContentRaw' => ['onPageContentRaw', 0], - 'onPageContentProcessed' => ['onPageContentProcessed', -10], - 'onPageContent' => ['onPageContent', 0], - 'onTwigInitialized' => ['onTwigInitialized', 0], - 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], - ]); - - $this->grav['shortcode'] = $this->shortcodes = new ShortcodeManager(); - } - - /** - * Theme initialization is best place to fire onShortcodeHandler event - * in order to support both plugins and themes - */ - public function onThemeInitialized() - { - $this->grav->fireEvent('onShortcodeHandlers'); - } - - /** - * Handle the markdown Initialized event by setting up shortcode block tags - * - * @param Event $event the event containing the markdown parser - */ - public function onMarkdownInitialized(Event $event) - { - $this->shortcodes->setupMarkdown($event['markdown']); - } - - /** - * Process shortcodes before Grav's processing - * - * @param Event $e - */ - public function onPageContentRaw(Event $e) - { - $this->processShortcodes($e['page'], 'processRawContent'); - } - - /** - * Process shortcodes after Grav's processing, but before caching - * - * @param Event $e - */ - public function onPageContentProcessed(Event $e) - { - $this->processShortcodes($e['page'], 'processContent'); - } - - /** - * @param PageInterface $page - * @param string $type - */ - protected function processShortcodes(PageInterface $page, $type = 'processContent') { - $meta = []; - $this->shortcodes->resetObjects(); // clear shortcodes that may have been processed in this execution thread before - $config = $this->mergeConfig($page); - - // Don't run in admin pages other than content - $admin_pages_only = $config['admin_pages_only'] ?? true; - if ($admin_pages_only && $this->isAdmin() && !Utils::startsWith($page->filePath(), $this->grav['locator']->findResource('page://'))) { - return; - } - - $this->active = $config->get('active', true); - - // if the plugin is not active (either global or on page) exit - if (!$this->active) { - return; - } - - // process the content for shortcodes - $page->setRawContent($this->shortcodes->$type($page, $config)); - - // if objects found set them as page content meta - $shortcode_objects = $this->shortcodes->getObjects(); - if (!empty($shortcode_objects)) { - $meta['shortcode'] = $shortcode_objects; - } - - // if assets founds set them as page content meta - $shortcode_assets = $this->shortcodes->getAssets(); - if (!empty($shortcode_assets)) { - $meta['shortcodeAssets'] = $shortcode_assets; - } - - // if we have meta set, let's add it to the content meta - if (!empty($meta)) { - $page->addContentMeta('shortcodeMeta', $meta); - } - } - - /** - * @param PageInterface $page - * @return \Grav\Common\Data\Data - */ - protected function getConfig(PageInterface $page) - { - $config = $this->mergeConfig($page); - $this->active = false; - - // Don't run in admin pages other than content - $admin_pages_only = isset($config['admin_pages_only']) ? $config['admin_pages_only'] : true; - if ($admin_pages_only && - $this->isAdmin() && - !Utils::startsWith($page->filePath(), $this->grav['locator']->findResource('page://'))) { - - } else { - $this->active = $config->get('active', true); - } - - return $config; - } - - /** - * Handle the assets that might be associated with this page - */ - public function onPageContent(Event $event) - { - if (!$this->active) { - return; - } - - $page = $event['page']; - - // get the meta and check for assets - $page_meta = $page->getContentMeta('shortcodeMeta'); - - if (is_array($page_meta)) { - if (isset($page_meta['shortcodeAssets'])) { - - $page_assets = (array) $page_meta['shortcodeAssets']; - - /** @var Assets $assets */ - $assets = $this->grav['assets']; - // if we actually have data now, add it to asset manager - foreach ($page_assets as $type => $asset) { - foreach ($asset as $item) { - $method = 'add'.ucfirst($type); - if (is_array($item)) { - $assets->$method($item[0], $item[1]); - } else { - $assets->$method($item); - } - } - } - } - } - } - - /** - * Event that handles registering handler for shortcodes - */ - public function onShortcodeHandlers() - { - $include_default_shortcodes = $this->config->get('plugins.shortcode-core.include_default_shortcodes', true); - if ($include_default_shortcodes) { - $this->shortcodes->registerAllShortcodes(__DIR__ . '/classes/shortcodes', ['ignore' => ['Shortcode', 'ShortcodeObject']]); - } - - // Add custom shortcodes directory if provided - $custom_shortcodes = $this->config->get('plugins.shortcode-core.custom_shortcodes'); - if (isset($custom_shortcodes)) { - $this->shortcodes->registerAllShortcodes(GRAV_ROOT . $custom_shortcodes); - } - } - - /** - * Add a twig filter for processing shortcodes in templates - */ - public function onTwigInitialized() - { - $this->grav['twig']->twig()->addFilter(new TwigFilter('shortcodes', [$this->shortcodes, 'processShortcodes'])); - $this->grav['twig']->twig_vars['shortcode'] = new ShortcodeTwigVar(); - } - - public function onTwigTemplatePaths() - { - $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; - } - - public function registerNextGenEditorPlugin($event) { - $config = $this->config->get('plugins.shortcode-core.nextgen-editor'); - $plugins = $event['plugins']; - - if ($config['env'] !== 'development') { - $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/dist/css/app.css'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/dist/js/app.js'; - } else { - $plugins['js'][] = 'http://' . $config['dev_host'] . ':' . $config['dev_port'] . '/js/app.js'; - } - - $event['plugins'] = $plugins; - return $event; - } - - public function registerNextGenEditorPluginShortcodes($event) { - $include_default_shortcodes = $this->config->get('plugins.shortcode-core.include_default_shortcodes', true); - if ($include_default_shortcodes) { - $plugins = $event['plugins']; - - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/shortcode-core.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/align/align.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/color/color.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/columns/columns.js'; - $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/details/details.css'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/details/details.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/div/div.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/figure/figure.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js'; - $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/headers/headers.css'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/headers/headers.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/language/language.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js'; - $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/mark/mark.css'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/mark/mark.js'; - $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/notice/notice.css'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/notice/notice.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/raw/raw.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/section/section.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/size/size.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/span/span.js'; - $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/u/u.js'; - - $event['plugins'] = $plugins; - } - return $event; - } - -} diff --git a/plugins/shortcode-core/shortcode-core.yaml b/plugins/shortcode-core/shortcode-core.yaml deleted file mode 100644 index de76f84..0000000 --- a/plugins/shortcode-core/shortcode-core.yaml +++ /dev/null @@ -1,17 +0,0 @@ -enabled: true -active: true -active_admin: true -admin_pages_only: true -parser: regular -include_default_shortcodes: true -css: - notice_enabled: true -custom_shortcodes: -fontawesome: - load: true - url: '//maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css' - v5: false -nextgen-editor: - env: production - dev_host: localhost - dev_port: 2001 diff --git a/plugins/shortcode-core/templates/shortcodes/notice.html.twig b/plugins/shortcode-core/templates/shortcodes/notice.html.twig deleted file mode 100644 index e2bdc35..0000000 --- a/plugins/shortcode-core/templates/shortcodes/notice.html.twig +++ /dev/null @@ -1,3 +0,0 @@ -
-
{{ content|raw }}
-
\ No newline at end of file diff --git a/plugins/shortcode-core/vendor/autoload.php b/plugins/shortcode-core/vendor/autoload.php deleted file mode 100644 index d7a4ef3..0000000 --- a/plugins/shortcode-core/vendor/autoload.php +++ /dev/null @@ -1,12 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer\Autoload; - -/** - * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. - * - * $loader = new \Composer\Autoload\ClassLoader(); - * - * // register classes with namespaces - * $loader->add('Symfony\Component', __DIR__.'/component'); - * $loader->add('Symfony', __DIR__.'/framework'); - * - * // activate the autoloader - * $loader->register(); - * - * // to enable searching the include path (eg. for PEAR packages) - * $loader->setUseIncludePath(true); - * - * In this example, if you try to use a class in the Symfony\Component - * namespace or one of its children (Symfony\Component\Console for instance), - * the autoloader will first look for the class under the component/ - * directory, and it will then fallback to the framework/ directory if not - * found before giving up. - * - * This class is loosely based on the Symfony UniversalClassLoader. - * - * @author Fabien Potencier - * @author Jordi Boggiano - * @see https://www.php-fig.org/psr/psr-0/ - * @see https://www.php-fig.org/psr/psr-4/ - */ -class ClassLoader -{ - /** @var ?string */ - private $vendorDir; - - // PSR-4 - /** - * @var array[] - * @psalm-var array> - */ - private $prefixLengthsPsr4 = array(); - /** - * @var array[] - * @psalm-var array> - */ - private $prefixDirsPsr4 = array(); - /** - * @var array[] - * @psalm-var array - */ - private $fallbackDirsPsr4 = array(); - - // PSR-0 - /** - * @var array[] - * @psalm-var array> - */ - private $prefixesPsr0 = array(); - /** - * @var array[] - * @psalm-var array - */ - private $fallbackDirsPsr0 = array(); - - /** @var bool */ - private $useIncludePath = false; - - /** - * @var string[] - * @psalm-var array - */ - private $classMap = array(); - - /** @var bool */ - private $classMapAuthoritative = false; - - /** - * @var bool[] - * @psalm-var array - */ - private $missingClasses = array(); - - /** @var ?string */ - private $apcuPrefix; - - /** - * @var self[] - */ - private static $registeredLoaders = array(); - - /** - * @param ?string $vendorDir - */ - public function __construct($vendorDir = null) - { - $this->vendorDir = $vendorDir; - } - - /** - * @return string[] - */ - public function getPrefixes() - { - if (!empty($this->prefixesPsr0)) { - return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); - } - - return array(); - } - - /** - * @return array[] - * @psalm-return array> - */ - public function getPrefixesPsr4() - { - return $this->prefixDirsPsr4; - } - - /** - * @return array[] - * @psalm-return array - */ - public function getFallbackDirs() - { - return $this->fallbackDirsPsr0; - } - - /** - * @return array[] - * @psalm-return array - */ - public function getFallbackDirsPsr4() - { - return $this->fallbackDirsPsr4; - } - - /** - * @return string[] Array of classname => path - * @psalm-return array - */ - public function getClassMap() - { - return $this->classMap; - } - - /** - * @param string[] $classMap Class to filename map - * @psalm-param array $classMap - * - * @return void - */ - public function addClassMap(array $classMap) - { - if ($this->classMap) { - $this->classMap = array_merge($this->classMap, $classMap); - } else { - $this->classMap = $classMap; - } - } - - /** - * 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 - * - * @return void - */ - public function add($prefix, $paths, $prepend = false) - { - if (!$prefix) { - if ($prepend) { - $this->fallbackDirsPsr0 = array_merge( - (array) $paths, - $this->fallbackDirsPsr0 - ); - } else { - $this->fallbackDirsPsr0 = array_merge( - $this->fallbackDirsPsr0, - (array) $paths - ); - } - - return; - } - - $first = $prefix[0]; - if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; - - return; - } - if ($prepend) { - $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, - $this->prefixesPsr0[$first][$prefix] - ); - } else { - $this->prefixesPsr0[$first][$prefix] = array_merge( - $this->prefixesPsr0[$first][$prefix], - (array) $paths - ); - } - } - - /** - * 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 - * - * @throws \InvalidArgumentException - * - * @return void - */ - public function addPsr4($prefix, $paths, $prepend = false) - { - if (!$prefix) { - // Register directories for the root namespace. - if ($prepend) { - $this->fallbackDirsPsr4 = array_merge( - (array) $paths, - $this->fallbackDirsPsr4 - ); - } else { - $this->fallbackDirsPsr4 = array_merge( - $this->fallbackDirsPsr4, - (array) $paths - ); - } - } elseif (!isset($this->prefixDirsPsr4[$prefix])) { - // Register directories for a new namespace. - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - 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; - } elseif ($prepend) { - // Prepend directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, - $this->prefixDirsPsr4[$prefix] - ); - } else { - // Append directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - $this->prefixDirsPsr4[$prefix], - (array) $paths - ); - } - } - - /** - * 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 - * - * @return void - */ - public function set($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr0 = (array) $paths; - } else { - $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; - } - } - - /** - * 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 - * - * @throws \InvalidArgumentException - * - * @return void - */ - public function setPsr4($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr4 = (array) $paths; - } else { - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - 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; - } - } - - /** - * Turns on searching the include path for class files. - * - * @param bool $useIncludePath - * - * @return void - */ - public function setUseIncludePath($useIncludePath) - { - $this->useIncludePath = $useIncludePath; - } - - /** - * Can be used to check if the autoloader uses the include path to check - * for classes. - * - * @return bool - */ - public function getUseIncludePath() - { - return $this->useIncludePath; - } - - /** - * Turns off searching the prefix and fallback directories for classes - * that have not been registered with the class map. - * - * @param bool $classMapAuthoritative - * - * @return void - */ - public function setClassMapAuthoritative($classMapAuthoritative) - { - $this->classMapAuthoritative = $classMapAuthoritative; - } - - /** - * Should class lookup fail if not found in the current class map? - * - * @return bool - */ - public function isClassMapAuthoritative() - { - return $this->classMapAuthoritative; - } - - /** - * APCu prefix to use to cache found/not-found classes, if the extension is enabled. - * - * @param string|null $apcuPrefix - * - * @return void - */ - public function setApcuPrefix($apcuPrefix) - { - $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; - } - - /** - * The APCu prefix in use, or null if APCu caching is not enabled. - * - * @return string|null - */ - public function getApcuPrefix() - { - return $this->apcuPrefix; - } - - /** - * Registers this instance as an autoloader. - * - * @param bool $prepend Whether to prepend the autoloader or not - * - * @return void - */ - public function register($prepend = false) - { - spl_autoload_register(array($this, 'loadClass'), true, $prepend); - - if (null === $this->vendorDir) { - return; - } - - if ($prepend) { - self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; - } else { - unset(self::$registeredLoaders[$this->vendorDir]); - self::$registeredLoaders[$this->vendorDir] = $this; - } - } - - /** - * Unregisters this instance as an autoloader. - * - * @return void - */ - public function unregister() - { - spl_autoload_unregister(array($this, 'loadClass')); - - if (null !== $this->vendorDir) { - unset(self::$registeredLoaders[$this->vendorDir]); - } - } - - /** - * Loads the given class or interface. - * - * @param string $class The name of the class - * @return true|null True if loaded, null otherwise - */ - public function loadClass($class) - { - if ($file = $this->findFile($class)) { - includeFile($file); - - return true; - } - - return null; - } - - /** - * Finds the path to the file where the class is defined. - * - * @param string $class The name of the class - * - * @return string|false The path if found, false otherwise - */ - public function findFile($class) - { - // class map lookup - if (isset($this->classMap[$class])) { - return $this->classMap[$class]; - } - if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { - return false; - } - if (null !== $this->apcuPrefix) { - $file = apcu_fetch($this->apcuPrefix.$class, $hit); - if ($hit) { - return $file; - } - } - - $file = $this->findFileWithExtension($class, '.php'); - - // Search for Hack files if we are running on HHVM - if (false === $file && defined('HHVM_VERSION')) { - $file = $this->findFileWithExtension($class, '.hh'); - } - - if (null !== $this->apcuPrefix) { - apcu_add($this->apcuPrefix.$class, $file); - } - - if (false === $file) { - // Remember that this class does not exist. - $this->missingClasses[$class] = true; - } - - return $file; - } - - /** - * Returns the currently registered loaders indexed by their corresponding vendor directories. - * - * @return self[] - */ - public static function getRegisteredLoaders() - { - return self::$registeredLoaders; - } - - /** - * @param string $class - * @param string $ext - * @return string|false - */ - private function findFileWithExtension($class, $ext) - { - // PSR-4 lookup - $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; - - $first = $class[0]; - if (isset($this->prefixLengthsPsr4[$first])) { - $subPath = $class; - while (false !== $lastPos = strrpos($subPath, '\\')) { - $subPath = substr($subPath, 0, $lastPos); - $search = $subPath . '\\'; - if (isset($this->prefixDirsPsr4[$search])) { - $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); - foreach ($this->prefixDirsPsr4[$search] as $dir) { - if (file_exists($file = $dir . $pathEnd)) { - return $file; - } - } - } - } - } - - // PSR-4 fallback dirs - foreach ($this->fallbackDirsPsr4 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { - return $file; - } - } - - // PSR-0 lookup - if (false !== $pos = strrpos($class, '\\')) { - // namespaced class name - $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) - . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); - } else { - // PEAR-like class name - $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; - } - - if (isset($this->prefixesPsr0[$first])) { - foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { - if (0 === strpos($class, $prefix)) { - foreach ($dirs as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - } - } - } - - // PSR-0 fallback dirs - foreach ($this->fallbackDirsPsr0 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - - // PSR-0 include paths. - if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { - return $file; - } - - return false; - } -} - -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - * @private - */ -function includeFile($file) -{ - include $file; -} diff --git a/plugins/shortcode-core/vendor/composer/InstalledVersions.php b/plugins/shortcode-core/vendor/composer/InstalledVersions.php deleted file mode 100644 index 41bc143..0000000 --- a/plugins/shortcode-core/vendor/composer/InstalledVersions.php +++ /dev/null @@ -1,352 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer; - -use Composer\Autoload\ClassLoader; -use Composer\Semver\VersionParser; - -/** - * This class is copied in every Composer installed project and available to all - * - * See also https://getcomposer.org/doc/07-runtime.md#installed-versions - * - * To require its presence, you can require `composer-runtime-api ^2.0` - * - * @final - */ -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 - */ - private static $installed; - - /** - * @var bool|null - */ - private static $canGetVendors; - - /** - * @var array[] - * @psalm-var array}> - */ - private static $installedByVendor = array(); - - /** - * Returns a list of all package names which are present, either by being installed, replaced or provided - * - * @return string[] - * @psalm-return list - */ - public static function getInstalledPackages() - { - $packages = array(); - foreach (self::getInstalled() as $installed) { - $packages[] = array_keys($installed['versions']); - } - - if (1 === \count($packages)) { - return $packages[0]; - } - - return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); - } - - /** - * Returns a list of all package names with a specific type e.g. 'library' - * - * @param string $type - * @return string[] - * @psalm-return list - */ - public static function getInstalledPackagesByType($type) - { - $packagesByType = array(); - - foreach (self::getInstalled() as $installed) { - foreach ($installed['versions'] as $name => $package) { - if (isset($package['type']) && $package['type'] === $type) { - $packagesByType[] = $name; - } - } - } - - return $packagesByType; - } - - /** - * Checks whether the given package is installed - * - * This also returns true if the package name is provided or replaced by another package - * - * @param string $packageName - * @param bool $includeDevRequirements - * @return bool - */ - public static function isInstalled($packageName, $includeDevRequirements = true) - { - foreach (self::getInstalled() as $installed) { - if (isset($installed['versions'][$packageName])) { - return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); - } - } - - return false; - } - - /** - * Checks whether the given package satisfies a version constraint - * - * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: - * - * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') - * - * @param VersionParser $parser Install composer/semver to have access to this class and functionality - * @param string $packageName - * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package - * @return bool - */ - public static function satisfies(VersionParser $parser, $packageName, $constraint) - { - $constraint = $parser->parseConstraints($constraint); - $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); - - return $provided->matches($constraint); - } - - /** - * Returns a version constraint representing all the range(s) which are installed for a given package - * - * It is easier to use this via isInstalled() with the $constraint argument if you need to check - * whether a given version of a package is installed, and not just whether it exists - * - * @param string $packageName - * @return string Version constraint usable with composer/semver - */ - public static function getVersionRanges($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - $ranges = array(); - if (isset($installed['versions'][$packageName]['pretty_version'])) { - $ranges[] = $installed['versions'][$packageName]['pretty_version']; - } - if (array_key_exists('aliases', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); - } - if (array_key_exists('replaced', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); - } - if (array_key_exists('provided', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); - } - - return implode(' || ', $ranges); - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present - */ - public static function getVersion($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['version'])) { - return null; - } - - return $installed['versions'][$packageName]['version']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present - */ - public static function getPrettyVersion($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['pretty_version'])) { - return null; - } - - return $installed['versions'][$packageName]['pretty_version']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference - */ - public static function getReference($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['reference'])) { - return null; - } - - return $installed['versions'][$packageName]['reference']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. - */ - public static function getInstallPath($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @return array - * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} - */ - public static function getRootPackage() - { - $installed = self::getInstalled(); - - return $installed[0]['root']; - } - - /** - * Returns the raw installed.php data for custom implementations - * - * @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} - */ - public static function getRawData() - { - @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); - - if (null === self::$installed) { - // 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 = include __DIR__ . '/installed.php'; - } else { - self::$installed = array(); - } - } - - return self::$installed; - } - - /** - * Returns the raw data of all installed.php which are currently loaded for custom implementations - * - * @return array[] - * @psalm-return list}> - */ - public static function getAllRawData() - { - return self::getInstalled(); - } - - /** - * Lets you reload the static array from another file - * - * This is only useful for complex integrations in which a project needs to use - * this class but then also needs to execute another project's autoloader in process, - * and wants to ensure both projects have access to their version of installed.php. - * - * A typical case would be PHPUnit, where it would need to make sure it reads all - * the data it needs from this class, then call reload() with - * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure - * the project in which it runs can then also use this class safely, without - * interference between PHPUnit's dependencies and the project's dependencies. - * - * @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 - */ - public static function reload($data) - { - self::$installed = $data; - self::$installedByVendor = array(); - } - - /** - * @return array[] - * @psalm-return list}> - */ - private static function getInstalled() - { - if (null === self::$canGetVendors) { - self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); - } - - $installed = array(); - - if (self::$canGetVendors) { - foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { - 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'; - if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { - self::$installed = $installed[count($installed) - 1]; - } - } - } - } - - if (null === self::$installed) { - // 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'; - } else { - self::$installed = array(); - } - } - $installed[] = self::$installed; - - return $installed; - } -} diff --git a/plugins/shortcode-core/vendor/composer/LICENSE b/plugins/shortcode-core/vendor/composer/LICENSE deleted file mode 100644 index f27399a..0000000 --- a/plugins/shortcode-core/vendor/composer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - -Copyright (c) Nils Adermann, Jordi Boggiano - -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/plugins/shortcode-core/vendor/composer/autoload_classmap.php b/plugins/shortcode-core/vendor/composer/autoload_classmap.php deleted file mode 100644 index 84beac3..0000000 --- a/plugins/shortcode-core/vendor/composer/autoload_classmap.php +++ /dev/null @@ -1,11 +0,0 @@ - $vendorDir . '/composer/InstalledVersions.php', - 'Grav\\Plugin\\ShortcodeCorePlugin' => $baseDir . '/shortcode-core.php', -); diff --git a/plugins/shortcode-core/vendor/composer/autoload_namespaces.php b/plugins/shortcode-core/vendor/composer/autoload_namespaces.php deleted file mode 100644 index 15a2ff3..0000000 --- a/plugins/shortcode-core/vendor/composer/autoload_namespaces.php +++ /dev/null @@ -1,9 +0,0 @@ - array($vendorDir . '/thunderer/shortcode/src'), - 'Grav\\Plugin\\Shortcodes\\' => array($baseDir . '/classes/shortcodes'), - 'Grav\\Plugin\\ShortcodeCore\\' => array($baseDir . '/classes/plugin'), -); diff --git a/plugins/shortcode-core/vendor/composer/autoload_real.php b/plugins/shortcode-core/vendor/composer/autoload_real.php deleted file mode 100644 index 856afc5..0000000 --- a/plugins/shortcode-core/vendor/composer/autoload_real.php +++ /dev/null @@ -1,38 +0,0 @@ -register(true); - - return $loader; - } -} diff --git a/plugins/shortcode-core/vendor/composer/autoload_static.php b/plugins/shortcode-core/vendor/composer/autoload_static.php deleted file mode 100644 index 26843d1..0000000 --- a/plugins/shortcode-core/vendor/composer/autoload_static.php +++ /dev/null @@ -1,50 +0,0 @@ - - array ( - 'Thunder\\Shortcode\\' => 18, - ), - 'G' => - array ( - 'Grav\\Plugin\\Shortcodes\\' => 23, - 'Grav\\Plugin\\ShortcodeCore\\' => 26, - ), - ); - - public static $prefixDirsPsr4 = array ( - 'Thunder\\Shortcode\\' => - array ( - 0 => __DIR__ . '/..' . '/thunderer/shortcode/src', - ), - 'Grav\\Plugin\\Shortcodes\\' => - array ( - 0 => __DIR__ . '/../..' . '/classes/shortcodes', - ), - 'Grav\\Plugin\\ShortcodeCore\\' => - array ( - 0 => __DIR__ . '/../..' . '/classes/plugin', - ), - ); - - public static $classMap = array ( - 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', - 'Grav\\Plugin\\ShortcodeCorePlugin' => __DIR__ . '/../..' . '/shortcode-core.php', - ); - - public static function getInitializer(ClassLoader $loader) - { - return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit20dff4ef15e2090e54c04a9aa83321b9::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit20dff4ef15e2090e54c04a9aa83321b9::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit20dff4ef15e2090e54c04a9aa83321b9::$classMap; - - }, null, ClassLoader::class); - } -} diff --git a/plugins/shortcode-core/vendor/composer/installed.json b/plugins/shortcode-core/vendor/composer/installed.json deleted file mode 100644 index a2b30f1..0000000 --- a/plugins/shortcode-core/vendor/composer/installed.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "packages": [ - { - "name": "thunderer/shortcode", - "version": "v0.7.5", - "version_normalized": "0.7.5.0", - "source": { - "type": "git", - "url": "https://github.com/thunderer/Shortcode.git", - "reference": "a4fee30613bd46efb421f8305aff0466a3268a99" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thunderer/Shortcode/zipball/a4fee30613bd46efb421f8305aff0466a3268a99", - "reference": "a4fee30613bd46efb421f8305aff0466a3268a99", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": ">=4.1", - "symfony/yaml": ">=2.0" - }, - "suggest": { - "ext-dom": "if you want to use XML serializer", - "ext-json": "if you want to use JSON serializer", - "symfony/yaml": "if you want to use YAML serializer" - }, - "time": "2022-01-13T18:53:33+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Thunder\\Shortcode\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tomasz Kowalczyk", - "email": "tomasz@kowalczyk.cc" - } - ], - "description": "Advanced shortcode (BBCode) parser and engine for PHP", - "keywords": [ - "bbcode", - "engine", - "library", - "parser", - "shortcode" - ], - "support": { - "issues": "https://github.com/thunderer/Shortcode/issues", - "source": "https://github.com/thunderer/Shortcode/tree/v0.7.5" - }, - "install-path": "../thunderer/shortcode" - } - ], - "dev": false, - "dev-package-names": [] -} diff --git a/plugins/shortcode-core/vendor/composer/installed.php b/plugins/shortcode-core/vendor/composer/installed.php deleted file mode 100644 index 864b723..0000000 --- a/plugins/shortcode-core/vendor/composer/installed.php +++ /dev/null @@ -1,32 +0,0 @@ - array( - 'pretty_version' => 'dev-develop', - 'version' => 'dev-develop', - 'type' => 'grav-plugin', - 'install_path' => __DIR__ . '/../../', - 'aliases' => array(), - 'reference' => 'd351265e0de9dfd18dcc842977d80b97c9524e81', - 'name' => 'getgrav/shortcode-core', - 'dev' => false, - ), - 'versions' => array( - 'getgrav/shortcode-core' => array( - 'pretty_version' => 'dev-develop', - 'version' => 'dev-develop', - 'type' => 'grav-plugin', - 'install_path' => __DIR__ . '/../../', - 'aliases' => array(), - 'reference' => 'd351265e0de9dfd18dcc842977d80b97c9524e81', - 'dev_requirement' => false, - ), - 'thunderer/shortcode' => array( - 'pretty_version' => 'v0.7.5', - 'version' => '0.7.5.0', - 'type' => 'library', - 'install_path' => __DIR__ . '/../thunderer/shortcode', - 'aliases' => array(), - 'reference' => 'a4fee30613bd46efb421f8305aff0466a3268a99', - 'dev_requirement' => false, - ), - ), -); diff --git a/plugins/shortcode-core/vendor/composer/platform_check.php b/plugins/shortcode-core/vendor/composer/platform_check.php deleted file mode 100644 index cd1bd2c..0000000 --- a/plugins/shortcode-core/vendor/composer/platform_check.php +++ /dev/null @@ -1,26 +0,0 @@ -= 70103)) { - $issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.3". You are running ' . PHP_VERSION . '.'; -} - -if ($issues) { - if (!headers_sent()) { - header('HTTP/1.1 500 Internal Server Error'); - } - if (!ini_get('display_errors')) { - if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { - fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); - } elseif (!headers_sent()) { - echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; - } - } - trigger_error( - 'Composer detected issues in your platform: ' . implode(' ', $issues), - E_USER_ERROR - ); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/.github/workflows/test.yaml b/plugins/shortcode-core/vendor/thunderer/shortcode/.github/workflows/test.yaml deleted file mode 100644 index befc1ee..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/.github/workflows/test.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: Test - -on: - push: - branches: ['master'] - pull_request: ~ - -jobs: - test: - runs-on: '${{ matrix.os }}' - strategy: - matrix: - php: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1'] - os: ['ubuntu-latest'] - failure: [false] - include: - - { php: '8.2', os: 'ubuntu-latest', failure: true } # '8.2' means 'nightly' - steps: - - name: 'Checkout' - uses: 'actions/checkout@v2' - - name: 'Install PHP' - uses: 'shivammathur/setup-php@v2' - with: - php-version: '${{ matrix.php }}' - tools: 'composer:v2' - coverage: 'xdebug' - - name: 'PHP' - run: 'php -v' - - - name: 'Composer' - run: 'composer install' - continue-on-error: '${{ matrix.failure }}' - - name: 'PHPUnit' - run: 'php vendor/bin/phpunit --coverage-text' - continue-on-error: '${{ matrix.failure }}' - - name: 'Psalm' - run: | - composer require --dev vimeo/psalm - php vendor/bin/psalm --shepherd --php-version=${{ matrix.php }} - if: '${{ matrix.php >= 7.1 }}' - continue-on-error: '${{ matrix.failure }}' - - name: 'Infection' - run: | - composer require --dev --with-all-dependencies infection/infection - php vendor/bin/infection - if: '${{ matrix.php >= 7.1 }}' - continue-on-error: '${{ matrix.failure }}' diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/.gitignore b/plugins/shortcode-core/vendor/thunderer/shortcode/.gitignore deleted file mode 100644 index 34e595c..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.phpunit.result.cache -infection.log -vendor -composer.lock -coverage -coverage.xml diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/CHANGELOG.md b/plugins/shortcode-core/vendor/thunderer/shortcode/CHANGELOG.md deleted file mode 100644 index 040d0c1..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/CHANGELOG.md +++ /dev/null @@ -1,139 +0,0 @@ -# Changelog - -## Version 0.* - -* v0.6.2 (25.04.2016) - - * fixed issue with parsing shortcode tokens inside shortcode content. - -* v0.6.1 (25.02.2016) - - * fixed bug with not recalculating new text length after applying shortcode replacement which caused the replacements to be applied only up to the length of source text. - -* v0.6.0 (13.02.2016) - - * README was completely rewritten to take into account newest additions, - * introduced `FilterShortcodesEvent` for modifying set of parsed shortcodes before processing them, - * introduced `ReplaceShortcodesEvent` to alter the way shortcode replacements are applied to source text at each processing level, - * introduced `EventContainerInterface` with default implementation `EventContainer` to store event handlers, - * introduced events handling in `Processor` with events above, - * added `Processor::withEventContainer()` to configure event handlers, - * added `ProcessedShortcode::hasAncestor()` to detect if shortcode has any parent with given name, - * introduced `ReplacedShortcode` which represents parsed shortcode data with replacement returned from its handler, - * introduced ready to use event handlers classes: - * `FilterRawEventHandler` allows to automatically configure shortcodes that should not have their content processed, - * `ReplaceJoinEventHandler` discards the parent shortcode content and returns only concatenated replacements, - * fixed `HandlerContainer::addAlias()` bug that may have silently added aliases for default handler, - * added possibility to create `WordpressParser` with names from array or `HandlerContainer` to catch only those like WordPress does, - * fixed differences between parsers and standardized validating allowed characters in their names in `RegexBuilderUtility::buildNameRegex()` - * introduced several ready to use shortcode handlers described in dedicated section of README, - * refactored `ShortcodeFacade` for better developer experience. - -* v0.5.3 (26.01.2016) - * massive performance improvements in RegularParser, - * fixed problem with multibyte characters in parsed texts, - * fixed matching shortcodes with invalid names. - -* v0.5.2 (20.01.2016) - * fixed bug with subsequent string tokens in RegularParser. - -* v0.5.1 (12.11.2015) - - * fixed bug leaving part of shortcode text when it contained multibyte characters. - -* v0.5.0 (28.10.2015) - - * fixed bug with parent shortcode not being correctly set when there was more than one shortcode at given recursion level, - * fixed bug which caused shortcode content to be returned without modification when auto processing was enabled, there was no handler for that shortcode, but there were handlers for inner shortcodes, - * added example demonstrating how to remove content outside shortcodes, - * added `ProcessedShortcode::getTextContent()` to allow returning unprocessed content regardless of auto processing setting value, - * added XML and YAML serializers, - * AbstractShortcode::getParameter() does not throw exception for missing parameter without default value, - * removed `create*()` methods from `ShortcodeFacade`, now all dependencies construction is inside the constructor, - * removed classes and methods deprecated in previous releases, - * removed `RegexExtractor` and `ExtractorInterface`, its functionality was moved to `Parser` - now it returns instances of `ParsedShortcodeInterface`, - * removed `Match` and `MatchInterface`, - * removed `HandlerInterface`, from now on handlers can be only closures and classes with `__invoke()` (`callable` typehint), - * removed all handler-related methods from `Processor` (extracted to `HandlerContainer`): - * `addHandler()`, - * `addHandlerAlias()`, - * `setDefaultHandler()`. - * refactored `ShortcodeFacade` to also use `HandlerContainer`, also `SyntaxInterface` parameter is now required, - * `Processor` is now immutable, options setters were refactored to return reconfigured clones: - * `setRecursionDepth()` » `withRecursionDepth()`, - * `setMaxIterations()` » `withMaxIterations()`, - * `setAutoProcessContent()` » `withAutoProcessContent()`, - * extracted `HandlerContainerInterface` and its default implementation `HandlerContainer` from `Processor`, - * `Processor` now requires instance of `HandlerContainer`, - * introduced `RegularParser` with dedicated parser implementation that correctly handles nested shortcodes, - * introduced `WordpressParser` with slightly refactored implementation of WordPress' regex-based shortcodes in case anyone would like full compatibility, - * introduced `ImmutableHandlerContainer` as an alternative implementation, - * introduced `ProcessorContext` to store internal state when processing text, - * introduced `AbstractShortcode`, restored `final` on regular `Shortcode`, - * `ProcessedShortcode` can be now created with static method `createFromContext()` using instance of `ProcessorContext`, - * introduced `ParsedShortcode` and `ParsedShortcodeInterface` that extends `ShortcodeInterface` with position and exact text match. - -* v0.4.0 (15.07.2015) - - * classes and interfaces were moved to their own namespaces, update your `use` clauses and use new names. Backward compatibility was fully maintained, but note that previous class files will be removed in the next release. Old class files contain call to `class_alias()` and empty implementation for IDE autocompletion, interfaces extend those from new locations. All modified elements are listed below: - * `Extractor` » `Parser\RegexExtractor`, - * `ExtractorInterface` » `Extractor\ExtractorInterface`, - * `HandlerInterface` » `Extractor\HandlerInterface`, - * `Parser` » `Parser\RegexParser`, - * `ParserInterface` » `Parser\ParserInterface`, - * `Processor` » `Processor\Processor`, - * `ProcessorInterface` » `Processor\ProcessorInterface`, - * `SerializerInterface` » `Serializer\SerializerInterface`, - * `Shortcode` » `Shortcode\Shortcode`, - * `Syntax` » `Syntax\Syntax`, - * `SyntaxBuilder` » `Syntax\SyntaxBuilder`, - * next version of this library will remove all files marked as deprecated (listed above) and will introduce backward incompatible changes to allow finishing refactorings for version 1.0. Sneak peek: - * `Extractor` abstraction will be removed and its functionality will be merged with `Parser`, - * processing shortcode content will be moved to its handler, - * `ProcessedShortcode` will be aware of `ProcessorInterface` instance that is processing it, - * `HandlerContainer` will be refactored outside `Processor` to remove SRP violation, - * various methods will lose their ability to accept nullable parameters to enforce visibility of dependencies, - * `ProcessedShortcode` will not extend `Shortcode` and `Shortcode` will be `final` again, - * `Match` class will be removed and `ParsedShortcode` will be introduced in its place, - * introduced `ShortcodeInterface` for reusable shortcode implementation, handlers should typehint it, - * nearly all classes and interfaces were renamed and moved to their own namespaces, see UPGRADE, - * introduced `ProcessedShortcode` to provide more runtime information about context in handlers, - * strict syntax capabilities were removed (will be reimplemented in the future), - * introduced `CommonSyntax` with default values, - * introduced `RegexBuilderUtility` to separate regex building from `Syntax` class, - * improved regular expressions which now offer more flexibility, - * `HandlerInterface` was deprecated, please use classes with __invoke() method. - -* v0.3.0 (08.05.2015) - - * added support for `[self-closing /]` shortcodes, - * added library facade for easier usage, - * `Syntax` regular expressions are now built once in constructor, - * added support for whitespace between shortcode fragments, ie. `[ code arg = val ] [ / code ]`, - * `Syntax` and `SyntaxBuilder` support whitespaced and strict syntaxes. - -* v0.2.2 (26.04.2015) - - * fixed support for PHP 5.3. - -* v0.2.1 (23.04.2015) - - * fixed matching simple parameter values enclosed by delimiters, - * fixed missing support for escaping characters inside parameter values. - -* v0.2.0 (17.04.2015) - - * added HandlerInterface to enable shortcode handlers with basic validation capabilities, - * added default handler for processing shortcodes without registered name handlers, - * added handler aliasing to reuse name handlers without manually registering them, - * added recursive processing with ability to control recursion depth, - * added iterative processing with ability to control maximum number of iterations, - * added configurable syntax to enable different shortcode formats without modifying library code, - * added syntax builder to ease building `Syntax` object, - * added dash `-` to allowed characters in shortcode names, - * deprecated `Processor::setRecursion()`, use `Processor::setRecursionDepth()` instead, - * removed regular expressions constants from classes. - -* v0.1.0 (06.04.2015) - - * first library version. diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/LICENSE b/plugins/shortcode-core/vendor/thunderer/shortcode/LICENSE deleted file mode 100644 index 7410a25..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2022 Tomasz Kowalczyk - -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/plugins/shortcode-core/vendor/thunderer/shortcode/Makefile b/plugins/shortcode-core/vendor/thunderer/shortcode/Makefile deleted file mode 100644 index 23bdc28..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -PHP_VERSION ?= 8.0 -PHP := docker-compose run --rm php-${PHP_VERSION} - -php-version: - ${PHP} php -v -cache-clear: - sudo rm -rfv coverage .phpunit.result.cache infection.log - -docker-build: - docker-compose build - -composer-install: - ${PHP} composer install -composer-self-update: - ${PHP} composer self-update -composer-update: - ${PHP} composer update -composer-require: - ${PHP} composer require ${PACKAGE} -composer-require-dev: - ${PHP} composer require --dev ${PACKAGE} - -test: test-phpunit test-infection qa-psalm -test-phpunit: - ${PHP} php -v - ${PHP} php vendor/bin/phpunit --coverage-text -test-phpunit-local: - php -v - php vendor/bin/phpunit --coverage-text - php vendor/bin/psalm --no-cache - php vendor/bin/infection -test-infection: - ${PHP} php vendor/bin/infection -j2 --min-msi=80 - -travis: - # PHP_VERSION=5.3 make travis-job - PHP_VERSION=5.4 make travis-job - PHP_VERSION=5.5 make travis-job - PHP_VERSION=5.6 make travis-job - PHP_VERSION=7.0 make travis-job - PHP_VERSION=7.1 make travis-job - PHP_VERSION=7.2 make travis-job - PHP_VERSION=7.3 make travis-job - PHP_VERSION=7.4 make travis-job - PHP_VERSION=8.0 make travis-job -travis-job: - ${PHP} composer update --no-plugins - ${PHP} php -v - ${PHP} php vendor/bin/phpunit - if ${PHP} php -r 'exit((int)(version_compare(PHP_VERSION, "7.1", ">=") === false));'; then \ - ${PHP} composer require --dev vimeo/psalm infection/infection; \ - ${PHP} vendor/bin/psalm --threads=1 --no-cache --shepherd --find-unused-psalm-suppress; \ - ${PHP} vendor/bin/infection; \ - ${PHP} composer remove --dev vimeo/psalm infection/infection; \ - fi; - -qa-psalm: - ${PHP} php vendor/bin/psalm --no-cache -qa-psalm-suppressed: - grep -rn psalm-suppress src diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/README.md b/plugins/shortcode-core/vendor/thunderer/shortcode/README.md deleted file mode 100644 index 071a377..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/README.md +++ /dev/null @@ -1,396 +0,0 @@ -# Shortcode - -[![Build Status](https://github.com/thunderer/Shortcode/actions/workflows/test.yaml/badge.svg)](https://github.com/thunderer/Shortcode) -[![Latest Stable Version](https://poser.pugx.org/thunderer/shortcode/v/stable.svg)](https://packagist.org/packages/thunderer/shortcode) -[![Total Downloads](https://poser.pugx.org/thunderer/shortcode/downloads)](https://packagist.org/packages/thunderer/shortcode) -[![License](https://poser.pugx.org/thunderer/shortcode/license.svg)](https://packagist.org/packages/thunderer/shortcode) -[![Psalm coverage](https://shepherd.dev/github/thunderer/Shortcode/coverage.svg)](https://shepherd.dev/github/thunderer/Shortcode) -[![Code Coverage](https://scrutinizer-ci.com/g/thunderer/Shortcode/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/thunderer/Shortcode/?branch=master) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/thunderer/Shortcode/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/thunderer/Shortcode/?branch=master) - -Shortcode is a framework agnostic PHP library allowing to find, extract and process text fragments called "shortcodes" or "BBCodes". Examples of their usual syntax and usage are shown below: - -``` -[user-profile /] -[image width=600] -[link href="http://google.pl" color=red] -[quote="Thunderer"]This is a quote.[/quote] -[text color="red"]This is a text.[/text] -``` - -The library is divided into several parts, each of them containing logic responsible for different stages and ways of processing data: - -- **parsers** extract shortcodes from text and transform them to objects, -- **handlers** transform shortcodes into desired replacements, -- **processors** use parsers and handlers to extract shortcodes, compute replacements, and apply them in text, -- **events** alter the way processors work to provide better control over the whole process, -- **serializers** convert shortcodes from and to different formats like Text, XML, JSON, and YAML. - -Each part is described in the dedicated section in this document. - - -## Installation - -There are no required dependencies and all PHP versions from 5.3 up to latest 8.1 [are tested](https://github.com/thunderer/Shortcode/actions/workflows/test.yaml) and supported. This library is available on Composer/Packagist as `thunderer/shortcode`, to install it execute: - -``` -composer require thunderer/shortcode=^0.7 -``` - -or manually update your `composer.json` with: - -``` -(...) -"require": { - "thunderer/shortcode": "^0.7" -} -(...) -``` - -and run `composer install` or `composer update` afterwards. If you're not using Composer, download sources from GitHub and load them as required. But really, please use Composer. - -## Usage - -### Facade - -To ease usage of this library there is a class `ShortcodeFacade` configured for most common needs. It contains shortcut methods for all features described in the sections below: - -- `addHandler()`: adds shortcode handlers, -- `addHandlerAlias()`: adds shortcode handler alias, -- `process()`: processes text and replaces shortcodes, -- `parse()`: parses text into shortcodes, -- `setParser()`: changes processor's parser, -- `addEventHandler()`: adds event handler, -- `serialize()`: serializes shortcode object to given format, -- `unserialize()`: creates shortcode object from serialized input. - -### Processing - -Shortcodes are processed using `Processor` which requires a parser and handlers. The example below shows how to implement an example that greets the person with name passed as an argument: - -```php -use Thunder\Shortcode\HandlerContainer\HandlerContainer; -use Thunder\Shortcode\Parser\RegularParser; -use Thunder\Shortcode\Processor\Processor; -use Thunder\Shortcode\Shortcode\ShortcodeInterface; - -$handlers = new HandlerContainer(); -$handlers->add('hello', function(ShortcodeInterface $s) { - return sprintf('Hello, %s!', $s->getParameter('name')); -}); -$processor = new Processor(new RegularParser(), $handlers); - -$text = ' -
[hello name="Thomas"]
-

Your shortcodes are very good, keep it up!

-
[hello name="Peter"]
-'; -echo $processor->process($text); -``` - -Facade example: - -```php -use Thunder\Shortcode\ShortcodeFacade; -use Thunder\Shortcode\Shortcode\ShortcodeInterface; - -$facade = new ShortcodeFacade(); -$facade->addHandler('hello', function(ShortcodeInterface $s) { - return sprintf('Hello, %s!', $s->getParameter('name')); -}); - -$text = ' -
[hello name="Thomas"]
-

Your shortcodes are very good, keep it up!

-
[hello name="Peter"]
-'; -echo $facade->process($text); -``` - -Both result in: - -``` -
Hello, Thomas!
-

Your shortcodes are very good, keep it up!

-
Hello, Peter!
-``` - -### Configuration - -`Processor` has several configuration options available as `with*()` methods which return the new, changed instance to keep the object immutable. - -- `withRecursionDepth($depth)` controls the nesting level - how many levels of shortcodes are actually processed. If this limit is reached, all shortcodes deeper than level are ignored. If the `$depth` value is null (default value), nesting level is not checked, if it's zero then nesting is disabled (only topmost shortcodes are processed). Any integer greater than zero sets the nesting level limit, -- `withMaxIterations($iterations)` controls the number of iterations that the source text is processed in. This means that source text is processed internally that number of times until the limit was reached or there are no shortcodes left. If the `$iterations` parameter value is null, there is no iterations limit, any integer greater than zero sets the limit. Defaults to one iteration, -- `withAutoProcessContent($flag)` controls automatic processing of shortcode's content before calling its handler. If the `$flag` parameter is `true` then handler receives shortcode with already processed content, if `false` then handler must process nested shortcodes itself (or leave them for the remaining iterations). This is turned on by default, -- `withEventContainer($events)` registers event container which provides handlers for all the events fired at various stages of processing text. Read more about events in the section dedicated to them. - -### Events - -If processor was configured with events container there are several possibilities to alter the way shortcodes are processed: - -- `Events::FILTER_SHORTCODES` uses `FilterShortcodesEvent` class. It receives current parent shortcode and array of shortcodes from parser. Its purpose is to allow modifying that array before processing them, -- `Events::REPLACE_SHORTCODES` uses `ReplaceShortcodesEvent` class and receives the parent shortcode, currently processed text, and array of replacements. It can alter the way shortcodes handlers results are applied to the source text. If none of the listeners set the result, the default method is used. - -There are several ready to use event handlers in the `Thunder\Shortcode\EventHandler` namespace: - -- `FilterRawEventHandler` implements `FilterShortcodesEvent` and allows to implement any number of "raw" shortcodes whose content is not processed, -- `ReplaceJoinEventHandler` implements `ReplaceShortcodesEvent` and provides the mechanism to apply shortcode replacements by discarding text and returning just replacements. - -The example below shows how to manually implement a `[raw]` shortcode that returns its verbatim content without calling any handler for nested shortcodes: - -```php -use Thunder\Shortcode\Event\FilterShortcodesEvent; -use Thunder\Shortcode\EventContainer\EventContainer; -use Thunder\Shortcode\Events; -use Thunder\Shortcode\HandlerContainer\HandlerContainer; -use Thunder\Shortcode\Parser\RegularParser; -use Thunder\Shortcode\Processor\Processor; -use Thunder\Shortcode\Shortcode\ShortcodeInterface; - -$handlers = new HandlerContainer(); -$handlers->add('raw', function(ShortcodeInterface $s) { return $s->getContent(); }); -$handlers->add('n', function(ShortcodeInterface $s) { return $s->getName(); }); -$handlers->add('c', function(ShortcodeInterface $s) { return $s->getContent(); }); - -$events = new EventContainer(); -$events->addListener(Events::FILTER_SHORTCODES, function(FilterShortcodesEvent $event) { - $parent = $event->getParent(); - if($parent && ($parent->getName() === 'raw' || $parent->hasAncestor('raw'))) { - $event->setShortcodes(array()); - } -}); - -$processor = new Processor(new RegularParser(), $handlers); -$processor = $processor->withEventContainer($events); - -assert(' [n /] [c]cnt[/c] ' === $processor->process('[raw] [n /] [c]cnt[/c] [/raw]')); -assert('n true [n /] ' === $processor->process('[n /] [c]true[/c] [raw] [n /] [/raw]')); -``` - -Facade example: - -```php -use Thunder\Shortcode\Event\FilterShortcodesEvent; -use Thunder\Shortcode\Events; -use Thunder\Shortcode\Shortcode\ShortcodeInterface; -use Thunder\Shortcode\ShortcodeFacade; - -$facade = new ShortcodeFacade(); -$facade->addHandler('raw', function(ShortcodeInterface $s) { return $s->getContent(); }); -$facade->addHandler('n', function(ShortcodeInterface $s) { return $s->getName(); }); -$facade->addHandler('c', function(ShortcodeInterface $s) { return $s->getContent(); }); - -$facade->addEventHandler(Events::FILTER_SHORTCODES, function(FilterShortcodesEvent $event) { - $parent = $event->getParent(); - if($parent && ($parent->getName() === 'raw' || $parent->hasAncestor('raw'))) { - $event->setShortcodes(array()); - } -}); - -assert(' [n /] [c]cnt[/c] ' === $facade->process('[raw] [n /] [c]cnt[/c] [/raw]')); -assert('n true [n /] ' === $facade->process('[n /] [c]true[/c] [raw] [n /] [/raw]')); -``` - -## Parsing - -This section discusses available shortcode parsers. Regardless of the parser that you will choose, remember that: - -- shortcode names can be only aplhanumeric characters and dash `-`, basically must conform to the `[a-zA-Z0-9-]+` regular expression, -- unsupported shortcodes (no registered handler or default handler) will be ignored and left as they are, -- mismatching closing shortcode (`[code]content[/codex]`) will be ignored, opening tag will be interpreted as self-closing shortcode, eg. `[code /]`, -- overlapping shortcodes (`[code]content[inner][/code]content[/inner]`) will be interpreted as self-closing, eg. `[code]content[inner /][/code]`, second closing tag will be ignored, - -There are three included parsers in this library: - -- `RegularParser` is the most powerful and correct parser available in this library. It contains the actual parser designed to handle all the issues with shortcodes like proper nesting or detecting invalid shortcode syntax. It is slightly slower than regex-based parser described below, -- `RegexParser` uses a handcrafted regular expression dedicated to handle shortcode syntax as much as regex engine allows. It is fastest among the parsers included in this library, but it can't handle nesting properly, which means that nested shortcodes with the same name are also considered overlapping - (assume that shortcode `[c]` returns its content) string `[c]x[c]y[/c]z[/c]` will be interpreted as `xyz[/c]` (first closing tag was matched to first opening tag). This can be solved by aliasing handler name, because for example `[c]x[d]y[/d]z[/c]` will be processed correctly, -- `WordpressParser` contains code copied from the latest currently available WordPress (4.3.1). It is also a regex-based parser, but the included regular expression is quite weak, it for example won't support BBCode syntax (`[name="param" /]`). This parser by default supports the shortcode name rule, but can break it when created with one of the named constructors (`createFromHandlers()` or `createFromNames()`) that change its behavior to catch only configured names. All of it is intentional to keep the compatibility with what WordPress is capable of if you need that compatibility. - -### Syntax - -All parsers (except `WordpressParser`) support configurable shortcode syntax which can be configured by passing `SyntaxInterface` object as the first parameter. There is a convenience class `CommonSyntax` that contains default syntax. Usage is shown in the examples below: - -```php -use Thunder\Shortcode\HandlerContainer\HandlerContainer; -use Thunder\Shortcode\Parser\RegexParser; -use Thunder\Shortcode\Parser\RegularParser; -use Thunder\Shortcode\Processor\Processor; -use Thunder\Shortcode\Shortcode\ShortcodeInterface; -use Thunder\Shortcode\Syntax\CommonSyntax; -use Thunder\Shortcode\Syntax\Syntax; -use Thunder\Shortcode\Syntax\SyntaxBuilder; - -$builder = new SyntaxBuilder(); -``` - -Default syntax (called "common" in this library): - -``` -$defaultSyntax = new Syntax(); // without any arguments it defaults to common syntax -$defaultSyntax = new CommonSyntax(); // convenience class -$defaultSyntax = new Syntax('[', ']', '/', '=', '"'); // created explicitly -$defaultSyntax = $builder->getSyntax(); // builder defaults to common syntax -``` - -Syntax with doubled tokens: - -```php -$doubleSyntax = new Syntax('[[', ']]', '//', '==', '""'); -$doubleSyntax = $builder // actually using builder - ->setOpeningTag('[[') - ->setClosingTag(']]') - ->setClosingTagMarker('//') - ->setParameterValueSeparator('==') - ->setParameterValueDelimiter('""') - ->getSyntax(); -``` - -Something entirely different just to show the possibilities: - -```php -$differentSyntax = new Syntax('@', '#', '!', '&', '~'); -``` - -Verify that each syntax works properly: - -``` -$handlers = new HandlerContainer(); -$handlers->add('up', function(ShortcodeInterface $s) { - return strtoupper($s->getContent()); -}); - -$defaultRegex = new Processor(new RegexParser($defaultSyntax), $handlers); -$doubleRegex = new Processor(new RegexParser($doubleSyntax), $handlers); -$differentRegular = new Processor(new RegularParser($differentSyntax), $handlers); - -assert('a STRING z' === $defaultRegex->process('a [up]string[/up] z')); -assert('a STRING z' === $doubleRegex->process('a [[up]]string[[//up]] z')); -assert('a STRING z' === $differentRegular->process('a @up#string@!up# z')); -``` - -## Serialization - -This library supports several (un)serialization formats - XML, YAML, JSON and Text. Examples below shows how to both serialize and unserialize the same shortcode in each format: - -```php -use Thunder\Shortcode\Serializer\JsonSerializer; -use Thunder\Shortcode\Serializer\TextSerializer; -use Thunder\Shortcode\Serializer\XmlSerializer; -use Thunder\Shortcode\Serializer\YamlSerializer; -use Thunder\Shortcode\Shortcode\Shortcode; - -$shortcode = new Shortcode('quote', array('name' => 'Thomas'), 'This is a quote!'); -``` - -Text: - -```php -$text = '[quote name=Thomas]This is a quote![/quote]'; -$textSerializer = new TextSerializer(); - -$serializedText = $textSerializer->serialize($shortcode); -assert($text === $serializedText); -$unserializedFromText = $textSerializer->unserialize($serializedText); -assert($unserializedFromText->getName() === $shortcode->getName()); -``` - -JSON: - -```php -$json = '{"name":"quote","parameters":{"name":"Thomas"},"content":"This is a quote!","bbCode":null}'; -$jsonSerializer = new JsonSerializer(); -$serializedJson = $jsonSerializer->serialize($shortcode); -assert($json === $serializedJson); -$unserializedFromJson = $jsonSerializer->unserialize($serializedJson); -assert($unserializedFromJson->getName() === $shortcode->getName()); -``` - -YAML: - -``` -$yaml = "name: quote -parameters: - name: Thomas -content: 'This is a quote!' -bbCode: null -"; -$yamlSerializer = new YamlSerializer(); -$serializedYaml = $yamlSerializer->serialize($shortcode); -assert($yaml === $serializedYaml); -$unserializedFromYaml = $yamlSerializer->unserialize($serializedYaml); -assert($unserializedFromYaml->getName() === $shortcode->getName()); -``` - -XML: - -``` -$xml = ' - - - - - - - -'; -$xmlSerializer = new XmlSerializer(); -$serializedXml = $xmlSerializer->serialize($shortcode); -assert($xml === $serializedXml); -$unserializedFromXml = $xmlSerializer->unserialize($serializedXml); -assert($unserializedFromXml->getName() === $shortcode->getName()); -``` - -Facade also supports serialization in all available formats: - -```php -use Thunder\Shortcode\Shortcode\Shortcode; -use Thunder\Shortcode\ShortcodeFacade; - -$facade = new ShortcodeFacade(); - -$shortcode = new Shortcode('name', array('arg' => 'val'), 'content', 'bbCode'); - -$text = $facade->serialize($shortcode, 'text'); -$textShortcode = $facade->unserialize($text, 'text'); -assert($shortcode->getName() === $textShortcode->getName()); - -$json = $facade->serialize($shortcode, 'json'); -$jsonShortcode = $facade->unserialize($json, 'json'); -assert($shortcode->getName() === $jsonShortcode->getName()); - -$yaml = $facade->serialize($shortcode, 'yaml'); -$yamlShortcode = $facade->unserialize($yaml, 'yaml'); -assert($shortcode->getName() === $yamlShortcode->getName()); - -$xml = $facade->serialize($shortcode, 'xml'); -$xmlShortcode = $facade->unserialize($xml, 'xml'); -assert($shortcode->getName() === $xmlShortcode->getName()); -``` - -## Handlers - -There are several builtin shortcode handlers available in `Thunder\Shortcode\Handler` namespace. Description below assumes that given handler was registered with `xyz` name: - -- `NameHandler` always returns shortcode's name. `[xyz arg=val]content[/xyz]` becomes `xyz`, -- `ContentHandler` always returns shortcode's content. It discards its opening and closing tag. `[xyz]code[/xyz]` becomes `code`, -- `RawHandler` returns unprocessed shortcode content. Its behavior is different than `FilterRawEventHandler` because if content auto processing is turned on, then nested shortcodes handlers were called, just their result was discarded, -- `NullHandler` completely removes shortcode with all nested shortcodes, -- `DeclareHandler` allows to dynamically create shortcode handler with name as first parameter that will also replace all placeholders in text passed as arguments. Example: `[declare xyz]Your age is %age%.[/declare]` created handler for shortcode `xyz` and when used like `[xyz age=18]` the result is `Your age is 18.`, -- `EmailHandler` replaces the email address or shortcode content as clickable `mailto:` link: - - `[xyz="email@example.com" /]` becomes `
email@example.com`, - - `[xyz]email@example.com[/xyz]` becomes `email@example.com`, - - `[xyz="email@example.com"]Contact me![/xyz]` becomes `Contact me!`, -- `PlaceholderHandler` replaces all placeholders in shortcode's content with values of passed arguments. `[xyz year=1970]News from year %year%.[/xyz]` becomes `News from year 1970.`, -- `SerializerHandler` replaces shortcode with its serialized value using serializer passed as an argument in class' constructor. If configured with `JsonSerializer`, `[xyz /]` becomes `{"name":"json", "arguments": [], "content": null, "bbCode": null}`. This could be useful for debugging your shortcodes, -- `UrlHandler` replaces its content with a clickable link: - - `[xyz]http://example.com[/xyz]` becomes `http://example.com`, - - `[xyz="http://example.com"]Visit my site![/xyz]` becomes `Visit my site!`, -- `WrapHandler` allows to specify the value that should be placed before and after shortcode content. If configured with `` and ``, the text `[xyz]Bold text.[/xyz]` becomes `Bold text.`. - -## Contributing - -Want to contribute? Perfect! Submit an issue or Pull Request and explain what would you like to see in this library. - -## License - -See LICENSE file in the main directory of this library. diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/composer.json b/plugins/shortcode-core/vendor/thunderer/shortcode/composer.json deleted file mode 100644 index b89f05a..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "thunderer/shortcode", - "description": "Advanced shortcode (BBCode) parser and engine for PHP", - "keywords": ["shortcode", "bbcode", "parser", "engine", "library"], - "license": "MIT", - "authors": [ - { - "name": "Tomasz Kowalczyk", - "email": "tomasz@kowalczyk.cc" - } - ], - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": ">=4.1", - "symfony/yaml": ">=2.0" - }, - "autoload": { - "psr-4": { - "Thunder\\Shortcode\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Thunder\\Shortcode\\Tests\\": "tests/" - } - }, - "suggest": { - "symfony/yaml": "if you want to use YAML serializer", - "ext-dom": "if you want to use XML serializer", - "ext-json": "if you want to use JSON serializer" - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/docker-compose.yaml b/plugins/shortcode-core/vendor/thunderer/shortcode/docker-compose.yaml deleted file mode 100644 index 5d6d75f..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/docker-compose.yaml +++ /dev/null @@ -1,20 +0,0 @@ -version: '3.4' - -x-php: &php - volumes: ['.:/app', './docker/php/php.ini:/usr/local/etc/php/conf.d/php.ini'] - working_dir: '/app' - -services: - # PHP 5.3 contains neither mbstring extension nor docker-php-ext-install script - # Original Dockerfile can be found here https://github.com/docker-library/php/pull/20/files - # Unfortunately it fails to build now because GPG signatures do not exist anymore - # php-5.3: { build: { context: docker/php-5.x, args: { PHP_VERSION: 5.3 } } } - php-5.4: { <<: *php, build: { context: docker/php-5.x, args: { PHP_VERSION: 5.4 } } } - php-5.5: { <<: *php, build: { context: docker/php-5.x, args: { PHP_VERSION: 5.5 } } } - php-5.6: { <<: *php, build: { context: docker/php-5.x, args: { PHP_VERSION: 5.6 } } } - php-7.0: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.0 } } } - php-7.1: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.1.3 } } } - php-7.2: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.2 } } } - php-7.3: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.3 } } } - php-7.4: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.4 } } } - php-8.0: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 8.0 } } } diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php-5.x/Dockerfile b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php-5.x/Dockerfile deleted file mode 100644 index d3bf11b..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php-5.x/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -ARG PHP_VERSION=7.4 -FROM php:$PHP_VERSION - -RUN apt update && apt install -y --force-yes libonig-dev libzip-dev -RUN docker-php-ext-install mbstring zip - -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php -r "if (hash_file('sha384', 'composer-setup.php') === 'c31c1e292ad7be5f49291169c0ac8f683499edddcfd4e42232982d0fd193004208a58ff6f353fde0012d35fdd72bc394') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \ - && php composer-setup.php \ - && php -r "unlink('composer-setup.php');" \ - && mv composer.phar /usr/local/bin/composer diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/Dockerfile b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/Dockerfile deleted file mode 100644 index 1cc6625..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -ARG PHP_VERSION=8.0 -FROM php:$PHP_VERSION - -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \ - && php composer-setup.php \ - && php -r "unlink('composer-setup.php');" \ - && mv composer.phar /usr/local/bin/composer - -RUN apt update && apt install -y libonig-dev libzip-dev -RUN docker-php-ext-install mbstring zip -RUN pecl install xdebug && docker-php-ext-enable xdebug diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/php.ini b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/php.ini deleted file mode 100644 index cea362e..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/php.ini +++ /dev/null @@ -1 +0,0 @@ -xdebug.mode=coverage diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/infection.json b/plugins/shortcode-core/vendor/thunderer/shortcode/infection.json deleted file mode 100644 index ba36c9a..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/infection.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "source": { - "directories": ["src"] - }, - "logs": { - "text": "infection.log" - }, - "timeout": 2, - "mutators": { - "@default": true - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/phpunit.xml.dist b/plugins/shortcode-core/vendor/thunderer/shortcode/phpunit.xml.dist deleted file mode 100644 index f7c807d..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/phpunit.xml.dist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - tests - - - - - - src - - - - - - - diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/psalm.xml b/plugins/shortcode-core/vendor/thunderer/shortcode/psalm.xml deleted file mode 100644 index e35b9ed..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/psalm.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/FilterShortcodesEvent.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/FilterShortcodesEvent.php deleted file mode 100644 index dc554e3..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/FilterShortcodesEvent.php +++ /dev/null @@ -1,62 +0,0 @@ - - */ -class FilterShortcodesEvent -{ - /** @var ProcessedShortcode|null */ - private $parent; - /** @var ParsedShortcodeInterface[] */ - private $shortcodes = array(); - - /** @param ParsedShortcodeInterface[] $shortcodes */ - public function __construct(array $shortcodes, ProcessedShortcode $parent = null) - { - $this->parent = $parent; - $this->setShortcodes($shortcodes); - } - - /** @return ParsedShortcodeInterface[] */ - public function getShortcodes() - { - return $this->shortcodes; - } - - /** @return ProcessedShortcode|null */ - public function getParent() - { - return $this->parent; - } - - /** - * @param ParsedShortcodeInterface[] $shortcodes - * - * @return void - */ - public function setShortcodes(array $shortcodes) - { - $this->shortcodes = array(); - foreach($shortcodes as $shortcode) { - $this->addShortcode($shortcode); - } - } - - /** - * @param ParsedShortcodeInterface $shortcode - * - * @return void - */ - private function addShortcode(ParsedShortcodeInterface $shortcode) - { - $this->shortcodes[] = $shortcode; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/ReplaceShortcodesEvent.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/ReplaceShortcodesEvent.php deleted file mode 100644 index 39e1827..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/ReplaceShortcodesEvent.php +++ /dev/null @@ -1,94 +0,0 @@ - - */ -class ReplaceShortcodesEvent -{ - /** @var ShortcodeInterface|null */ - private $shortcode; - /** @var string */ - private $text; - /** @var ReplacedShortcode[] */ - private $replacements = array(); - /** @var string|null */ - private $result; - - /** - * @param string $text - * @param ReplacedShortcode[] $replacements - */ - public function __construct($text, array $replacements, ShortcodeInterface $shortcode = null) - { - $this->shortcode = $shortcode; - $this->text = $text; - - $this->setReplacements($replacements); - } - - /** - * @param ReplacedShortcode[] $replacements - * - * @return void - */ - private function setReplacements(array $replacements) - { - foreach($replacements as $replacement) { - $this->addReplacement($replacement); - } - } - - /** @return void */ - private function addReplacement(ReplacedShortcode $replacement) - { - $this->replacements[] = $replacement; - } - - /** @return string */ - public function getText() - { - return $this->text; - } - - /** @return ReplacedShortcode[] */ - public function getReplacements() - { - return $this->replacements; - } - - /** @return ShortcodeInterface|null */ - public function getShortcode() - { - return $this->shortcode; - } - - /** - * @param string $result - * - * @return void - */ - public function setResult($result) - { - $this->result = $result; - } - - /** @return string|null */ - public function getResult() - { - return $this->result; - } - - /** @return bool */ - public function hasResult() - { - return null !== $this->result; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainer.php deleted file mode 100644 index 01b0d29..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainer.php +++ /dev/null @@ -1,56 +0,0 @@ - - */ -final class EventContainer implements EventContainerInterface -{ - /** @psalm-var array> */ - private $listeners = array(); - - public function __construct() - { - } - - /** - * @param string $event - * @param callable $handler - * - * @return void - */ - public function addListener($event, $handler) - { - if(!\in_array($event, Events::getEvents(), true)) { - throw new \InvalidArgumentException(sprintf('Unsupported event %s!', $event)); - } - - if(!array_key_exists($event, $this->listeners)) { - $this->listeners[$event] = array(); - } - - $this->listeners[$event][] = $handler; - } - - /** - * @param string $event - * - * @psalm-return list - */ - public function getListeners($event) - { - return $this->hasEvent($event) ? $this->listeners[$event] : array(); - } - - /** - * @param string $name - * - * @return bool - */ - private function hasEvent($name) - { - return array_key_exists($name, $this->listeners); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainerInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainerInterface.php deleted file mode 100644 index ea358ef..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainerInterface.php +++ /dev/null @@ -1,15 +0,0 @@ - - */ -interface EventContainerInterface -{ - /** - * @param string $event - * - * @return callable[] - */ - public function getListeners($event); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/FilterRawEventHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/FilterRawEventHandler.php deleted file mode 100644 index ca5da3e..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/FilterRawEventHandler.php +++ /dev/null @@ -1,34 +0,0 @@ - - */ -final class FilterRawEventHandler -{ - /** @var string[] */ - private $names = array(); - - public function __construct(array $names) - { - foreach($names as $name) { - if(false === is_string($name)) { - throw new \InvalidArgumentException('Expected array of strings!'); - } - - $this->names[] = $name; - } - } - - public function __invoke(FilterShortcodesEvent $event) - { - $parent = $event->getParent(); - if($parent && \in_array($parent->getName(), $this->names, true)) { - $event->setShortcodes(array()); - - return; - } - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/ReplaceJoinEventHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/ReplaceJoinEventHandler.php deleted file mode 100644 index 96710b2..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/ReplaceJoinEventHandler.php +++ /dev/null @@ -1,37 +0,0 @@ - - */ -final class ReplaceJoinEventHandler -{ - /** @var string[] */ - private $names = array(); - - public function __construct(array $names) - { - foreach($names as $name) { - if(false === is_string($name)) { - throw new \InvalidArgumentException('Expected array of strings!'); - } - - $this->names[] = $name; - } - } - - public function __invoke(ReplaceShortcodesEvent $event) - { - $shortcode = $event->getShortcode(); - if($shortcode && in_array($shortcode->getName(), $this->names)) { - $replaces = array(); - foreach($event->getReplacements() as $r) { - $replaces[] = $r->getReplacement(); - } - - $event->setResult(implode('', $replaces)); - } - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Events.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Events.php deleted file mode 100644 index 7d7bafb..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Events.php +++ /dev/null @@ -1,17 +0,0 @@ - - */ -final class Events -{ - const FILTER_SHORTCODES = 'event.filter-shortcodes'; - const REPLACE_SHORTCODES = 'event.replace-shortcodes'; - - /** @return string[] */ - public static function getEvents() - { - return array(static::FILTER_SHORTCODES, static::REPLACE_SHORTCODES); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/ContentHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/ContentHandler.php deleted file mode 100644 index 13483a6..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/ContentHandler.php +++ /dev/null @@ -1,22 +0,0 @@ - - */ -final class ContentHandler -{ - /** - * [content]text to display[/content] - * - * @param ShortcodeInterface $shortcode - * - * @return null|string - */ - public function __invoke(ShortcodeInterface $shortcode) - { - return $shortcode->getContent(); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/DeclareHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/DeclareHandler.php deleted file mode 100644 index f0c4314..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/DeclareHandler.php +++ /dev/null @@ -1,50 +0,0 @@ - - */ -final class DeclareHandler -{ - /** @var HandlerContainer */ - private $handlers; - /** @var string */ - private $delimiter; - - /** @param string $delimiter */ - public function __construct(HandlerContainer $container, $delimiter = '%') - { - $this->handlers = $container; - $this->delimiter = $delimiter; - } - - /** - * [declare name]Your name is %value%[/declare] - * [name value="Thomas" /] - * - * @param ShortcodeInterface $shortcode - */ - public function __invoke(ShortcodeInterface $shortcode) - { - $args = $shortcode->getParameters(); - if(empty($args)) { - return; - } - $keys = array_keys($args); - $name = array_shift($keys); - $content = (string)$shortcode->getContent(); - $delimiter = $this->delimiter; - - $this->handlers->add($name, function(ShortcodeInterface $shortcode) use($content, $delimiter) { - $args = $shortcode->getParameters(); - $keys = array_map(function($key) use($delimiter) { return $delimiter.$key.$delimiter; }, array_keys($args)); - /** @var string[] $values */ - $values = array_values($args); - - return str_replace($keys, $values, $content); - }); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/EmailHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/EmailHandler.php deleted file mode 100644 index 0312e9b..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/EmailHandler.php +++ /dev/null @@ -1,27 +0,0 @@ - - */ -final class EmailHandler -{ - /** - * [email="example@example.org"]Contact me![/email] - * [email="example@example.org" /] - * [email]example@example.org[/email] - * - * @param ShortcodeInterface $shortcode - * - * @return string - */ - public function __invoke(ShortcodeInterface $shortcode) - { - $email = $shortcode->getBbCode() ?: $shortcode->getContent(); - $content = $shortcode->getContent() === null ? $email : $shortcode->getContent(); - - return ''.(string)$content.''; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NameHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NameHandler.php deleted file mode 100644 index feaa159..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NameHandler.php +++ /dev/null @@ -1,23 +0,0 @@ - - */ -final class NameHandler -{ - /** - * [name /] - * [name]content is ignored[/name] - * - * @param ShortcodeInterface $shortcode - * - * @return string - */ - public function __invoke(ShortcodeInterface $shortcode) - { - return $shortcode->getName(); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NullHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NullHandler.php deleted file mode 100644 index d411f41..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NullHandler.php +++ /dev/null @@ -1,22 +0,0 @@ - - */ -final class NullHandler -{ - /** - * Special shortcode to discard any input and return empty text - * - * @param ShortcodeInterface $shortcode - * - * @return null - */ - public function __invoke(ShortcodeInterface $shortcode) - { - return null; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/PlaceholderHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/PlaceholderHandler.php deleted file mode 100644 index 4906f5e..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/PlaceholderHandler.php +++ /dev/null @@ -1,37 +0,0 @@ - - */ -final class PlaceholderHandler -{ - /** @var string */ - private $delimiter; - - /** @param string $delimiter */ - public function __construct($delimiter = '%') - { - $this->delimiter = $delimiter; - } - - /** - * [placeholder value=18]You age is %value%[/placeholder] - * - * @param ShortcodeInterface $shortcode - * - * @return mixed - */ - public function __invoke(ShortcodeInterface $shortcode) - { - $args = $shortcode->getParameters(); - $delimiter = $this->delimiter; - $keys = array_map(function($key) use($delimiter) { return $delimiter.$key.$delimiter; }, array_keys($args)); - /** @var string[] $values */ - $values = array_values($args); - - return str_replace($keys, $values, (string)$shortcode->getContent()); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/RawHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/RawHandler.php deleted file mode 100644 index 585bf26..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/RawHandler.php +++ /dev/null @@ -1,26 +0,0 @@ - - */ -final class RawHandler -{ - public function __construct() - { - } - - /** - * [raw]any content [with] or [without /] shortcodes[/raw] - * - * @param ProcessedShortcode $shortcode - * - * @return string - */ - public function __invoke(ProcessedShortcode $shortcode) - { - return $shortcode->getTextContent(); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/SerializerHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/SerializerHandler.php deleted file mode 100644 index cf20a19..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/SerializerHandler.php +++ /dev/null @@ -1,38 +0,0 @@ - - */ -final class SerializerHandler -{ - /** @var SerializerInterface */ - private $serializer; - - public function __construct(SerializerInterface $serializer) - { - $this->serializer = $serializer; - } - - /** - * [text arg=val /] - * [text arg=val]content[/text] - * [json arg=val /] - * [json arg=val]content[/json] - * [xml arg=val /] - * [xml arg=val]content[/xml] - * [yaml arg=val /] - * [yaml arg=val]content[/yaml] - * - * @param ShortcodeInterface $shortcode - * - * @return string - */ - public function __invoke(ShortcodeInterface $shortcode) - { - return $this->serializer->serialize($shortcode); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/UrlHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/UrlHandler.php deleted file mode 100644 index 27d02ce..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/UrlHandler.php +++ /dev/null @@ -1,26 +0,0 @@ - - */ -final class UrlHandler -{ - /** - * [url="http://example.org"]Click![/url] - * [url="http://example.org" /] - * [url]http://example.org[/url] - * - * @param ShortcodeInterface $shortcode - * - * @return string - */ - public function __invoke(ShortcodeInterface $shortcode) - { - $url = $shortcode->getBbCode() ?: $shortcode->getContent(); - - return ''.(string)$shortcode->getContent().''; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/WrapHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/WrapHandler.php deleted file mode 100644 index 1185156..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/WrapHandler.php +++ /dev/null @@ -1,44 +0,0 @@ - - */ -final class WrapHandler -{ - /** @var string */ - private $before; - /** @var string */ - private $after; - - /** - * @param string $before - * @param string $after - */ - public function __construct($before, $after) - { - $this->before = $before; - $this->after = $after; - } - - /** @return self */ - public static function createBold() - { - return new self('', ''); - } - - /** - * [b]content[b] - * [strong]content[/strong] - * - * @param ShortcodeInterface $shortcode - * - * @return string - */ - public function __invoke(ShortcodeInterface $shortcode) - { - return $this->before.(string)$shortcode->getContent().$this->after; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainer.php deleted file mode 100644 index 881ee06..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainer.php +++ /dev/null @@ -1,122 +0,0 @@ - - */ -final class HandlerContainer implements HandlerContainerInterface -{ - /** @psalm-var array */ - private $handlers = array(); - /** @psalm-var (callable(ShortcodeInterface):string)|null */ - private $default = null; - - /** - * @param string $name - * @param callable $handler - * @psalm-param callable(ShortcodeInterface):string $handler - * - * @return $this - */ - public function add($name, $handler) - { - $this->guardHandler($handler); - - if (empty($name) || $this->has($name)) { - $msg = 'Invalid name or duplicate shortcode handler for %s!'; - throw new \RuntimeException(sprintf($msg, $name)); - } - - $this->handlers[$name] = $handler; - - return $this; - } - - /** - * @param string $alias - * @param string $name - * - * @return $this - */ - public function addAlias($alias, $name) - { - if (false === $this->has($name)) { - $msg = 'Failed to add an alias %s to non existent handler %s!'; - throw new \RuntimeException(sprintf($msg, $alias, $name)); - } - - /** @psalm-suppress PossiblyNullArgument */ - return $this->add($alias, $this->get($name)); - } - - /** - * @param string $name - * - * @return void - */ - public function remove($name) - { - if (false === $this->has($name)) { - $msg = 'Failed to remove non existent handler %s!'; - throw new \RuntimeException(sprintf($msg, $name)); - } - - unset($this->handlers[$name]); - } - - /** - * @param callable $handler - * @psalm-param callable(ShortcodeInterface):string $handler - * - * @return $this - */ - public function setDefault($handler) - { - $this->guardHandler($handler); - - $this->default = $handler; - - return $this; - } - - /** @return string[] */ - public function getNames() - { - return array_keys($this->handlers); - } - - /** - * @param string $name - * - * @return callable|null - * @psalm-return (callable(ShortcodeInterface):string)|null - */ - public function get($name) - { - return $this->has($name) ? $this->handlers[$name] : $this->default; - } - - /** - * @param string $name - * - * @return bool - */ - public function has($name) - { - return array_key_exists($name, $this->handlers); - } - - /** - * @param callable $handler - * - * @return void - */ - private function guardHandler($handler) - { - if (!is_callable($handler)) { - throw new \RuntimeException('Shortcode handler must be callable!'); - } - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainerInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainerInterface.php deleted file mode 100644 index 80b11ec..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainerInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - */ -interface HandlerContainerInterface -{ - /** - * Returns handler for given shortcode name or default if it was set before. - * If no handler is found, returns null. - * - * @param string $name Shortcode name - * - * @return callable|null - * @psalm-return (callable(ShortcodeInterface):string)|null - */ - public function get($name); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/ImmutableHandlerContainer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/ImmutableHandlerContainer.php deleted file mode 100644 index cf1c4cd..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/ImmutableHandlerContainer.php +++ /dev/null @@ -1,29 +0,0 @@ - - */ -final class ImmutableHandlerContainer implements HandlerContainerInterface -{ - /** @var HandlerContainer */ - private $handlers; - - public function __construct(HandlerContainer $handlers) - { - $this->handlers = clone $handlers; - } - - /** - * @param string $name - * - * @return callable|null - * @psalm-return (callable(ShortcodeInterface):string)|null - */ - public function get($name) - { - return $this->handlers->get($name); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/ParserInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/ParserInterface.php deleted file mode 100644 index dc324ae..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/ParserInterface.php +++ /dev/null @@ -1,19 +0,0 @@ - - */ -interface ParserInterface -{ - /** - * Parse single shortcode match into object - * - * @param string $text - * - * @return ParsedShortcodeInterface[] - */ - public function parse($text); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegexParser.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegexParser.php deleted file mode 100644 index 4a83b39..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegexParser.php +++ /dev/null @@ -1,124 +0,0 @@ - - */ -final class RegexParser implements ParserInterface -{ - /** @var SyntaxInterface */ - private $syntax; - /** @var string */ - private $shortcodeRegex; - /** @var string */ - private $singleShortcodeRegex; - /** @var string */ - private $parametersRegex; - - public function __construct(SyntaxInterface $syntax = null) - { - $this->syntax = $syntax ?: new Syntax(); - $this->shortcodeRegex = RegexBuilderUtility::buildShortcodeRegex($this->syntax); - $this->singleShortcodeRegex = RegexBuilderUtility::buildSingleShortcodeRegex($this->syntax); - $this->parametersRegex = RegexBuilderUtility::buildParametersRegex($this->syntax); - } - - /** - * @param string $text - * - * @return ParsedShortcode[] - */ - public function parse($text) - { - preg_match_all($this->shortcodeRegex, $text, $matches, PREG_OFFSET_CAPTURE); - - // loop instead of array_map to pass the arguments explicitly - $shortcodes = array(); - foreach($matches[0] as $match) { - $offset = mb_strlen(substr($text, 0, $match[1]), 'utf-8'); - $shortcodes[] = $this->parseSingle($match[0], $offset); - } - - return array_filter($shortcodes); - } - - /** - * @param string $text - * @param int $offset - * - * @return ParsedShortcode - */ - private function parseSingle($text, $offset) - { - preg_match($this->singleShortcodeRegex, $text, $matches, PREG_OFFSET_CAPTURE); - - /** @psalm-var array $matches */ - $name = $matches['name'][0]; - $parameters = isset($matches['parameters'][0]) ? $this->parseParameters($matches['parameters'][0]) : array(); - $bbCode = isset($matches['bbCode'][0]) && $matches['bbCode'][1] !== -1 - ? $this->extractValue($matches['bbCode'][0]) - : null; - $content = isset($matches['content'][0]) && $matches['content'][1] !== -1 ? $matches['content'][0] : null; - - return new ParsedShortcode(new Shortcode($name, $parameters, $content, $bbCode), $text, $offset); - } - - /** - * @param string $text - * - * @psalm-return array - */ - private function parseParameters($text) - { - preg_match_all($this->parametersRegex, $text, $argsMatches); - - // loop because PHP 5.3 can't handle $this properly and I want separate methods - $return = array(); - foreach ($argsMatches[1] as $item) { - /** @psalm-var array{0:string,1:string} $parts */ - $parts = explode($this->syntax->getParameterValueSeparator(), $item, 2); - $return[trim($parts[0])] = $this->parseValue(isset($parts[1]) ? $parts[1] : null); - } - - return $return; - } - - /** - * @param string|null $value - * - * @return string|null - */ - private function parseValue($value) - { - return null === $value ? null : $this->extractValue(trim($value)); - } - - /** - * @param string $value - * - * @return string - */ - private function extractValue($value) - { - $length = strlen($this->syntax->getParameterValueDelimiter()); - - return $this->isDelimitedValue($value) ? substr($value, $length, -1 * $length) : $value; - } - - /** - * @param string $value - * - * @return bool - */ - private function isDelimitedValue($value) - { - return preg_match('/^'.$this->syntax->getParameterValueDelimiter().'/us', $value) - && preg_match('/'.$this->syntax->getParameterValueDelimiter().'$/us', $value); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegularParser.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegularParser.php deleted file mode 100644 index d46a36a..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegularParser.php +++ /dev/null @@ -1,397 +0,0 @@ - - */ -final class RegularParser implements ParserInterface -{ - /** @var string */ - private $lexerRegex; - /** @var string */ - private $nameRegex; - /** @psalm-var list */ - private $tokens = array(); - /** @var int */ - private $tokensCount = 0; - /** @var int */ - private $position = 0; - /** @var int[] */ - private $backtracks = array(); - /** @var int */ - private $lastBacktrack = 0; - - const TOKEN_OPEN = 1; - const TOKEN_CLOSE = 2; - const TOKEN_MARKER = 3; - const TOKEN_SEPARATOR = 4; - const TOKEN_DELIMITER = 5; - const TOKEN_STRING = 6; - const TOKEN_WS = 7; - - public function __construct(SyntaxInterface $syntax = null) - { - $this->lexerRegex = $this->prepareLexer($syntax ?: new CommonSyntax()); - $this->nameRegex = '~^'.RegexBuilderUtility::buildNameRegex().'$~us'; - } - - /** - * @param string $text - * - * @return ParsedShortcode[] - */ - public function parse($text) - { - $nestingLevel = ini_set('xdebug.max_nesting_level', '-1'); - $this->tokens = $this->tokenize($text); - $this->backtracks = array(); - $this->lastBacktrack = 0; - $this->position = 0; - $this->tokensCount = \count($this->tokens); - - $shortcodes = array(); - while($this->position < $this->tokensCount) { - while($this->position < $this->tokensCount && false === $this->lookahead(self::TOKEN_OPEN)) { - $this->position++; - } - $names = array(); - $this->beginBacktrack(); - $matches = $this->shortcode($names); - if(false === $matches) { - $this->backtrack(); - $this->match(null, true); - continue; - } - if(\is_array($matches)) { - foreach($matches as $shortcode) { - $shortcodes[] = $shortcode; - } - } - } - ini_set('xdebug.max_nesting_level', $nestingLevel); - - return $shortcodes; - } - - /** - * @param string $name - * @psalm-param array $parameters - * @param string|null $bbCode - * @param int $offset - * @param string|null $content - * @param string $text - * - * @return ParsedShortcode - */ - private function getObject($name, $parameters, $bbCode, $offset, $content, $text) - { - return new ParsedShortcode(new Shortcode($name, $parameters, $content, $bbCode), $text, $offset); - } - - /* --- RULES ----------------------------------------------------------- */ - - /** - * @param string[] $names - * @psalm-param list $names - * FIXME: investigate the reason Psalm complains about references - * @psalm-suppress ReferenceConstraintViolation - * - * @return ParsedShortcode[]|string|false - */ - private function shortcode(array &$names) - { - if(!$this->match(self::TOKEN_OPEN, false)) { return false; } - $offset = $this->tokens[$this->position - 1][2]; - $this->match(self::TOKEN_WS, false); - if('' === $name = $this->match(self::TOKEN_STRING, false)) { return false; } - if($this->lookahead(self::TOKEN_STRING)) { return false; } - if(1 !== preg_match($this->nameRegex, $name, $matches)) { return false; } - $this->match(self::TOKEN_WS, false); - // bbCode - $bbCode = $this->match(self::TOKEN_SEPARATOR, true) ? $this->value() : null; - if(false === $bbCode) { return false; } - // parameters - if(false === ($parameters = $this->parameters())) { return false; } - - // self-closing - if($this->match(self::TOKEN_MARKER, true)) { - if(!$this->match(self::TOKEN_CLOSE, false)) { return false; } - - return array($this->getObject($name, $parameters, $bbCode, $offset, null, $this->getBacktrack())); - } - - // just-closed or with-content - if(!$this->match(self::TOKEN_CLOSE, false)) { return false; } - $this->beginBacktrack(); - $names[] = $name; - - // begin inlined content() - $content = ''; - $shortcodes = array(); - $closingName = null; - - while($this->position < $this->tokensCount) { - while($this->position < $this->tokensCount && false === $this->lookahead(self::TOKEN_OPEN)) { - $content .= $this->match(null, true); - } - - $this->beginBacktrack(); - /** @psalm-suppress MixedArgumentTypeCoercion */ - $contentMatchedShortcodes = $this->shortcode($names); - if(\is_string($contentMatchedShortcodes)) { - $closingName = $contentMatchedShortcodes; - break; - } - if(\is_array($contentMatchedShortcodes)) { - foreach($contentMatchedShortcodes as $matchedShortcode) { - $shortcodes[] = $matchedShortcode; - } - continue; - } - $this->backtrack(); - - $this->beginBacktrack(); - if(false !== ($closingName = $this->close($names))) { - $this->backtrack(); - $shortcodes = array(); - break; - } - $closingName = null; - $this->backtrack(); - - $content .= $this->match(null, false); - } - $content = $this->position < $this->tokensCount ? $content : false; - // end inlined content() - - if(null !== $closingName && $closingName !== $name) { - array_pop($names); - array_pop($this->backtracks); - array_pop($this->backtracks); - - return $closingName; - } - if(false === $content || $closingName !== $name) { - $this->backtrack(false); - $text = $this->backtrack(false); - array_pop($names); - - return array_merge(array($this->getObject($name, $parameters, $bbCode, $offset, null, $text)), $shortcodes); - } - $content = $this->getBacktrack(); - if(!$this->close($names)) { return false; } - array_pop($names); - - return array($this->getObject($name, $parameters, $bbCode, $offset, $content, $this->getBacktrack())); - } - - /** - * @param string[] $names - * - * @return string|false - */ - private function close(array &$names) - { - if(!$this->match(self::TOKEN_OPEN, true)) { return false; } - if(!$this->match(self::TOKEN_MARKER, true)) { return false; } - if(!$closingName = $this->match(self::TOKEN_STRING, true)) { return false; } - if(!$this->match(self::TOKEN_CLOSE, false)) { return false; } - - return \in_array($closingName, $names, true) ? $closingName : false; - } - - /** @psalm-return array|false */ - private function parameters() - { - $parameters = array(); - - while(true) { - $this->match(self::TOKEN_WS, false); - if($this->lookahead(self::TOKEN_MARKER) || $this->lookahead(self::TOKEN_CLOSE)) { break; } - if(!$name = $this->match(self::TOKEN_STRING, true)) { return false; } - if(!$this->match(self::TOKEN_SEPARATOR, true)) { $parameters[$name] = null; continue; } - if(false === ($value = $this->value())) { return false; } - $this->match(self::TOKEN_WS, false); - - $parameters[$name] = $value; - } - - return $parameters; - } - - /** @return false|string */ - private function value() - { - $value = ''; - - if($this->match(self::TOKEN_DELIMITER, false)) { - while($this->position < $this->tokensCount && false === $this->lookahead(self::TOKEN_DELIMITER)) { - $value .= $this->match(null, false); - } - - return $this->match(self::TOKEN_DELIMITER, false) ? $value : false; - } - - if('' !== $tmp = $this->match(self::TOKEN_STRING, false)) { - $value .= $tmp; - while('' !== $tmp = $this->match(self::TOKEN_STRING, false)) { - $value .= $tmp; - } - - return $value; - } - - return false; - } - - /* --- PARSER ---------------------------------------------------------- */ - - /** @return void */ - private function beginBacktrack() - { - $this->backtracks[] = $this->position; - $this->lastBacktrack = $this->position; - } - - /** @return string */ - private function getBacktrack() - { - $position = array_pop($this->backtracks); - $backtrack = ''; - for($i = $position; $i < $this->position; $i++) { - $backtrack .= $this->tokens[$i][1]; - } - - return $backtrack; - } - - /** - * @param bool $modifyPosition - * - * @return string - */ - private function backtrack($modifyPosition = true) - { - $position = array_pop($this->backtracks); - if($modifyPosition) { - $this->position = $position; - } - - $backtrack = ''; - for($i = $position; $i < $this->lastBacktrack; $i++) { - $backtrack .= $this->tokens[$i][1]; - } - $this->lastBacktrack = $position; - - return $backtrack; - } - - /** - * @param int $type - * - * @return bool - */ - private function lookahead($type) - { - return $this->position < $this->tokensCount && $this->tokens[$this->position][0] === $type; - } - - /** - * @param int|null $type - * @param bool $ws - * - * @return string - */ - private function match($type, $ws) - { - if($this->position >= $this->tokensCount) { - return ''; - } - - $token = $this->tokens[$this->position]; - if(!empty($type) && $token[0] !== $type) { - return ''; - } - - $this->position++; - if($ws && $this->position < $this->tokensCount && $this->tokens[$this->position][0] === self::TOKEN_WS) { - $this->position++; - } - - return $token[1]; - } - - /* --- LEXER ----------------------------------------------------------- */ - - /** - * @param string $text - * - * @psalm-return list - */ - private function tokenize($text) - { - $count = preg_match_all($this->lexerRegex, $text, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE); - if(false === $count || preg_last_error() !== PREG_NO_ERROR) { - throw new \RuntimeException(sprintf('PCRE failure `%s`.', preg_last_error())); - } - - $tokens = array(); - $position = 0; - - foreach($matches as $match) { - switch(true) { - case -1 !== $match['string'][1]: { $token = $match['string'][0]; $type = self::TOKEN_STRING; break; } - case -1 !== $match['ws'][1]: { $token = $match['ws'][0]; $type = self::TOKEN_WS; break; } - case -1 !== $match['marker'][1]: { $token = $match['marker'][0]; $type = self::TOKEN_MARKER; break; } - case -1 !== $match['delimiter'][1]: { $token = $match['delimiter'][0]; $type = self::TOKEN_DELIMITER; break; } - case -1 !== $match['separator'][1]: { $token = $match['separator'][0]; $type = self::TOKEN_SEPARATOR; break; } - case -1 !== $match['open'][1]: { $token = $match['open'][0]; $type = self::TOKEN_OPEN; break; } - case -1 !== $match['close'][1]: { $token = $match['close'][0]; $type = self::TOKEN_CLOSE; break; } - default: { throw new \RuntimeException(sprintf('Invalid token.')); } - } - $tokens[] = array($type, $token, $position); - $position += mb_strlen($token, 'utf-8'); - } - - return $tokens; - } - - /** @return string */ - private function prepareLexer(SyntaxInterface $syntax) - { - // FIXME: for some reason Psalm does not understand the `@psalm-var callable() $var` annotation - /** @psalm-suppress MissingClosureParamType, MissingClosureReturnType */ - $group = function($text, $group) { - return '(?<'.(string)$group.'>'.preg_replace('/(.)/us', '\\\\$0', (string)$text).')'; - }; - /** @psalm-suppress MissingClosureParamType, MissingClosureReturnType */ - $quote = function($text) { - return preg_replace('/(.)/us', '\\\\$0', (string)$text); - }; - - $rules = array( - '(?\\\\.|(?:(?!'.implode('|', array( - $quote($syntax->getOpeningTag()), - $quote($syntax->getClosingTag()), - $quote($syntax->getClosingTagMarker()), - $quote($syntax->getParameterValueSeparator()), - $quote($syntax->getParameterValueDelimiter()), - '\s+', - )).').)+)', - '(?\s+)', - $group($syntax->getClosingTagMarker(), 'marker'), - $group($syntax->getParameterValueDelimiter(), 'delimiter'), - $group($syntax->getParameterValueSeparator(), 'separator'), - $group($syntax->getOpeningTag(), 'open'), - $group($syntax->getClosingTag(), 'close'), - ); - - return '~('.implode('|', $rules).')~us'; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/WordpressParser.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/WordpressParser.php deleted file mode 100644 index 03a4611..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/WordpressParser.php +++ /dev/null @@ -1,134 +0,0 @@ - - */ -final class WordpressParser implements ParserInterface -{ - /** @var string */ - private static $shortcodeRegex = '/\\[(\\[?)()(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*+(?:\\[(?!\\/\\2\\])[^\\[]*+)*+)\\[\\/\\2\\])?)(\\]?)/s'; - /** @var string */ - private static $argumentsRegex = '/([\w-]+)\s*=\s*"([^"]*)"(?:\s|$)|([\w-]+)\s*=\s*\'([^\']*)\'(?:\s|$)|([\w-]+)\s*=\s*([^\s\'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|(\S+)(?:\s|$)/'; - - /** @var string[] */ - private $names = array(); - - public function __construct() - { - } - - /** @return self */ - public static function createFromHandlers(HandlerContainer $handlers) - { - return static::createFromNames($handlers->getNames()); - } - - /** - * @param string[] $names - * - * @return self - */ - public static function createFromNames(array $names) - { - foreach($names as $name) { - /** @psalm-suppress DocblockTypeContradiction, RedundantConditionGivenDocblockType */ - if(false === is_string($name)) { - throw new \InvalidArgumentException('Shortcode name must be a string!'); - } - } - - $self = new self(); - $self->names = $names; - - return $self; - } - - /** - * @param string $text - * - * @return ParsedShortcode[] - */ - public function parse($text) - { - $names = $this->names - ? implode('|', array_map(function($name) { return preg_quote($name, '/'); }, $this->names)) - : RegexBuilderUtility::buildNameRegex(); - $regex = str_replace('', $names, static::$shortcodeRegex); - preg_match_all($regex, $text, $matches, PREG_OFFSET_CAPTURE); - - $shortcodes = array(); - $count = count($matches[0]); - for($i = 0; $i < $count; $i++) { - $name = $matches[2][$i][0]; - $parameters = static::parseParameters($matches[3][$i][0]); - $content = $matches[5][$i][1] !== -1 ? $matches[5][$i][0] : null; - $match = $matches[0][$i][0]; - $offset = mb_strlen(substr($text, 0, $matches[0][$i][1]), 'utf-8'); - - $shortcode = new Shortcode($name, $parameters, $content, null); - $shortcodes[] = new ParsedShortcode($shortcode, $match, $offset); - } - - return $shortcodes; - } - - /** - * @param string $text - * - * @psalm-return array - */ - private static function parseParameters($text) - { - $text = preg_replace('/[\x{00a0}\x{200b}]+/u', ' ', $text); - - if(!preg_match_all(static::$argumentsRegex, $text, $matches, PREG_SET_ORDER)) { - return ltrim($text) ? array(ltrim($text) => null) : array(); - } - - $parameters = array(); - foreach($matches as $match) { - if(!empty($match[1])) { - $parameters[strtolower($match[1])] = stripcslashes($match[2]); - } elseif(!empty($match[3])) { - $parameters[strtolower($match[3])] = stripcslashes($match[4]); - } elseif(!empty($match[5])) { - $parameters[strtolower($match[5])] = stripcslashes($match[6]); - } elseif(isset($match[7]) && $match[7] !== '') { - $parameters[stripcslashes($match[7])] = null; - } elseif(isset($match[8])) { - $parameters[stripcslashes($match[8])] = null; - } - } - - foreach($parameters as $key => $value) { - // NOTE: the `?: ''` fallback is the only change from the way WordPress parses shortcodes to satisfy Psalm's PossiblyNullArgument - $value = $value ?: ''; - if(false !== strpos($value, '<') && 1 !== preg_match('/^[^<]*+(?:<[^>]*+>[^<]*+)*+$/', $value)) { - $parameters[$key] = ''; - } - } - - return $parameters; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/Processor.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/Processor.php deleted file mode 100644 index e3e5745..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/Processor.php +++ /dev/null @@ -1,272 +0,0 @@ - - */ -final class Processor implements ProcessorInterface -{ - /** @var Handlers */ - private $handlers; - /** @var ParserInterface */ - private $parser; - /** @var EventContainerInterface|null */ - private $eventContainer; - - /** @var int|null */ - private $recursionDepth; // infinite recursion - /** @var int|null */ - private $maxIterations = 1; // one iteration - /** @var bool */ - private $autoProcessContent = true; // automatically process shortcode content - - public function __construct(ParserInterface $parser, Handlers $handlers) - { - $this->parser = $parser; - $this->handlers = $handlers; - } - - /** - * Entry point for shortcode processing. Implements iterative algorithm for - * both limited and unlimited number of iterations. - * - * @param string $text Text to process - * - * @return string - */ - public function process($text) - { - $iterations = $this->maxIterations === null ? 1 : $this->maxIterations; - $context = new ProcessorContext(); - $context->processor = $this; - - while ($iterations--) { - $context->iterationNumber++; - $newText = $this->processIteration($text, $context, null); - if ($newText === $text) { - break; - } - $text = $newText; - $iterations += $this->maxIterations === null ? 1 : 0; - } - - return $text; - } - - /** - * @param string $name - * @param object $event - * - * @return object - */ - private function dispatchEvent($name, $event) - { - if(null === $this->eventContainer) { - return $event; - } - - $handlers = $this->eventContainer->getListeners($name); - foreach($handlers as $handler) { - $handler($event); - } - - return $event; - } - - /** - * @param string $text - * - * @return string - */ - private function processIteration($text, ProcessorContext $context, ProcessedShortcode $parent = null) - { - if (null !== $this->recursionDepth && $context->recursionLevel > $this->recursionDepth) { - return $text; - } - - $context->parent = $parent; - $context->text = $text; - $filterEvent = new FilterShortcodesEvent($this->parser->parse($text), $parent); - $this->dispatchEvent(Events::FILTER_SHORTCODES, $filterEvent); - $shortcodes = $filterEvent->getShortcodes(); - $replaces = array(); - $baseOffset = $parent && $shortcodes - ? (int)mb_strpos($parent->getShortcodeText(), $shortcodes[0]->getText(), 0, 'utf-8') - $shortcodes[0]->getOffset() + $parent->getOffset() - : 0; - foreach ($shortcodes as $shortcode) { - $name = $shortcode->getName(); - $hasNamePosition = array_key_exists($name, $context->namePosition); - - $context->baseOffset = $baseOffset + $shortcode->getOffset(); - $context->position++; - $context->namePosition[$name] = $hasNamePosition ? $context->namePosition[$name] + 1 : 1; - $context->shortcodeText = $shortcode->getText(); - $context->offset = $shortcode->getOffset(); - $context->shortcode = $shortcode; - $context->textContent = (string)$shortcode->getContent(); - - $handler = $this->handlers->get($name); - $replace = $this->processHandler($shortcode, $context, $handler); - - $replaces[] = new ReplacedShortcode($shortcode, $replace); - } - - $applyEvent = new ReplaceShortcodesEvent($text, $replaces, $parent); - $this->dispatchEvent(Events::REPLACE_SHORTCODES, $applyEvent); - - return $applyEvent->hasResult() ? (string)$applyEvent->getResult() : $this->applyReplaces($text, $replaces); - } - - /** - * @param string $text - * @param ReplacedShortcode[] $replaces - * - * @return string - */ - private function applyReplaces($text, array $replaces) - { - foreach(array_reverse($replaces) as $s) { - $offset = $s->getOffset(); - $length = mb_strlen($s->getText(), 'utf-8'); - $textLength = mb_strlen($text, 'utf-8'); - - $text = mb_substr($text, 0, $offset, 'utf-8').$s->getReplacement().mb_substr($text, $offset + $length, $textLength, 'utf-8'); - } - - return $text; - } - - /** - * @psalm-param (callable(ShortcodeInterface):string)|null $handler - * @return string - */ - private function processHandler(ParsedShortcodeInterface $parsed, ProcessorContext $context, $handler) - { - $processed = ProcessedShortcode::createFromContext(clone $context); - $content = $this->processRecursion($processed, $context); - $processed = $processed->withContent($content); - - if($handler) { - return $handler($processed); - } - - $state = $parsed->getText(); - /** @psalm-suppress RedundantCast */ - $length = (int)mb_strlen($processed->getTextContent(), 'utf-8'); - $offset = (int)mb_strrpos($state, $processed->getTextContent(), 0, 'utf-8'); - - return mb_substr($state, 0, $offset, 'utf-8').(string)$processed->getContent().mb_substr($state, $offset + $length, mb_strlen($state, 'utf-8'), 'utf-8'); - } - - /** @return string|null */ - private function processRecursion(ProcessedShortcode $shortcode, ProcessorContext $context) - { - $content = $shortcode->getContent(); - if ($this->autoProcessContent && null !== $content) { - $context->recursionLevel++; - // this is safe from using max iterations value because it's manipulated in process() method - $content = $this->processIteration($content, clone $context, $shortcode); - $context->recursionLevel--; - - return $content; - } - - return $content; - } - - /** - * Container for event handlers used in this processor. - * - * @param EventContainerInterface $eventContainer - * - * @return self - */ - public function withEventContainer(EventContainerInterface $eventContainer) - { - $self = clone $this; - $self->eventContainer = $eventContainer; - - return $self; - } - - /** - * Recursion depth level, null means infinite, any integer greater than or - * equal to zero sets value (number of recursion levels). Zero disables - * recursion. Defaults to null. - * - * @param int|null $depth - * - * @return self - */ - public function withRecursionDepth($depth) - { - /** @psalm-suppress DocblockTypeContradiction */ - if (null !== $depth && !(is_int($depth) && $depth >= 0)) { - $msg = 'Recursion depth must be null (infinite) or integer >= 0!'; - throw new \InvalidArgumentException($msg); - } - - $self = clone $this; - $self->recursionDepth = $depth; - - return $self; - } - - /** - * Maximum number of iterations, null means infinite, any integer greater - * than zero sets value. Zero is invalid because there must be at least one - * iteration. Defaults to 1. Loop breaks if result of two consequent - * iterations shows no change in processed text. - * - * @param int|null $iterations - * - * @return self - */ - public function withMaxIterations($iterations) - { - /** @psalm-suppress DocblockTypeContradiction */ - if (null !== $iterations && !(is_int($iterations) && $iterations > 0)) { - $msg = 'Maximum number of iterations must be null (infinite) or integer > 0!'; - throw new \InvalidArgumentException($msg); - } - - $self = clone $this; - $self->maxIterations = $iterations; - - return $self; - } - - /** - * Whether shortcode content will be automatically processed and handler - * already receives shortcode with processed content. If false, every - * shortcode handler needs to process content on its own. Default true. - * - * @param bool $flag True if enabled (default), false otherwise - * - * @return self - */ - public function withAutoProcessContent($flag) - { - /** @psalm-suppress DocblockTypeContradiction */ - if (!is_bool($flag)) { - $msg = 'Auto processing flag must be a boolean value!'; - throw new \InvalidArgumentException($msg); - } - - $self = clone $this; - $self->autoProcessContent = $flag; - - return $self; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorContext.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorContext.php deleted file mode 100644 index f9e8c6c..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorContext.php +++ /dev/null @@ -1,58 +0,0 @@ - - */ -final class ProcessorContext -{ - /** - * @var ShortcodeInterface - * @psalm-suppress PropertyNotSetInConstructor - */ - public $shortcode; - - /** @var ProcessedShortcode|null */ - public $parent = null; - - /** - * @var ProcessorInterface - * @psalm-suppress PropertyNotSetInConstructor - */ - public $processor; - - /** - * @var string - * @psalm-suppress PropertyNotSetInConstructor - */ - public $textContent; - /** @var int */ - public $position = 0; - /** @psalm-var array */ - public $namePosition = array(); - /** @var string */ - public $text = ''; - /** @var string */ - public $shortcodeText = ''; - /** @var int */ - public $iterationNumber = 0; - /** @var int */ - public $recursionLevel = 0; - /** - * @var int - * @psalm-suppress PropertyNotSetInConstructor - */ - public $offset; - /** - * @var int - * @psalm-suppress PropertyNotSetInConstructor - */ - public $baseOffset; - - public function __construct() - { - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorInterface.php deleted file mode 100644 index 51375bf..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - */ -interface ProcessorInterface -{ - /** - * Process text using registered shortcode handlers - * - * @param string $text Text containing shortcodes - * - * @return string Text with replaced shortcodes - */ - public function process($text); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/JsonSerializer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/JsonSerializer.php deleted file mode 100644 index 6ee6447..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/JsonSerializer.php +++ /dev/null @@ -1,52 +0,0 @@ - - */ -final class JsonSerializer implements SerializerInterface -{ - public function serialize(ShortcodeInterface $shortcode) - { - return json_encode(array( - 'name' => $shortcode->getName(), - 'parameters' => $shortcode->getParameters(), - 'content' => $shortcode->getContent(), - 'bbCode' => $shortcode->getBbCode(), - )); - } - - /** - * @param string $text - * - * @return Shortcode - */ - public function unserialize($text) - { - /** @psalm-var array{name:string,parameters:array,bbCode:string|null,content:string|null}|null $data */ - $data = json_decode($text, true); - - if (!is_array($data)) { - throw new \InvalidArgumentException('Invalid JSON, cannot unserialize Shortcode!'); - } - if (!array_diff_key($data, array('name', 'parameters', 'content'))) { - throw new \InvalidArgumentException('Malformed Shortcode JSON, expected name, parameters, and content!'); - } - - /** @var string $name */ - $name = array_key_exists('name', $data) ? $data['name'] : null; - $parameters = array_key_exists('parameters', $data) ? $data['parameters'] : array(); - $content = array_key_exists('content', $data) ? $data['content'] : null; - $bbCode = array_key_exists('bbCode', $data) ? $data['bbCode'] : null; - - /** @psalm-suppress DocblockTypeContradiction */ - if(!is_array($parameters)) { - throw new \InvalidArgumentException('Parameters must be an array!'); - } - - return new Shortcode($name, $parameters, $content, $bbCode); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/SerializerInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/SerializerInterface.php deleted file mode 100644 index 7f50f9e..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/SerializerInterface.php +++ /dev/null @@ -1,28 +0,0 @@ - - */ -interface SerializerInterface -{ - /** - * Serializes Shortcode class instance into given format - * - * @param ShortcodeInterface $shortcode Instance to serialize - * - * @return string - */ - public function serialize(ShortcodeInterface $shortcode); - - /** - * Loads back Shortcode instance from serialized format - * - * @param string $text - * - * @return ShortcodeInterface - */ - public function unserialize($text); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/TextSerializer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/TextSerializer.php deleted file mode 100644 index 7d93acf..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/TextSerializer.php +++ /dev/null @@ -1,101 +0,0 @@ - - */ -final class TextSerializer implements SerializerInterface -{ - /** @var SyntaxInterface */ - private $syntax; - - public function __construct(SyntaxInterface $syntax = null) - { - $this->syntax = $syntax ?: new Syntax(); - } - - /** @inheritDoc */ - public function serialize(ShortcodeInterface $shortcode) - { - $open = $this->syntax->getOpeningTag(); - $close = $this->syntax->getClosingTag(); - $marker = $this->syntax->getClosingTagMarker(); - - $parameters = $this->serializeParameters($shortcode->getParameters()); - $bbCode = null !== $shortcode->getBbCode() - ? $this->serializeValue($shortcode->getBbCode()) - : ''; - $return = $open.$shortcode->getName().$bbCode.$parameters; - - return null === $shortcode->getContent() - ? $return.' '.$marker.$close - : $return.$close.(string)$shortcode->getContent().$open.$marker.$shortcode->getName().$close; - } - - /** - * @psalm-param array $parameters - * - * @return string - */ - private function serializeParameters(array $parameters) - { - // unfortunately array_reduce() does not support keys - $return = ''; - foreach ($parameters as $key => $value) { - $return .= ' '.$key.$this->serializeValue($value); - } - - return $return; - } - - /** - * @param string|null $value - * - * @return string - */ - private function serializeValue($value) - { - if (null === $value) { - return ''; - } - - $delimiter = $this->syntax->getParameterValueDelimiter(); - $separator = $this->syntax->getParameterValueSeparator(); - - return $separator.(preg_match('/^\w+$/u', $value) - ? $value - : $delimiter.$value.$delimiter); - } - - public function unserialize($text) - { - $parser = new RegexParser(); - - $shortcodes = $parser->parse($text); - - if (empty($shortcodes)) { - $msg = 'Failed to unserialize shortcode from text %s!'; - throw new \InvalidArgumentException(sprintf($msg, $text)); - } - if (count($shortcodes) > 1) { - $msg = 'Provided text %s contains more than one shortcode!'; - throw new \InvalidArgumentException(sprintf($msg, $text)); - } - - /** @var ShortcodeInterface $parsed */ - $parsed = array_shift($shortcodes); - - $name = $parsed->getName(); - $parameters = $parsed->getParameters(); - $content = $parsed->getContent(); - $bbCode = $parsed->getBbCode(); - - return new Shortcode($name, $parameters, $content, $bbCode); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/XmlSerializer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/XmlSerializer.php deleted file mode 100644 index a2af59e..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/XmlSerializer.php +++ /dev/null @@ -1,141 +0,0 @@ - - */ -final class XmlSerializer implements SerializerInterface -{ - /** - * - * BBCODE - * - * VALUE - * VALUE - * - * CONTENT> - * - * - * @param ShortcodeInterface $shortcode - * - * @return string - */ - public function serialize(ShortcodeInterface $shortcode) - { - $doc = new \DOMDocument('1.0', 'UTF-8'); - $doc->preserveWhiteSpace = false; - $doc->formatOutput = true; - - $code = $doc->createElement('shortcode'); - $code->setAttribute('name', $shortcode->getName()); - $xml = $doc->appendChild($code); - $xml->appendChild($this->createCDataNode($doc, 'bbCode', $shortcode->getBbCode())); - - $parameters = $xml->appendChild($doc->createElement('parameters')); - foreach($shortcode->getParameters() as $key => $value) { - $parameter = $doc->createElement('parameter'); - $parameter->setAttribute('name', $key); - if(null !== $value) { - $parameter->appendChild($doc->createCDATASection($value)); - } - - $parameters->appendChild($parameter); - } - - $xml->appendChild($this->createCDataNode($doc, 'content', $shortcode->getContent())); - - return $doc->saveXML(); - } - - /** - * @param \DOMDocument $doc - * @param string $name - * @param string|null $content - * - * @return \DOMElement - */ - private function createCDataNode(\DOMDocument $doc, $name, $content) - { - $node = $doc->createElement($name); - - if(null !== $content) { - $node->appendChild($doc->createCDATASection($content)); - } - - return $node; - } - - /** - * @param string $text - * - * @return Shortcode - */ - public function unserialize($text) - { - $xml = new \DOMDocument(); - $internalErrors = libxml_use_internal_errors(true); - if(!$text || !$xml->loadXML($text)) { - libxml_use_internal_errors($internalErrors); - throw new \InvalidArgumentException('Failed to parse provided XML!'); - } - libxml_use_internal_errors($internalErrors); - - $xpath = new \DOMXPath($xml); - $shortcode = $xpath->query('/shortcode'); - if($shortcode->length !== 1) { - throw new \InvalidArgumentException('Invalid shortcode XML!'); - } - $name = $this->getAttribute($shortcode->item(0), 'name'); - - $bbCode = $this->getValue($xpath->query('/shortcode/bbCode')); - $content = $this->getValue($xpath->query('/shortcode/content')); - - $parameters = array(); - $elements = $xpath->query('/shortcode/parameters/parameter'); - for($i = 0; $i < $elements->length; $i++) { - $node = $elements->item($i); - - $parameters[$this->getAttribute($node, 'name')] = $node->hasChildNodes() ? $node->nodeValue : null; - } - - return new Shortcode($name, $parameters, $content, $bbCode); - } - - /** - * @param \DOMNodeList $node - * - * @return string|null - */ - private function getValue(\DOMNodeList $node) - { - return $node->length === 1 && $node->item(0)->hasChildNodes() - ? $node->item(0)->nodeValue - : null; - } - - /** - * @param \DOMNode $node - * @param string $name - * @psalm-suppress UnusedParam - * - * @return string - */ - private function getAttribute(\DOMNode $node, $name) - { - /** - * @var \DOMNode $attribute - * @psalm-suppress NullReference - */ - $attribute = $node->attributes->getNamedItem($name); - - /** @psalm-suppress DocblockTypeContradiction */ - if(!$attribute || !$attribute->nodeValue) { - throw new \InvalidArgumentException('Invalid shortcode XML!'); - } - - return $attribute->nodeValue; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/YamlSerializer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/YamlSerializer.php deleted file mode 100644 index b890af1..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/YamlSerializer.php +++ /dev/null @@ -1,53 +0,0 @@ - - */ -final class YamlSerializer implements SerializerInterface -{ - public function serialize(ShortcodeInterface $shortcode) - { - return Yaml::dump(array( - 'name' => $shortcode->getName(), - 'parameters' => $shortcode->getParameters(), - 'content' => $shortcode->getContent(), - 'bbCode' => $shortcode->getBbCode(), - )); - } - - /** - * @param string $text - * - * @return Shortcode - */ - public function unserialize($text) - { - /** @psalm-var array{name:string,parameters:array,bbCode:string|null,content:string|null}|null $data */ - $data = Yaml::parse($text); - - if(!is_array($data)) { - throw new \InvalidArgumentException('Invalid YAML, cannot unserialize Shortcode!'); - } - if (!array_intersect(array_keys($data), array('name', 'parameters', 'content'))) { - throw new \InvalidArgumentException('Malformed shortcode YAML, expected name, parameters, and content!'); - } - - /** @var string $name */ - $name = array_key_exists('name', $data) ? $data['name'] : null; - $parameters = array_key_exists('parameters', $data) ? $data['parameters'] : array(); - $content = array_key_exists('content', $data) ? $data['content'] : null; - $bbCode = array_key_exists('bbCode', $data) ? $data['bbCode'] : null; - - /** @psalm-suppress DocblockTypeContradiction */ - if(!is_array($parameters)) { - throw new \InvalidArgumentException('Parameters must be an array!'); - } - - return new Shortcode($name, $parameters, $content, $bbCode); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/AbstractShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/AbstractShortcode.php deleted file mode 100644 index a09ed8f..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/AbstractShortcode.php +++ /dev/null @@ -1,86 +0,0 @@ - - */ -abstract class AbstractShortcode -{ - /** @var string */ - protected $name; - /** @psalm-var array */ - protected $parameters = array(); - /** @var string|null */ - protected $content; - /** @var string|null */ - protected $bbCode; - - /** @return bool */ - public function hasContent() - { - return $this->content !== null; - } - - /** @return string */ - public function getName() - { - return $this->name; - } - - /** @psalm-return array */ - public function getParameters() - { - return $this->parameters; - } - - /** - * @param string $name - * - * @return bool - */ - public function hasParameter($name) - { - return array_key_exists($name, $this->parameters); - } - - /** @return bool */ - public function hasParameters() - { - return (bool)$this->parameters; - } - - /** - * @param string $name - * @param string|null $default - * - * @psalm-return string|null - */ - public function getParameter($name, $default = null) - { - return $this->hasParameter($name) ? $this->parameters[$name] : $default; - } - - /** - * @param int $index - * - * @return string|null - */ - public function getParameterAt($index) - { - $keys = array_keys($this->parameters); - - return array_key_exists($index, $keys) ? $keys[$index] : null; - } - - /** @return string|null */ - public function getContent() - { - return $this->content; - } - - /** @return string|null */ - public function getBbCode() - { - return $this->bbCode; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcode.php deleted file mode 100644 index ba1ebe6..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcode.php +++ /dev/null @@ -1,47 +0,0 @@ - - */ -final class ParsedShortcode extends AbstractShortcode implements ParsedShortcodeInterface -{ - /** @var string */ - private $text; - /** @var int */ - private $offset; - - /** - * @param string $text - * @param int $offset - */ - public function __construct(ShortcodeInterface $shortcode, $text, $offset) - { - $this->name = $shortcode->getName(); - $this->parameters = $shortcode->getParameters(); - $this->content = $shortcode->getContent(); - $this->bbCode = $shortcode->getBbCode(); - $this->text = $text; - $this->offset = $offset; - } - - public function withContent($content) - { - $self = clone $this; - $self->content = $content; - - return $self; - } - - /** @return string */ - public function getText() - { - return $this->text; - } - - /** @return int */ - public function getOffset() - { - return $this->offset; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcodeInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcodeInterface.php deleted file mode 100644 index c80d5e1..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcodeInterface.php +++ /dev/null @@ -1,22 +0,0 @@ - - */ -interface ParsedShortcodeInterface extends ShortcodeInterface -{ - /** - * Returns exact shortcode text - * - * @return string - */ - public function getText(); - - /** - * Returns string position in the parent text - * - * @return int - */ - public function getOffset(); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ProcessedShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ProcessedShortcode.php deleted file mode 100644 index e6c212d..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ProcessedShortcode.php +++ /dev/null @@ -1,163 +0,0 @@ - - */ -final class ProcessedShortcode extends AbstractShortcode implements ParsedShortcodeInterface -{ - /** @var ProcessedShortcode|null */ - private $parent; - /** @var int */ - private $position; - /** @var int */ - private $namePosition; - /** @var string */ - private $text; - /** @var string */ - private $textContent; - /** @var int */ - private $offset; - /** @var int */ - private $baseOffset; - /** @var string */ - private $shortcodeText; - /** @var int */ - private $iterationNumber; - /** @var int */ - private $recursionLevel; - /** @var ProcessorInterface */ - private $processor; - - private function __construct(ProcessorContext $context) - { - // basic properties - $this->name = $context->shortcode->getName(); - $this->parameters = $context->shortcode->getParameters(); - $this->content = $context->shortcode->getContent(); - $this->bbCode = $context->shortcode->getBbCode(); - $this->textContent = $context->textContent; - - // runtime context - $this->parent = $context->parent; - $this->position = $context->position; - $this->namePosition = $context->namePosition[$this->name]; - $this->text = $context->text; - $this->shortcodeText = $context->shortcodeText; - - // processor state - $this->iterationNumber = $context->iterationNumber; - $this->recursionLevel = $context->recursionLevel; - $this->processor = $context->processor; - - // text context - $this->offset = $context->offset; - $this->baseOffset = $context->baseOffset; - } - - /** @return self */ - public static function createFromContext(ProcessorContext $context) - { - return new self($context); - } - - /** - * @param string|null $content - * - * @return self - */ - public function withContent($content) - { - $self = clone $this; - $self->content = $content; - - return $self; - } - - /** - * @param string $name - * - * @return bool - */ - public function hasAncestor($name) - { - $self = $this; - - while($self = $self->getParent()) { - if($self->getName() === $name) { - return true; - } - } - - return false; - } - - /** @return ProcessedShortcode|null */ - public function getParent() - { - return $this->parent; - } - - /** @return string */ - public function getTextContent() - { - return $this->textContent; - } - - /** @return int */ - public function getPosition() - { - return $this->position; - } - - /** @return int */ - public function getNamePosition() - { - return $this->namePosition; - } - - /** @return string */ - public function getText() - { - return $this->text; - } - - /** @return string */ - public function getShortcodeText() - { - return $this->shortcodeText; - } - - /** @return int */ - public function getOffset() - { - return $this->offset; - } - - /** @return int */ - public function getBaseOffset() - { - return $this->baseOffset; - } - - /** @return int */ - public function getIterationNumber() - { - return $this->iterationNumber; - } - - /** @return int */ - public function getRecursionLevel() - { - return $this->recursionLevel; - } - - /** @return ProcessorInterface */ - public function getProcessor() - { - return $this->processor; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ReplacedShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ReplacedShortcode.php deleted file mode 100644 index 6fa89cb..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ReplacedShortcode.php +++ /dev/null @@ -1,46 +0,0 @@ - - */ -final class ReplacedShortcode extends AbstractShortcode -{ - /** @var string */ - private $replacement; - /** @var string */ - private $text; - /** @var int */ - private $offset; - - /** @param string $replacement */ - public function __construct(ParsedShortcodeInterface $shortcode, $replacement) - { - $this->name = $shortcode->getName(); - $this->parameters = $shortcode->getParameters(); - $this->content = $shortcode->getContent(); - $this->bbCode = $shortcode->getBbCode(); - $this->text = $shortcode->getText(); - $this->offset = $shortcode->getOffset(); - - $this->replacement = $replacement; - } - - /** @return string */ - public function getReplacement() - { - return $this->replacement; - } - - /** @return string */ - public function getText() - { - return $this->text; - } - - /** @return int */ - public function getOffset() - { - return $this->offset; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/Shortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/Shortcode.php deleted file mode 100644 index abda34c..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/Shortcode.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ -final class Shortcode extends AbstractShortcode implements ShortcodeInterface -{ - /** - * @param string $name - * @param array $parameters - * @psalm-param array $parameters - * @param string|null $content - * @param string|null $bbCode - */ - public function __construct($name, array $parameters, $content, $bbCode = null) - { - /** @psalm-suppress RedundantConditionGivenDocblockType, DocblockTypeContradiction */ - if(false === is_string($name) || '' === $name) { - throw new \InvalidArgumentException('Shortcode name must be a non-empty string!'); - } - - /** @psalm-suppress MissingClosureParamType, MissingClosureReturnType */ - $isStringOrNull = function($value) { return is_string($value) || null === $value; }; - if(count(array_filter($parameters, $isStringOrNull)) !== count($parameters)) { - throw new \InvalidArgumentException('Parameter values must be either string or empty (null)!'); - } - - $this->name = $name; - $this->parameters = $parameters; - $this->content = $content; - $this->bbCode = $bbCode; - } - - public function withContent($content) - { - return new self($this->name, $this->parameters, $content, $this->bbCode); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ShortcodeInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ShortcodeInterface.php deleted file mode 100644 index 377942a..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ShortcodeInterface.php +++ /dev/null @@ -1,60 +0,0 @@ - - */ -interface ShortcodeInterface -{ - /** - * Returns new instance of given shortcode with changed content - * - * @param string $content - * - * @return self - */ - public function withContent($content); - - /** - * Returns shortcode name - * - * @return string - */ - public function getName(); - - /** - * Returns associative array(name => value) of shortcode parameters - * - * @return array - * @psalm-return array - */ - public function getParameters(); - - /** - * Returns parameter value using its name, will return null for parameter - * without value - * - * @param string $name Parameter name - * @param string|null $default Value returned if there is no parameter with given name - * - * @return string|null - */ - public function getParameter($name, $default = null); - - /** - * Returns shortcode content (data between opening and closing tag). Null - * means that shortcode had no content (was self closing), do not confuse - * that with empty string (hint: use strict comparison operator ===). - * - * @return string|null - */ - public function getContent(); - - /** - * Returns the so-called "BBCode" fragment when shortcode name is treated - * like a parameter, eg.: [name="value" /] - * - * @return string|null - */ - public function getBbCode(); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/ShortcodeFacade.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/ShortcodeFacade.php deleted file mode 100644 index 32cf1ce..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/ShortcodeFacade.php +++ /dev/null @@ -1,215 +0,0 @@ - - */ -class ShortcodeFacade -{ - /** @var ProcessorInterface */ - private $processor; - /** @var ParserInterface */ - private $parser; - /** @var SyntaxInterface */ - private $syntax; - - /** @var HandlerContainer */ - private $handlers; - /** @var EventContainer */ - private $events; - - /** @var SerializerInterface */ - private $textSerializer; - /** @var SerializerInterface */ - private $jsonSerializer; - /** @var SerializerInterface */ - private $xmlSerializer; - /** @var SerializerInterface */ - private $yamlSerializer; - - public function __construct() - { - $this->syntax = new CommonSyntax(); - $this->handlers = new HandlerContainer(); - $this->events = new EventContainer(); - - $this->parser = new RegularParser($this->syntax); - $this->rebuildProcessor(); - - $this->textSerializer = new TextSerializer(); - $this->jsonSerializer = new JsonSerializer(); - $this->yamlSerializer = new YamlSerializer(); - $this->xmlSerializer = new XmlSerializer(); - } - - /** - * @deprecated use constructor and customize using exposed methods - * @return self - */ - public static function create(HandlerContainerInterface $handlers, SyntaxInterface $syntax) - { - $self = new self(); - - /** @psalm-suppress PropertyTypeCoercion */ - $self->handlers = $handlers; - $self->syntax = $syntax; - $self->rebuildProcessor(); - - return $self; - } - - /** @return void */ - private function rebuildProcessor() - { - $this->processor = new Processor($this->parser, $this->handlers); - $this->processor = $this->processor->withEventContainer($this->events); - } - - /** - * @param string $text - * - * @return string - */ - public function process($text) - { - return $this->processor->process($text); - } - - /** - * @param string $text - * - * @return ParsedShortcodeInterface[] - */ - public function parse($text) - { - return $this->parser->parse($text); - } - - /** @return $this */ - public function setParser(ParserInterface $parser) - { - $this->parser = $parser; - $this->rebuildProcessor(); - - return $this; - } - - /** - * @param string $name - * @psalm-param callable(ShortcodeInterface):string $handler - * - * @return $this - */ - public function addHandler($name, $handler) - { - $this->handlers->add($name, $handler); - - return $this; - } - - /** - * @param string $alias - * @param string $name - * - * @return $this - */ - public function addHandlerAlias($alias, $name) - { - $this->handlers->addAlias($alias, $name); - - return $this; - } - - /** - * @param string $name - * @param callable $handler - * - * @return $this - */ - public function addEventHandler($name, $handler) - { - $this->events->addListener($name, $handler); - - return $this; - } - - /* --- SERIALIZATION --------------------------------------------------- */ - - /** - * @param string $format - * - * @return string - */ - public function serialize(ShortcodeInterface $shortcode, $format) - { - switch($format) { - case 'text': return $this->textSerializer->serialize($shortcode); - case 'json': return $this->jsonSerializer->serialize($shortcode); - case 'yaml': return $this->yamlSerializer->serialize($shortcode); - case 'xml': return $this->xmlSerializer->serialize($shortcode); - default: throw new \InvalidArgumentException(sprintf('Invalid serialization format %s!', $format)); - } - } - - /** - * @param string $text - * @param string $format - * - * @return ShortcodeInterface - */ - public function unserialize($text, $format) - { - switch($format) { - case 'text': return $this->textSerializer->unserialize($text); - case 'json': return $this->jsonSerializer->unserialize($text); - case 'yaml': return $this->yamlSerializer->unserialize($text); - case 'xml': return $this->xmlSerializer->unserialize($text); - default: throw new \InvalidArgumentException(sprintf('Invalid unserialization format %s!', $format)); - } - } - - /** - * @deprecated use serialize($shortcode, $format) - * @return string - */ - public function serializeToText(ShortcodeInterface $s) { return $this->serialize($s, 'text'); } - - /** - * @deprecated use serialize($shortcode, $format) - * @return string - */ - public function serializeToJson(ShortcodeInterface $s) { return $this->serialize($s, 'json'); } - - /** - * @deprecated use serialize($shortcode, $format) - * @param string $text - * - * @return ShortcodeInterface - */ - public function unserializeFromText($text) { return $this->unserialize($text, 'text'); } - - /** - * @deprecated use serialize($shortcode, $format) - * @param string $text - * - * @return ShortcodeInterface - */ - public function unserializeFromJson($text) { return $this->unserialize($text, 'json'); } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/CommonSyntax.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/CommonSyntax.php deleted file mode 100644 index f3bb64b..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/CommonSyntax.php +++ /dev/null @@ -1,38 +0,0 @@ - - */ -final class CommonSyntax implements SyntaxInterface -{ - /** @return string */ - public function getOpeningTag() - { - return '['; - } - - /** @return string */ - public function getClosingTag() - { - return ']'; - } - - /** @return string */ - public function getClosingTagMarker() - { - return '/'; - } - - /** @return string */ - public function getParameterValueSeparator() - { - return '='; - } - - /** @return string */ - public function getParameterValueDelimiter() - { - return '"'; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/Syntax.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/Syntax.php deleted file mode 100644 index 0b8b6cd..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/Syntax.php +++ /dev/null @@ -1,70 +0,0 @@ - - */ -final class Syntax implements SyntaxInterface -{ - /** @var string|null */ - private $openingTag; - /** @var string|null */ - private $closingTag; - /** @var string|null */ - private $closingTagMarker; - /** @var string|null */ - private $parameterValueSeparator; - /** @var string|null */ - private $parameterValueDelimiter; - - /** - * @param string|null $openingTag - * @param string|null $closingTag - * @param string|null $closingTagMarker - * @param string|null $parameterValueSeparator - * @param string|null $parameterValueDelimiter - */ - public function __construct( - $openingTag = null, - $closingTag = null, - $closingTagMarker = null, - $parameterValueSeparator = null, - $parameterValueDelimiter = null - ) { - $this->openingTag = $openingTag; - $this->closingTag = $closingTag; - $this->closingTagMarker = $closingTagMarker; - $this->parameterValueSeparator = $parameterValueSeparator; - $this->parameterValueDelimiter = $parameterValueDelimiter; - } - - /** @return string */ - public function getOpeningTag() - { - return $this->openingTag ?: '['; - } - - /** @return string */ - public function getClosingTag() - { - return $this->closingTag ?: ']'; - } - - /** @return string */ - public function getClosingTagMarker() - { - return $this->closingTagMarker ?: '/'; - } - - /** @return string */ - public function getParameterValueSeparator() - { - return $this->parameterValueSeparator ?: '='; - } - - /** @return string */ - public function getParameterValueDelimiter() - { - return $this->parameterValueDelimiter ?: '"'; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxBuilder.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxBuilder.php deleted file mode 100644 index 15437fb..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxBuilder.php +++ /dev/null @@ -1,95 +0,0 @@ - - */ -final class SyntaxBuilder -{ - /** @var string|null */ - private $openingTag; - /** @var string|null */ - private $closingTag; - /** @var string|null */ - private $closingTagMarker; - /** @var string|null */ - private $parameterValueSeparator; - /** @var string|null */ - private $parameterValueDelimiter; - - public function __construct() - { - } - - /** @return Syntax */ - public function getSyntax() - { - return new Syntax( - $this->openingTag, - $this->closingTag, - $this->closingTagMarker, - $this->parameterValueSeparator, - $this->parameterValueDelimiter - ); - } - - /** - * @param string $tag - * - * @return $this - */ - public function setOpeningTag($tag) - { - $this->openingTag = $tag; - - return $this; - } - - /** - * @param string $tag - * - * @return $this - */ - public function setClosingTag($tag) - { - $this->closingTag = $tag; - - return $this; - } - - /** - * @param string $marker - * - * @return $this - */ - public function setClosingTagMarker($marker) - { - $this->closingTagMarker = $marker; - - return $this; - } - - /** - * @param string $separator - * - * @return $this - */ - public function setParameterValueSeparator($separator) - { - $this->parameterValueSeparator = $separator; - - return $this; - } - - /** - * @param string $delimiter - * - * @return $this - */ - public function setParameterValueDelimiter($delimiter) - { - $this->parameterValueDelimiter = $delimiter; - - return $this; - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxInterface.php deleted file mode 100644 index 3f352c6..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - */ -interface SyntaxInterface -{ - /** @return string */ - public function getOpeningTag(); - - /** @return string */ - public function getClosingTag(); - - /** @return string */ - public function getClosingTagMarker(); - - /** @return string */ - public function getParameterValueSeparator(); - - /** @return string */ - public function getParameterValueDelimiter(); -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Utility/RegexBuilderUtility.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Utility/RegexBuilderUtility.php deleted file mode 100644 index 847ff38..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Utility/RegexBuilderUtility.php +++ /dev/null @@ -1,95 +0,0 @@ - - */ -final class RegexBuilderUtility -{ - /** @return string */ - public static function buildNameRegex() - { - return '[a-zA-Z0-9-_\\*]+'; - } - - /** @return string */ - public static function buildShortcodeRegex(SyntaxInterface $syntax) - { - return '~('.self::createShortcodeRegexContent($syntax).')~us'; - } - - /** @return string */ - public static function buildSingleShortcodeRegex(SyntaxInterface $syntax) - { - return '~(\A'.self::createShortcodeRegexContent($syntax).'\Z)~us'; - } - - /** @return string */ - public static function buildParametersRegex(SyntaxInterface $syntax) - { - $equals = self::quote($syntax->getParameterValueSeparator()); - $string = self::quote($syntax->getParameterValueDelimiter()); - - $space = '\s*'; - // lookahead test for either space or end of string - $empty = '(?=\s|$)'; - // equals sign and alphanumeric value - $simple = $space.$equals.$space.'[^\s]+'; - // equals sign and value without unescaped string delimiters enclosed in them - $complex = $space.$equals.$space.$string.'([^'.$string.'\\\\]*(?:\\\\.[^'.$string.'\\\\]*)*?)'.$string; - - return '~(?:\s*(\w+(?:'.$complex.'|'.$simple.'|'.$empty.')))~us'; - } - - /** @return string */ - private static function createShortcodeRegexContent(SyntaxInterface $syntax) - { - $open = self::quote($syntax->getOpeningTag()); - $slash = self::quote($syntax->getClosingTagMarker()); - $close = self::quote($syntax->getClosingTag()); - $equals = self::quote($syntax->getParameterValueSeparator()); - $string = self::quote($syntax->getParameterValueDelimiter()); - - $space = '\s*'; - - // parameter and value separator can have any number of spaces around itself - $equalsSpaced = $space.$equals.$space; - // lookahead test for space, closing tag, self-closing tag or end of string - $empty = '(?=\s|'.$close.'|'.$slash.$space.$close.'|$)'; - // equals sign and alphanumeric value - $simple = '((?:(?!=\s*|'.$close.'|'.$slash.$close.')[^\s])+)'; - // equals sign and value without unescaped string delimiters enclosed in them - $complex = $string.'(?:[^'.$string.'\\\\]*(?:\\\\.[^'.$string.'\\\\]*)*)'.$string; - // complete parameters matching regex - $parameters = '(?(?:\s*(?:\w+(?:'.$equalsSpaced.$complex.'|'.$equalsSpaced.$simple.'|'.$empty.')))*)'; - // BBCode is the part after name that makes it behave like a non-empty parameter value - $bbCode = '(?:'.$equals.$space.'(?'.$complex.'|'.$simple.'))?'; - - // alphanumeric characters and dash - $name = '(?'.static::buildNameRegex().')'; - // non-greedy match for any characters - $content = '(?.*?)'; - - // equal beginning for each variant: open tag, name and parameters - $common = $open.$space.$name.$space.$bbCode.$space.$parameters.$space; - // closing tag variants: just closing tag, self closing tag or content - // and closing block with backreference name validation - $justClosed = $close; - $selfClosed = '(?'.$slash.')'.$space.$close; - $withContent = $close.$content.$open.$space.'(?'.$slash.')'.$space.'(\k)'.$space.$close; - - return '(?:'.$common.'(?:'.$withContent.'|'.$justClosed.'|'.$selfClosed.'))'; - } - - /** - * @param string $text - * - * @return string - */ - private static function quote($text) - { - return preg_replace('/(.)/us', '\\\\$0', $text); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/AbstractTestCase.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/AbstractTestCase.php deleted file mode 100644 index 9ab9a3c..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/AbstractTestCase.php +++ /dev/null @@ -1,17 +0,0 @@ - - */ -abstract class AbstractTestCase extends TestCase -{ - public function willThrowException($exception) - { - version_compare(phpversion(), '7.0.0') > 0 - ? $this->expectException($exception) - : $this->setExpectedException($exception); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/EventsTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/EventsTest.php deleted file mode 100644 index a6e0cbc..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/EventsTest.php +++ /dev/null @@ -1,97 +0,0 @@ - - */ -final class EventsTest extends AbstractTestCase -{ - public function testRaw() - { - $times = 0; - $handlers = new HandlerContainer(); - $handlers->add('raw', function(ShortcodeInterface $s) { return $s->getContent(); }); - $handlers->add('n', function(ShortcodeInterface $s) use(&$times) { ++$times; return $s->getName(); }); - $handlers->add('c', function(ShortcodeInterface $s) use(&$times) { ++$times; return $s->getContent(); }); - - $events = new EventContainer(); - $events->addListener(Events::FILTER_SHORTCODES, new FilterRawEventHandler(array('raw'))); - - $processor = new Processor(new RegularParser(), $handlers); - $processor = $processor->withEventContainer($events); - - $this->assertSame(' [n] [c]cnt[/c] [/n] ', $processor->process('[raw] [n] [c]cnt[/c] [/n] [/raw]')); - $this->assertSame('x un [n] [c]cnt[/c] [/n] y', $processor->process('x [c]u[n][/c][raw] [n] [c]cnt[/c] [/n] [/raw] y')); - $this->assertEquals(2, $times); - } - - public function testStripContentOutsideShortcodes() - { - $handlers = new HandlerContainer(); - $handlers->add('name', function(ShortcodeInterface $s) { return $s->getName(); }); - $handlers->add('content', function(ShortcodeInterface $s) { return $s->getContent(); }); - $handlers->add('root', function(ProcessedShortcode $s) { return 'root['.$s->getContent().']'; }); - - $events = new EventContainer(); - $events->addListener(Events::REPLACE_SHORTCODES, new ReplaceJoinEventHandler(array('root'))); - - $processor = new Processor(new RegularParser(), $handlers); - $processor = $processor->withEventContainer($events); - - $this->assertSame('a root[name name name] b', $processor->process('a [root]x [name] c[content] [name /] [/content] y[name/][/root] b')); - } - - public function testDefaultApplier() - { - $handlers = new HandlerContainer(); - $handlers->add('name', function(ShortcodeInterface $s) { return $s->getName(); }); - $handlers->add('content', function(ShortcodeInterface $s) { return $s->getContent(); }); - $handlers->add('root', function(ProcessedShortcode $s) { return 'root['.$s->getContent().']'; }); - - $events = new EventContainer(); - $events->addListener(Events::REPLACE_SHORTCODES, function(ReplaceShortcodesEvent $event) { - $event->setResult(array_reduce(array_reverse($event->getReplacements()), function($state, ReplacedShortcode $r) { - $offset = $r->getOffset(); - $length = mb_strlen($r->getText()); - - return mb_substr($state, 0, $offset).$r->getReplacement().mb_substr($state, $offset + $length); - }, $event->getText())); - }); - - $processor = new Processor(new RegularParser(), $handlers); - $processor = $processor->withEventContainer($events); - - $this->assertSame('a root[x name c name y] b', $processor->process('a [root]x [name] c[content] [name /] [/content] y[/root] b')); - } - - public function testExceptionOnHandlerForUnknownEvent() - { - $events = new EventContainer(); - $this->willThrowException('InvalidArgumentException'); - $events->addListener('invalid', function() {}); - } - - public function testInvalidFilterRawShortcodesNames() - { - $this->willThrowException('InvalidArgumentException'); - new FilterRawEventHandler(array(new \stdClass())); - } - - public function testInvalidReplaceJoinNames() - { - $this->willThrowException('InvalidArgumentException'); - new ReplaceJoinEventHandler(array(new \stdClass())); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/FacadeTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/FacadeTest.php deleted file mode 100644 index de2ccc9..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/FacadeTest.php +++ /dev/null @@ -1,98 +0,0 @@ - - */ -final class FacadeTest extends AbstractTestCase -{ - public function testFacade() - { - $handlers = new HandlerContainer(); - $handlers - ->add('name', function (ShortcodeInterface $s) { return $s->getName(); }) - ->addAlias('n', 'name'); - - $facade = ShortcodeFacade::create($handlers, new CommonSyntax()); - $facade->addHandler('content', function (ShortcodeInterface $s) { return $s->getContent(); }); - $facade->addHandlerAlias('c', 'content'); - $facade->setParser(new RegexParser()); - - $this->assertSame('n', $facade->process('[n]')); - $this->assertSame('c', $facade->process('[c]c[/c]')); - - $shortcodes = $facade->parse('[b]'); - $this->assertInstanceOf('Thunder\\Shortcode\\Shortcode\\ParsedShortcodeInterface', $shortcodes[0]); - } - - public function testFacadeEvents() - { - $facade = new ShortcodeFacade(); - $facade->addHandler('n', function (ShortcodeInterface $s) { return $s->getName(); }); - $facade->addEventHandler(Events::FILTER_SHORTCODES, new FilterRawEventHandler(array('raw'))); - - $this->assertSame('[raw] [n] [/raw]', $facade->process('[raw] [n] [/raw]')); - } - - public function testSerialization() - { - $facade = new ShortcodeFacade(); - - $s = new Shortcode('c', array(), null); - $this->assertSame('[c /]', $facade->serializeToText($s)); - $this->assertSame('c', $facade->unserializeFromText('[c]')->getName()); - $this->assertSame('[c /]', $facade->serialize($s, 'text')); - $this->assertSame('c', $facade->unserialize('[c]', 'text')->getName()); - - $json = '{"name":"c","parameters":[],"content":null,"bbCode":null}'; - $this->assertSame($json, $facade->serializeToJson($s)); - $this->assertSame('c', $facade->unserializeFromJson($json)->getName()); - $this->assertSame($json, $facade->serialize($s, 'json')); - $this->assertSame('c', $facade->unserialize($json, 'json')->getName()); - - $yaml = <<assertSame($yaml, $facade->serialize($s, 'yaml')); - $this->assertSame('c', $facade->unserialize($yaml, 'yaml')->getName()); - - $xml = << - - - - - - -EOF; - $this->assertSame($xml, $facade->serialize($s, 'xml')); - $this->assertSame('c', $facade->unserialize($xml, 'xml')->getName()); - } - - public function testInvalidSerializationFormatException() - { - $this->willThrowException('InvalidArgumentException'); - $facade = new ShortcodeFacade(); - $facade->serialize(new Shortcode('name', array(), null), 'invalid'); - } - - public function testInvalidUnserializationFormatException() - { - $this->willThrowException('InvalidArgumentException'); - $facade = new ShortcodeFacade(); - $facade->unserialize('[c]', 'invalid'); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/Fake/ReverseShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/Fake/ReverseShortcode.php deleted file mode 100644 index e28745d..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/Fake/ReverseShortcode.php +++ /dev/null @@ -1,12 +0,0 @@ -getContent()); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/HandlerContainerTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/HandlerContainerTest.php deleted file mode 100644 index 07066c1..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/HandlerContainerTest.php +++ /dev/null @@ -1,100 +0,0 @@ - - */ -final class HandlerContainerTest extends AbstractTestCase -{ - public function testExceptionOnDuplicateHandler() - { - $handlers = new HandlerContainer(); - $handlers->add('name', function () {}); - $this->willThrowException('RuntimeException'); - $handlers->add('name', function () {}); - } - - public function testRemove() - { - $handlers = new HandlerContainer(); - static::assertFalse($handlers->has('code')); - $handlers->add('code', function(ShortcodeInterface $s) {}); - static::assertTrue($handlers->has('code')); - $handlers->remove('code'); - static::assertFalse($handlers->has('code')); - } - - public function testRemoveException() - { - $handlers = new HandlerContainer(); - $this->willThrowException('RuntimeException'); - $handlers->remove('code'); - } - - public function testNames() - { - $handlers = new HandlerContainer(); - static::assertEmpty($handlers->getNames()); - $handlers->add('code', function(ShortcodeInterface $s) {}); - static::assertSame(array('code'), $handlers->getNames()); - $handlers->addAlias('c', 'code'); - static::assertSame(array('code', 'c'), $handlers->getNames()); - } - - public function testHandlerContainer() - { - $x = function () {}; - - $handler = new HandlerContainer(); - $handler->add('x', $x); - $handler->addAlias('y', 'x'); - - static::assertSame($x, $handler->get('x')); - } - - public function testInvalidHandler() - { - $handlers = new HandlerContainer(); - $this->willThrowException('RuntimeException'); - $handlers->add('invalid', new \stdClass()); - } - - public function testDefaultHandler() - { - $handlers = new HandlerContainer(); - static::assertNull($handlers->get('missing')); - - $handlers->setDefault(function () {}); - static::assertNotNull($handlers->get('missing')); - } - - public function testExceptionIfAliasingNonExistentHandler() - { - $handlers = new HandlerContainer(); - $this->willThrowException('RuntimeException'); - $handlers->addAlias('m', 'missing'); - } - - public function testImmutableHandlerContainer() - { - $handlers = new HandlerContainer(); - $handlers->add('code', function () {}); - $handlers->addAlias('c', 'code'); - $imHandlers = new ImmutableHandlerContainer($handlers); - $handlers->add('not', function() {}); - - static::assertNull($imHandlers->get('missing')); - static::assertNotNull($imHandlers->get('code')); - static::assertNotNull($imHandlers->get('c')); - static::assertNull($imHandlers->get('not')); - - $defaultHandlers = new HandlerContainer(); - $defaultHandlers->setDefault(function () {}); - $imDefaultHandlers = new ImmutableHandlerContainer($defaultHandlers); - static::assertNotNull($imDefaultHandlers->get('missing')); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ParserTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ParserTest.php deleted file mode 100644 index a4b5df9..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ParserTest.php +++ /dev/null @@ -1,321 +0,0 @@ - - */ -final class ParserTest extends AbstractTestCase -{ - /** - * @param ParserInterface $parser - * @param string $code - * @param ParsedShortcode[] $expected - * - * @dataProvider provideShortcodes - */ - public function testParser(ParserInterface $parser, $code, array $expected) - { - $this->assertShortcodes($parser->parse($code), $expected); - } - - private function assertShortcodes(array $actual, array $expected) - { - $count = count($actual); - static::assertCount($count, $expected, 'counts'); - for ($i = 0; $i < $count; $i++) { - static::assertSame($actual[$i]->getName(), $expected[$i]->getName(), 'name'); - static::assertSame($actual[$i]->getParameters(), $expected[$i]->getParameters(), 'parameters'); - static::assertSame($actual[$i]->getContent(), $expected[$i]->getContent(), 'content'); - static::assertSame($actual[$i]->getText(), $expected[$i]->getText(), 'text'); - static::assertSame($actual[$i]->getOffset(), $expected[$i]->getOffset(), 'offset'); - static::assertSame($actual[$i]->getBbCode(), $expected[$i]->getBbCode(), 'bbCode'); - } - } - - public function provideShortcodes() - { - $s = new CommonSyntax(); - - $tests = array( - // invalid - array($s, '', array()), - array($s, '[]', array()), - array($s, '![](image.jpg)', array()), - array($s, 'x html([a. title][, alt][, classes]) x', array()), - array($s, '[/y]', array()), - array($s, '[sc', array()), - array($s, '[sc / [/sc]', array()), - array($s, '[sc arg="val', array()), - - // single shortcodes - array($s, '[sc]', array( - new ParsedShortcode(new Shortcode('sc', array(), null), '[sc]', 0), - )), - array($s, '[sc arg=val]', array( - new ParsedShortcode(new Shortcode('sc', array('arg' => 'val'), null), '[sc arg=val]', 0), - )), - array($s, '[sc novalue arg="complex value"]', array( - new ParsedShortcode(new Shortcode('sc', array('novalue' => null, 'arg' => 'complex value'), null), '[sc novalue arg="complex value"]', 0), - )), - array($s, '[sc x="ąćęłńóśżź ĄĆĘŁŃÓŚŻŹ"]', array( - new ParsedShortcode(new Shortcode('sc', array('x' => 'ąćęłńóśżź ĄĆĘŁŃÓŚŻŹ'), null), '[sc x="ąćęłńóśżź ĄĆĘŁŃÓŚŻŹ"]', 0), - )), - array($s, '[sc x="multi'."\n".'line"]', array( - new ParsedShortcode(new Shortcode('sc', array('x' => 'multi'."\n".'line'), null), '[sc x="multi'."\n".'line"]', 0), - )), - array($s, '[sc noval x="val" y]content[/sc]', array( - new ParsedShortcode(new Shortcode('sc', array('noval' => null, 'x' => 'val', 'y' => null), 'content'), '[sc noval x="val" y]content[/sc]', 0), - )), - array($s, '[sc x="{..}"]', array( - new ParsedShortcode(new Shortcode('sc', array('x' => '{..}'), null), '[sc x="{..}"]', 0), - )), - array($s, '[sc a="x y" b="x" c=""]', array( - new ParsedShortcode(new Shortcode('sc', array('a' => 'x y', 'b' => 'x', 'c' => ''), null), '[sc a="x y" b="x" c=""]', 0), - )), - array($s, '[sc a="a \"\" b"]', array( - new ParsedShortcode(new Shortcode('sc', array('a' => 'a \"\" b'), null), '[sc a="a \"\" b"]', 0), - )), - array($s, '[sc/]', array( - new ParsedShortcode(new Shortcode('sc', array(), null), '[sc/]', 0), - )), - array($s, '[sc /]', array( - new ParsedShortcode(new Shortcode('sc', array(), null), '[sc /]', 0), - )), - array($s, '[sc arg=val cmp="a b"/]', array( - new ParsedShortcode(new Shortcode('sc', array('arg' => 'val', 'cmp' => 'a b'), null), '[sc arg=val cmp="a b"/]', 0), - )), - array($s, '[sc x y /]', array( - new ParsedShortcode(new Shortcode('sc', array('x' => null, 'y' => null), null), '[sc x y /]', 0), - )), - array($s, '[sc x="\ " /]', array( - new ParsedShortcode(new Shortcode('sc', array('x' => '\ '), null), '[sc x="\ " /]', 0), - )), - array($s, '[ sc x = "\ " y = value z / ]', array( - new ParsedShortcode(new Shortcode('sc', array('x' => '\ ', 'y' => 'value', 'z' => null), null), '[ sc x = "\ " y = value z / ]', 0), - )), - array($s, '[ sc x= "\ " y =value ] vv [ / sc ]', array( - new ParsedShortcode(new Shortcode('sc', array('x' => '\ ', 'y' => 'value'), ' vv '), '[ sc x= "\ " y =value ] vv [ / sc ]', 0), - )), - array($s, '[sc url="http://giggle.com/search" /]', array( - new ParsedShortcode(new Shortcode('sc', array('url' => 'http://giggle.com/search'), null), '[sc url="http://giggle.com/search" /]', 0), - )), - - // bbcode - array($s, '[sc = "http://giggle.com/search" /]', array( - new ParsedShortcode(new Shortcode('sc', array(), null, 'http://giggle.com/search'), '[sc = "http://giggle.com/search" /]', 0), - )), - - // multiple shortcodes - array($s, 'Lorem [ipsum] random [code-code arg=val] which is here', array( - new ParsedShortcode(new Shortcode('ipsum', array(), null), '[ipsum]', 6), - new ParsedShortcode(new Shortcode('code-code', array('arg' => 'val'), null), '[code-code arg=val]', 21), - )), - array($s, 'x [aa] x [aa] x', array( - new ParsedShortcode(new Shortcode('aa', array(), null), '[aa]', 2), - new ParsedShortcode(new Shortcode('aa', array(), null), '[aa]', 9), - )), - array($s, 'x [x]a[/x] x [x]a[/x] x', array( - new ParsedShortcode(new Shortcode('x', array(), 'a'), '[x]a[/x]', 2), - new ParsedShortcode(new Shortcode('x', array(), 'a'), '[x]a[/x]', 13), - )), - array($s, 'x [x x y=z a="b c"]a[/x] x [x x y=z a="b c"]a[/x] x', array( - new ParsedShortcode(new Shortcode('x', array('x' => null, 'y' => 'z', 'a' => 'b c'), 'a'), '[x x y=z a="b c"]a[/x]', 2), - new ParsedShortcode(new Shortcode('x', array('x' => null, 'y' => 'z', 'a' => 'b c'), 'a'), '[x x y=z a="b c"]a[/x]', 27), - )), - array($s, 'x [code /] y [code]z[/code] x [code] y [code/] a', array( - new ParsedShortcode(new Shortcode('code', array(), null), '[code /]', 2), - new ParsedShortcode(new Shortcode('code', array(), 'z'), '[code]z[/code]', 13), - new ParsedShortcode(new Shortcode('code', array(), null), '[code]', 30), - new ParsedShortcode(new Shortcode('code', array(), null), '[code/]', 39), - )), - array($s, 'x [code arg=val /] y [code cmp="xx"/] x [code x=y/] a', array( - new ParsedShortcode(new Shortcode('code', array('arg' => 'val'), null), '[code arg=val /]', 2), - new ParsedShortcode(new Shortcode('code', array('cmp' => 'xx'), null), '[code cmp="xx"/]', 21), - new ParsedShortcode(new Shortcode('code', array('x' => 'y'), null), '[code x=y/]', 40), - )), - array($s, 'x [ code arg=val /]a[ code/]c[x / ] m [ y ] c [ / y]', array( - new ParsedShortcode(new Shortcode('code', array('arg' => 'val'), null), '[ code arg=val /]', 2), - new ParsedShortcode(new Shortcode('code', array(), null), '[ code/]', 23), - new ParsedShortcode(new Shortcode('x', array(), null), '[x / ]', 32), - new ParsedShortcode(new Shortcode('y', array(), ' c '), '[ y ] c [ / y]', 47), - )), - - // other syntax - array(new Syntax('[[', ']]', '//', '==', '""'), '[[code arg==""val oth""]]cont[[//code]]', array( - new ParsedShortcode(new Shortcode('code', array('arg' => 'val oth'), 'cont'), '[[code arg==""val oth""]]cont[[//code]]', 0), - )), - array(new Syntax('^', '$', '&', '!!!', '@@'), '^code a!!!@@\"\"@@ b!!!@@x\"y@@ c$cnt^&code$', array( - new ParsedShortcode(new Shortcode('code', array('a' => '\"\"', 'b' => 'x\"y', 'c' => null), 'cnt'), '^code a!!!@@\"\"@@ b!!!@@x\"y@@ c$cnt^&code$', 0), - )), - - // UTF-8 sequences - array($s, '’’’’[sc]’’[sc]', array( - new ParsedShortcode(new Shortcode('sc', array(), null), '[sc]', 4), - new ParsedShortcode(new Shortcode('sc', array(), null), '[sc]', 10), - )), - - // performance -// array($s, 'x [[aa]] y', array()), - array($s, str_repeat('[a]', 20), array_map(function($offset) { // 20 - return new ParsedShortcode(new Shortcode('a', array(), null), '[a]', $offset); - }, range(0, 57, 3))), - array($s, '[b][a]x[a][/a][/a][/b] [b][a][a][/a]y[/a][/b]', array( - new ParsedShortcode(new Shortcode('b', array(), '[a]x[a][/a][/a]'), '[b][a]x[a][/a][/a][/b]', 0), - new ParsedShortcode(new Shortcode('b', array(), '[a][a][/a]y[/a]'), '[b][a][a][/a]y[/a][/b]', 23), - )), - array($s, '[b] [a][a][a] [/b] [b] [a][a][a] [/b]', array( - new ParsedShortcode(new Shortcode('b', array(), ' [a][a][a] '), '[b] [a][a][a] [/b]', 0), - new ParsedShortcode(new Shortcode('b', array(), ' [a][a][a] '), '[b] [a][a][a] [/b]', 19), - )), - array($s, '[name]random[/other]', array( - new ParsedShortcode(new Shortcode('name', array(), null), '[name]', 0), - )), - array($s, '[0][1][2][3]', array( - new ParsedShortcode(new Shortcode('0', array(), null), '[0]', 0), - new ParsedShortcode(new Shortcode('1', array(), null), '[1]', 3), - new ParsedShortcode(new Shortcode('2', array(), null), '[2]', 6), - new ParsedShortcode(new Shortcode('3', array(), null), '[3]', 9), - )), - array($s, '[_][na_me][_name][name_][n_am_e][_n_]', array( - new ParsedShortcode(new Shortcode('_', array(), null), '[_]', 0), - new ParsedShortcode(new Shortcode('na_me', array(), null), '[na_me]', 3), - new ParsedShortcode(new Shortcode('_name', array(), null), '[_name]', 10), - new ParsedShortcode(new Shortcode('name_', array(), null), '[name_]', 17), - new ParsedShortcode(new Shortcode('n_am_e', array(), null), '[n_am_e]', 24), - new ParsedShortcode(new Shortcode('_n_', array(), null), '[_n_]', 32), - )), - array($s, '[x]/[/x] [x]"[/x] [x]=[/x] [x]][/x] [x] [/x] [x]x[/x]', array( - new ParsedShortcode(new Shortcode('x', array(), '/'), '[x]/[/x]', 0), - new ParsedShortcode(new Shortcode('x', array(), '"'), '[x]"[/x]', 9), - new ParsedShortcode(new Shortcode('x', array(), '='), '[x]=[/x]', 18), - new ParsedShortcode(new Shortcode('x', array(), ']'), '[x]][/x]', 27), - new ParsedShortcode(new Shortcode('x', array(), ' '), '[x] [/x]', 36), - new ParsedShortcode(new Shortcode('x', array(), 'x'), '[x]x[/x]', 45), - )), - array($s, '[a]0[/a]', array( - new ParsedShortcode(new Shortcode('a', array(), '0'), '[a]0[/a]', 0), - )), - array($s, '[fa icon=fa-camera /] [fa icon=fa-camera extras=fa-4x /]', array( - new ParsedShortcode(new Shortcode('fa', array('icon' => 'fa-camera'), null), '[fa icon=fa-camera /]', 0), - new ParsedShortcode(new Shortcode('fa', array('icon' => 'fa-camera', 'extras' => 'fa-4x'), null), '[fa icon=fa-camera extras=fa-4x /]', 22), - )), - array($s, '[fa icon=fa-circle-o-notch extras=fa-spin,fa-3x /]', array( - new ParsedShortcode(new Shortcode('fa', array('icon' => 'fa-circle-o-notch', 'extras' => 'fa-spin,fa-3x'), null), '[fa icon=fa-circle-o-notch extras=fa-spin,fa-3x /]', 0), - )), - array($s, '[z =]', array()), - array($s, '[x=#F00 one=#F00 two="#F00"]', array( - new ParsedShortcode(new Shortcode('x', array('one' => '#F00', 'two' => '#F00'), null, '#F00'), '[x=#F00 one=#F00 two="#F00"]', 0), - )), - array($s, '[*] [* xyz arg=val]', array( - new ParsedShortcode(new Shortcode('*', array(), null, null), '[*]', 0), - new ParsedShortcode(new Shortcode('*', array('xyz' => null, 'arg' => 'val'), null, null), '[* xyz arg=val]', 4), - )), - array($s, '[*=bb x=y]cnt[/*]', array( - new ParsedShortcode(new Shortcode('*', array('x' => 'y'), 'cnt', 'bb'), '[*=bb x=y]cnt[/*]', 0), - )), - array($s, '[ [] ] [x] [ ] [/x] ] [] [ [y] ] [] [ [z] [/#] [/z] [ [] ] [/] [/y] ] [z] [ [/ [/] /] ] [/z]', array( - new ParsedShortcode(new Shortcode('x', array(), ' [ ] ', null), '[x] [ ] [/x]', 7), - new ParsedShortcode(new Shortcode('y', array(), ' ] [] [ [z] [/#] [/z] [ [] ] [/] ', null), '[y] ] [] [ [z] [/#] [/z] [ [] ] [/] [/y]', 27), - new ParsedShortcode(new Shortcode('z', array(), ' [ [/ [/] /] ] ', null), '[z] [ [/ [/] /] ] [/z]', 70), - )), - // falsy string values - array($s, '[a=0 b=0]0[/a]', array( - new ParsedShortcode(new Shortcode('a', array('b' => '0'), '0', '0'), '[a=0 b=0]0[/a]', 0), - )), - ); - - /** - * WordPress can't handle: - * - incorrect shortcode opening tag (blindly matches everything - * between opening token and closing token) - * - spaces between shortcode open tag and its name ([ name]), - * - spaces around BBCode part ([name = "bbcode"]), - * - escaped tokens anywhere in the arguments ([x arg=" \" "]), - * - configurable syntax (that's intended), - * - numbers in shortcode name. - * - * Tests cases from array above with identifiers in the array below must be skipped. - */ - $wordpressSkip = array(3, 6, 16, 21, 22, 23, 25, 32, 33, 34, 46, 47, 49, 51); - $result = array(); - foreach($tests as $key => $test) { - $syntax = array_shift($test); - - $result[] = array_merge(array(new RegexParser($syntax)), $test); - $result[] = array_merge(array(new RegularParser($syntax)), $test); - if(!in_array($key, $wordpressSkip, true)) { - $result[] = array_merge(array(new WordpressParser()), $test); - } - } - - return $result; - } - - public function testIssue77() - { - $parser = new RegularParser(); - - $this->assertShortcodes($parser->parse('[a][x][/x][x k="v][/x][y]x[/y]'), array( - new ParsedShortcode(new Shortcode('a', array(), null, null), '[a]', 0), - new ParsedShortcode(new Shortcode('x', array(), '', null), '[x][/x]', 3), - new ParsedShortcode(new Shortcode('y', array(), 'x', null), '[y]x[/y]', 22), - )); - - $this->assertShortcodes($parser->parse('[a k="v][x][/x]'), array( - new ParsedShortcode(new Shortcode('x', array(), '', null), '[x][/x]', 8), - )); - } - - public function testWordPress() - { - $parser = new WordpressParser(); - - $this->testParser($parser, '[code arg=" '', 'oth' => 'val'), null), '[code arg="testParser($parser, '[code "xxx"]', array( - new ParsedShortcode(new Shortcode('code', array('xxx' => null), null, null), '[code "xxx"]', 0) - )); - $this->testParser($parser, '[code="xxx"] [code=yyy-aaa]', array( - new ParsedShortcode(new Shortcode('code', array('="xxx"' => null), null), '[code="xxx"]', 0), - new ParsedShortcode(new Shortcode('code', array('=yyy-aaa' => null), null), '[code=yyy-aaa]', 13) - )); - - $handlers = new HandlerContainer(); - $handlers->add('_', function() {}); - $handlers->add('na_me', function() {}); - $handlers->add('_n_', function() {}); - $this->testParser(WordpressParser::createFromHandlers($handlers), '[_][na_me][_name][name_][n_am_e][_n_]', array( - new ParsedShortcode(new Shortcode('_', array(), null), '[_]', 0), - new ParsedShortcode(new Shortcode('na_me', array(), null), '[na_me]', 3), - new ParsedShortcode(new Shortcode('_n_', array(), null), '[_n_]', 32), - )); - $this->testParser(WordpressParser::createFromNames(array('_', 'na_me', '_n_')), '[_][na_me][_name][name_][n_am_e][_n_]', array( - new ParsedShortcode(new Shortcode('_', array(), null), '[_]', 0), - new ParsedShortcode(new Shortcode('na_me', array(), null), '[na_me]', 3), - new ParsedShortcode(new Shortcode('_n_', array(), null), '[_n_]', 32), - )); - } - - public function testWordpressInvalidNamesException() - { - $this->willThrowException('InvalidArgumentException'); - WordpressParser::createFromNames(array('string', new \stdClass())); - } - - public function testInstances() - { - static::assertInstanceOf('Thunder\Shortcode\Parser\WordPressParser', new WordpressParser()); - static::assertInstanceOf('Thunder\Shortcode\Parser\RegularParser', new RegularParser()); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ProcessorTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ProcessorTest.php deleted file mode 100644 index ca116d1..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ProcessorTest.php +++ /dev/null @@ -1,367 +0,0 @@ - - */ -final class ProcessorTest extends AbstractTestCase -{ - private function getHandlers() - { - $handlers = new HandlerContainer(); - $handlers - ->add('name', function (ShortcodeInterface $s) { return $s->getName(); }) - ->add('content', function (ShortcodeInterface $s) { return $s->getContent(); }) - ->add('reverse', new ReverseShortcode()) - ->add('url', function(ShortcodeInterface $s) { - $url = $s->getParameter('url', $s->getBbCode()); - - return ''.$url.''; - }) - ->addAlias('c', 'content') - ->addAlias('n', 'name'); - - return $handlers; - } - - public function testReplaceWithoutContentOffset() - { - $text = ' [x value=" [name]yyy[/name] "] [name]yyy[/name] [/x] '; - $result = ' [x value=" [name]yyy[/name] "] name [/x] '; - - $processor = new Processor(new RegexParser(), $this->getHandlers()); - - static::assertSame($result, $processor->process($text)); - } - - /** - * @param string $text - * @param string $result - * - * @dataProvider provideTexts - */ - public function testProcessorProcess($text, $result) - { - $processor = new Processor(new RegexParser(), $this->getHandlers()); - - static::assertSame($result, $processor->process($text)); - } - - public function provideTexts() - { - return array( - array('[name]', 'name'), - array('[content]random[/content]', 'random'), - array('[content]象形字[/content]', '象形字'), - array('xxx [content]象形字[/content] yyy', 'xxx 象形字 yyy'), - array('xxx [content]ąćęłńóśżź ąćęłńóśżź[/content] yyy', 'xxx ąćęłńóśżź ąćęłńóśżź yyy'), - array('[name]random[/other]', 'namerandom[/other]'), - array('[name][other]random[/other]', 'name[other]random[/other]'), - array('[content]random-[name]-random[/content]', 'random-name-random'), - array('random [content]other[/content] various', 'random other various'), - array('x [content]a-[name]-b[/content] y', 'x a-name-b y'), - array('x [c]a-[n][/n]-b[/c] y', 'x a-n-b y'), - array('x [content]a-[c]v[/c]-b[/content] y', 'x a-v-b y'), - array('x [html]bold[/html] z', 'x [html]bold[/html] z'), - array('x [reverse]abc xyz[/reverse] z', 'x zyx cba z'), - array('x [i /][i]i[/i][i /][i]i[/i][i /] z', 'x [i /][i]i[/i][i /][i]i[/i][i /] z'), - array('x [url url="http://giggle.com/search" /] z', 'x http://giggle.com/search z'), - array('x [url="http://giggle.com/search"] z', 'x http://giggle.com/search z'), - ); - } - - public function testProcessorParentContext() - { - $handlers = new HandlerContainer(); - $handlers->add('outer', function (ProcessedShortcode $s) { - $name = $s->getParent() ? $s->getParent()->getName() : 'root'; - - return $name.'['.$s->getContent().']'; - }); - $handlers->addAlias('inner', 'outer'); - $handlers->addAlias('level', 'outer'); - - $processor = new Processor(new RegexParser(), $handlers); - - $text = 'x [outer]a [inner]c [level]x[/level] d[/inner] b[/outer] y'; - $result = 'x root[a outer[c inner[x] d] b] y'; - static::assertSame($result, $processor->process($text)); - static::assertSame($result.$result, $processor->process($text.$text)); - } - - public function testReplacesLongerThanInputText() - { - $handlers = new HandlerContainer(); - $handlers->add('x', function() { return ''; }); - $processor = new Processor(new RegularParser(), $handlers); - - static::assertSame('', $processor->process('[x][x][x]')); - } - - public function testProcessorWithoutRecursion() - { - $processor = new Processor(new RegexParser(), $this->getHandlers()); - $text = 'x [content]a-[name][/name]-b[/content] y'; - - static::assertSame('x a-[name][/name]-b y', $processor->withRecursionDepth(0)->process($text)); - } - - public function testProcessContentIfHasChildHandlerButNotParent() - { - $handlers = new HandlerContainer(); - $handlers->add('valid', function (ShortcodeInterface $s) { return $s->getName(); }); - - $text = 'x [invalid ] [valid /] [/invalid] y'; - $processor = new Processor(new RegexParser(), $handlers); - - static::assertSame('x [invalid ] valid [/invalid] y', $processor->withAutoProcessContent(true)->process($text)); - static::assertSame('x [invalid ] [valid /] [/invalid] y', $processor->withAutoProcessContent(false)->process($text)); - } - - public function testProcessorWithoutContentAutoProcessing() - { - $processor = new Processor(new RegexParser(), $this->getHandlers()); - $text = 'x [content]a-[name][/name]-b[/content] y'; - - static::assertSame('x a-[name][/name]-b y', $processor->withAutoProcessContent(false)->process($text)); - } - - public function testProcessorShortcodePositions() - { - $handlers = new HandlerContainer(); - $handlers->add('p', function (ProcessedShortcode $s) { return $s->getPosition(); }); - $handlers->add('n', function (ProcessedShortcode $s) { return $s->getNamePosition(); }); - $processor = new Processor(new RegexParser(), $handlers); - - static::assertSame('123', $processor->process('[n][n][n]'), '3n'); - static::assertSame('123', $processor->process('[p][p][p]'), '3p'); - static::assertSame('113253', $processor->process('[p][n][p][n][p][n]'), 'pnpnpn'); - static::assertSame('1231567', $processor->process('[p][p][p][n][p][p][p]'), 'pppnppp'); - } - - /** - * @dataProvider provideBuiltInTests - */ - public function testBuiltInHandlers($text, $result) - { - $handlers = new HandlerContainer(); - $handlers - ->add('content', new ContentHandler()) - ->add('name', new NameHandler()) - ->add('null', new NullHandler()) - ->add('json', new SerializerHandler(new JsonSerializer())) - ->add('text', new SerializerHandler(new TextSerializer())) - ->add('placeholder', new PlaceholderHandler()) - ->add('b', new WrapHandler('', '')) - ->add('bb', WrapHandler::createBold()) - ->add('declare', new DeclareHandler($handlers)) - ->add('url', new UrlHandler()) - ->add('email', new EmailHandler()) - ->add('raw', new RawHandler()); - $processor = new Processor(new RegexParser(), $handlers); - - static::assertSame($result, $processor->process($text)); - } - - public function provideBuiltInTests() - { - return array( - array('[declare date]%year%.%month%.%day%[/declare][date year=2015 month=08 day=26]', '2015.08.26'), - array('[declare sample]%param%[/declare][invalid param=value]', '[invalid param=value]'), - array('[declare]%param%[/declare][invalid param=value]', '[invalid param=value]'), - array('[url]http://kowalczyk.cc[/url]', 'http://kowalczyk.cc'), - array('[url="http://kowalczyk.cc"]Visit![/url]', 'Visit!'), - array('[email]tomasz@kowalczyk.cc[/email]', 'tomasz@kowalczyk.cc'), - array('[email="tomasz@kowalczyk.cc"]Send![/email]', 'Send!'), - array('[email="tomasz@kowalczyk.cc" /]', 'tomasz@kowalczyk.cc'), - array('[b]text[/b]', 'text'), - array('[bb]text[/bb]', 'text'), - array('[json arg=val]value[/json]', '{"name":"json","parameters":{"arg":"val"},"content":"value","bbCode":null}'), - array('[text arg=val]value[/text]', '[text arg=val]value[/text]'), - array('[null arg=val]value[/null]', ''), - array('[name /]', 'name'), - array('[content]cnt[/content]', 'cnt'), - array('[placeholder param=val]%param%[/placeholder]', 'val'), - array('[placeholder param=val]%param%[/placeholder]', 'val'), - array('[raw][null][content]cnt[/content][name /][/raw]', '[null][content]cnt[/content][name /]'), - array('[listing-link id="12345"]Holá[/listing-link]', '[listing-link id="12345"]Holá[/listing-link]'), - ); - } - - public function testProcessorDeclare() - { - $handlers = new HandlerContainer(); - $handlers->add('declare', function (ProcessedShortcode $s) use ($handlers) { - $handlers->add($s->getParameterAt(0), function (ShortcodeInterface $x) use ($s) { - $keys = array_map(function ($item) { - return '%'.$item.'%'; - }, array_keys($x->getParameters())); - $values = array_values($x->getParameters()); - - return str_replace($keys, $values, $s->getContent()); - }); - }); - $processor = new Processor(new RegexParser(), $handlers); - - static::assertSame('You are 18 years old.', trim($processor->process(' - [declare age]You are %age% years old.[/declare] - [age age=18] - '))); - } - - public function testBaseOffset() - { - $handlers = new HandlerContainer(); - $handlers->setDefault(function(ProcessedShortcode $s) { - return '['.$s->getBaseOffset().']'.$s->getContent(); - }); - $processor = new Processor(new RegularParser(new CommonSyntax()), $handlers); - - static::assertSame('[0][3] ’[8][11]’ [20]', $processor->process('[a][b] ’[c][d]’ [/b][e]')); - } - - public function testProcessorIterative() - { - $handlers = new HandlerContainer(); - $handlers - ->add('name', function (ShortcodeInterface $s) { return $s->getName(); }) - ->add('content', function (ShortcodeInterface $s) { return $s->getContent(); }) - ->addAlias('c', 'content') - ->addAlias('n', 'name') - ->addAlias('d', 'c') - ->addAlias('e', 'c'); - $processor = new Processor(new RegexParser(), $handlers); - - /** @var $processor Processor */ - $processor = $processor->withRecursionDepth(0)->withMaxIterations(2); - static::assertSame('x a y', $processor->process('x [c]a[/c] y')); - static::assertSame('x abc y', $processor->process('x [c]a[d]b[/d]c[/c] y')); - static::assertSame('x ab[e]c[/e]de y', $processor->process('x [c]a[d]b[e]c[/e]d[/d]e[/c] y')); - - $processor = $processor->withMaxIterations(null); - static::assertSame('x abcde y', $processor->process('x [c]a[d]b[e]c[/e]d[/d]e[/c] y')); - } - - public function testExceptionOnInvalidRecursionDepth() - { - $processor = new Processor(new RegularParser(), new HandlerContainer()); - $this->willThrowException('InvalidArgumentException'); - $processor->withRecursionDepth(new \stdClass()); - } - - public function testExceptionOnInvalidMaxIterations() - { - $processor = new Processor(new RegularParser(), new HandlerContainer()); - $this->willThrowException('InvalidArgumentException'); - $processor->withMaxIterations(new \stdClass()); - } - - public function testExceptionOnInvalidAutoProcessFlag() - { - $processor = new Processor(new RegularParser(), new HandlerContainer()); - $this->willThrowException('InvalidArgumentException'); - $processor->withAutoProcessContent(new \stdClass()); - } - - public function testDefaultHandler() - { - $handlers = new HandlerContainer(); - $handlers->setDefault(function (ShortcodeInterface $s) { return $s->getName(); }); - $processor = new Processor(new RegexParser(), $handlers); - - static::assertSame('namerandom', $processor->process('[name][other][/name][random]')); - } - - public function testStripOuter() - { - $handlers = new HandlerContainer(); - $handlers->add('q', function(ShortcodeInterface $s) { - return $s->getContent(); - }); - $handlers->add('p', function(ProcessedShortcode $s) use(&$handlers) { - $parser = new RegexParser(); - $processor = new Processor($parser, $handlers); - $shortcodes = $parser->parse($s->getTextContent()); - - return array_reduce($shortcodes, function($result, ParsedShortcodeInterface $s) use($processor) { - return $result.$processor->process($s->getText()); - }, ''); - }); - $processor = new Processor(new RegexParser(), $handlers); - - static::assertSame('x ab y', $processor->process('x [p] [q]a[/q] [q]b[/q] [/p] y')); - static::assertSame('x ab c y', $processor->process('x [p] [q]a[/q] [q]b [q]c[/q][/q] [/p] y')); - } - - public function testOriginalContent() - { - $handlers = new HandlerContainer(); - $handlers->add('p', function(ProcessedShortcode $s) { return $s->getTextContent(); }); - $handlers->addAlias('q', 'p'); - $processor = new Processor(new RegexParser(), $handlers); - - static::assertSame('x [q]a[/q] [q]b[/q] y', $processor->process('x [p] [q]a[/q] [q]b[/q] [/p] y')); - } - - public function testMultipleParent() - { - $parents = 0; - $handlers = new HandlerContainer(); - $handlers->add('p', function(ProcessedShortcode $s) use(&$parents) { $parents += $s->getParent() ? 1 : 0; }); - $handlers->addAlias('q', 'p'); - $processor = new Processor(new RegexParser(), $handlers); - $processor->process('x [p] [q]a[/q] [q]b[/q] [q]c[/q] [/p] y'); - - static::assertSame(3, $parents); - } - - public function testPreventInfiniteLoop() - { - $handlers = new HandlerContainer(); - $handlers - ->add('self', function () { return '[self]'; }) - ->add('other', function () { return '[self]'; }) - ->add('random', function () { return '[other]'; }); - $processor = new Processor(new RegexParser(), $handlers); - $processor->withMaxIterations(null); - - static::assertSame('[self]', $processor->process('[self]')); - static::assertSame('[self]', $processor->process('[other]')); - static::assertSame('[other]', $processor->process('[random]')); - } - - public function testValidProcessAfterHandlerRemoval() - { - $handlers = new HandlerContainer(); - $handlers->add('name', function(ShortcodeInterface $s) { return $s->getName(); }); - $handlers->addAlias('n', 'name'); - $processor = new Processor(new RegexParser(), $handlers); - static::assertSame('n', $processor->process('[n]')); - static::assertSame('name', $processor->process('[name]')); - $handlers->remove('name'); - static::assertSame('n', $processor->process('[n]')); - static::assertSame('[name]', $processor->process('[name]')); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SerializerTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SerializerTest.php deleted file mode 100644 index a25006e..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SerializerTest.php +++ /dev/null @@ -1,124 +0,0 @@ - - */ -final class SerializerTest extends AbstractTestCase -{ - /** - * @dataProvider provideShortcodes - */ - public function testSerializer(SerializerInterface $serializer, ShortcodeInterface $test) - { - $result = $serializer->serialize($test); - $tested = $serializer->unserialize($result); - - static::assertSame($test->getName(), $tested->getName(), 'name: '.$result); - static::assertSame($test->getParameters(), $tested->getParameters(), 'parameters: '.$result); - static::assertSame($test->getContent(), $tested->getContent(), 'content: '.$result); - static::assertSame($test->getBbCode(), $tested->getBbCode(), 'bbCode: '.$result); - } - - public function provideShortcodes() - { - $shortcodes = array( - new Shortcode('x', array(), null), - new Shortcode('x', array('arg' => 'val'), null), - new Shortcode('x', array('arg' => null), null), - new Shortcode('x', array('arg' => ''), null), - new Shortcode('x', array('arg' => 'val'), 'cnt'), - new ParsedShortcode(new Shortcode('self-closed', array(), null), '[self-closed /]', 0), - new Shortcode('self-closed', array(), null, 'bb code'."\n".' value'), - ); - - $serializers = array( - new TextSerializer(), - new JsonSerializer(), - new XmlSerializer(), - new YamlSerializer(), - ); - - $tests = array(); - foreach($shortcodes as $shortcode) { - foreach($serializers as $serializer) { - $tests[] = array($serializer, $shortcode); - } - } - - return $tests; - } - - /** - * @dataProvider provideUnserialized - */ - public function testUnserialize(SerializerInterface $serializer, ShortcodeInterface $test, $text) - { - $tested = $serializer->unserialize($text); - - static::assertSame($test->getName(), $tested->getName(), 'name: '.$text); - static::assertSame($test->getParameters(), $tested->getParameters(), 'parameters: '.$text); - static::assertSame($test->getContent(), $tested->getContent(), 'content: '.$text); - static::assertSame($test->getBbCode(), $tested->getBbCode(), 'bbCode: '.$text); - } - - public function provideUnserialized() - { - return array( - array(new JsonSerializer(), new Shortcode('x', array(), null), '{"name":"x"}'), - array(new JsonSerializer(), new Shortcode('x', array('arg' => 'val'), null), '{"name":"x","parameters":{"arg":"val"}}'), - array(new JsonSerializer(), new Shortcode('x', array(), 'cnt'), '{"name":"x","content":"cnt"}'), - array(new YamlSerializer(), new Shortcode('x', array(), null), 'name: x'), - array(new YamlSerializer(), new Shortcode('x', array('arg' => 'val'), null), 'name: x'."\n".'parameters:'."\n".' arg: val'), - array(new YamlSerializer(), new Shortcode('x', array(), 'cnt'), 'name: x'."\n".'content: cnt'), - array(new XmlSerializer(), new Shortcode('x', array(), null), ''), - array(new XmlSerializer(), new Shortcode('x', array('arg' => 'val'), null), 'val'), - array(new XmlSerializer(), new Shortcode('x', array(), 'cnt'), 'cnt'), - ); - } - - /** - * @dataProvider provideExceptions - */ - public function testSerializerExceptions(SerializerInterface $serializer, $value, $exceptionClass) - { - $this->willThrowException($exceptionClass); - $serializer->unserialize($value); - } - - public function provideExceptions() - { - $xml = new XmlSerializer(); - $yaml = new YamlSerializer(); - $text = new TextSerializer(); - $json = new JsonSerializer(); - - return array( - array($text, '[sc /] c [xx]', 'InvalidArgumentException'), - array($text, '[/sc]', 'InvalidArgumentException'), - array($json, '{}', 'InvalidArgumentException'), - array($json, '', 'InvalidArgumentException'), - array($json, '{"name":"x","parameters":null}', 'InvalidArgumentException'), - array($json, '{"name":"x","parameters":{"key":[]}}', 'InvalidArgumentException'), - array($yaml, 'shortcode: ', 'InvalidArgumentException'), - array($yaml, '', 'InvalidArgumentException'), - array($yaml, 'name: x'."\n".'parameters: string', 'InvalidArgumentException'), - array($xml, '', 'InvalidArgumentException'), - array($xml, 'sss', 'InvalidArgumentException'), - array($xml, 'xxsss', 'InvalidArgumentException'), - array($xml, 'xxsss', 'InvalidArgumentException'), - array($xml, 'xxsss', 'InvalidArgumentException'), - array($xml, '', 'InvalidArgumentException'), - array($xml, '', 'InvalidArgumentException'), - ); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ShortcodeTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ShortcodeTest.php deleted file mode 100644 index 05f1b50..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ShortcodeTest.php +++ /dev/null @@ -1,137 +0,0 @@ - - */ -final class ShortcodeTest extends AbstractTestCase -{ - /** - * @dataProvider provideShortcodes - */ - public function testShortcode($expected, $name, array $args, $content) - { - $s = new Shortcode($name, $args, $content); - $textSerializer = new TextSerializer(); - - static::assertSame($name, $s->getName()); - static::assertSame($args, $s->getParameters()); - static::assertSame($content, $s->getContent()); - static::assertSame($expected, $textSerializer->serialize($s)); - static::assertSame('arg', $s->getParameterAt(0)); - static::assertTrue($s->hasParameters()); - } - - public function provideShortcodes() - { - return array( - array('[x arg=val /]', 'x', array('arg' => 'val'), null), - array('[x arg=val][/x]', 'x', array('arg' => 'val'), ''), - array('[x arg=val]inner[/x]', 'x', array('arg' => 'val'), 'inner'), - array('[x arg="val val"]inner[/x]', 'x', array('arg' => 'val val'), 'inner'), - ); - } - - public function testObject() - { - $shortcode = new Shortcode('random', array('arg' => 'value', 'none' => null), 'something'); - - static::assertTrue($shortcode->hasParameter('arg')); - static::assertFalse($shortcode->hasParameter('invalid')); - static::assertNull($shortcode->getParameter('none')); - static::assertSame('value', $shortcode->getParameter('arg')); - static::assertSame('', $shortcode->getParameter('invalid', '')); - static::assertSame(42, $shortcode->getParameter('invalid', 42)); - - static::assertNotSame($shortcode, $shortcode->withContent('x')); - } - - public function testProcessedShortcode() - { - $processor = new Processor(new RegexParser(), new HandlerContainer()); - - $context = new ProcessorContext(); - $context->shortcode = new Shortcode('code', array('arg' => 'val'), 'content'); - $context->processor = $processor; - $context->position = 20; - $context->namePosition = array('code' => 10); - $context->text = ' [code] '; - $context->shortcodeText = '[code]'; - $context->offset = 1; - $context->iterationNumber = 1; - $context->recursionLevel = 0; - $context->parent = null; - - $processed = ProcessedShortcode::createFromContext($context); - - static::assertSame('code', $processed->getName()); - static::assertSame(array('arg' => 'val'), $processed->getParameters()); - static::assertSame('content', $processed->getContent()); - - static::assertSame(20, $processed->getPosition()); - static::assertSame(10, $processed->getNamePosition()); - static::assertSame(' [code] ', $processed->getText()); - static::assertSame(1, $processed->getOffset()); - static::assertSame('[code]', $processed->getShortcodeText()); - static::assertSame(1, $processed->getIterationNumber()); - static::assertSame(0, $processed->getRecursionLevel()); - static::assertSame(null, $processed->getParent()); - static::assertSame($processor, $processed->getProcessor()); - } - - public function testProcessedShortcodeParents() - { - $context = new ProcessorContext(); - $context->shortcode = new Shortcode('p1', array(), null); - $context->parent = null; - $context->namePosition = array('p1' => 0, 'p2' => 0, 'p3' => 0); - $p1 = ProcessedShortcode::createFromContext($context); - $context->shortcode = new Shortcode('p2', array(), null); - $context->parent = $p1; - $p2 = ProcessedShortcode::createFromContext($context); - $context->shortcode = new Shortcode('p3', array(), null); - $context->parent = $p2; - $p3 = ProcessedShortcode::createFromContext($context); - - static::assertSame('p3', $p3->getName()); - static::assertSame('p2', $p3->getParent()->getName()); - static::assertSame('p1', $p3->getParent()->getParent()->getName()); - static::assertFalse($p1->hasAncestor('p3')); - static::assertFalse($p1->hasAncestor('p1')); - static::assertTrue($p2->hasAncestor('p1')); - static::assertFalse($p2->hasAncestor('p3')); - static::assertTrue($p3->hasAncestor('p1')); - static::assertTrue($p3->hasAncestor('p2')); - static::assertFalse($p3->hasAncestor('p4')); - } - - public function testParsedShortcode() - { - $shortcode = new ParsedShortcode(new Shortcode('name', array('arg' => 'val'), 'content'), 'text', 12); - - static::assertSame('name', $shortcode->getName()); - static::assertSame(array('arg' => 'val'), $shortcode->getParameters()); - static::assertSame('content', $shortcode->getContent()); - static::assertSame('text', $shortcode->getText()); - static::assertSame(12, $shortcode->getOffset()); - static::assertTrue($shortcode->hasContent()); - - static::assertFalse($shortcode->withContent(null)->hasContent()); - static::assertSame('another', $shortcode->withContent('another')->getContent()); - } - - public function testShortcodeEmptyNameException() - { - $this->willThrowException('InvalidArgumentException'); - new Shortcode('', array(), null); - } -} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SyntaxTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SyntaxTest.php deleted file mode 100644 index 9228d46..0000000 --- a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SyntaxTest.php +++ /dev/null @@ -1,54 +0,0 @@ - - */ -final class SyntaxTest extends AbstractTestCase -{ - /** - * @dataProvider provideSyntaxes - */ - public function testSyntax(SyntaxInterface $syntax, $open, $close, $slash, $parameter, $value) - { - static::assertSame($open, $syntax->getOpeningTag()); - static::assertSame($close, $syntax->getClosingTag()); - static::assertSame($slash, $syntax->getClosingTagMarker()); - static::assertSame($parameter, $syntax->getParameterValueSeparator()); - static::assertSame($value, $syntax->getParameterValueDelimiter()); - } - - public function provideSyntaxes() - { - return array( - array(new Syntax(), '[', ']', '/', '=', '"'), - array(new Syntax('[[', ']]', '//', '==', '""'), '[[', ']]', '//', '==', '""'), - array(new CommonSyntax(), '[', ']', '/', '=', '"'), - ); - } - - /** - * Note: do not merge this test with data provider above, code coverage - * does not understand this and marks builder class as untested. - */ - public function testBuilder() - { - $builder = new SyntaxBuilder(); - $this->testSyntax($builder->getSyntax(), '[', ']', '/', '=', '"'); - - $builder = new SyntaxBuilder(); - $doubleBuiltSyntax = $builder - ->setOpeningTag('[[') - ->setClosingTag(']]') - ->setClosingTagMarker('//') - ->setParameterValueSeparator('==') - ->setParameterValueDelimiter('""') - ->getSyntax(); - $this->testSyntax($doubleBuiltSyntax, '[[', ']]', '//', '==', '""'); - } -}