From cd7a898e66c890957b6c5f138084e5a237086dc1 Mon Sep 17 00:00:00 2001 From: Rob Davies Date: Thu, 13 Apr 2017 15:53:35 +0100 Subject: [PATCH] Update core 8.3.0 --- config/block.block.dcb2017_account_menu.yml | 2 +- config/block.block.dcb2017_breadcrumbs.yml | 2 +- config/block.block.dcb2017_help.yml | 2 +- config/block.block.dcb2017_local_actions.yml | 2 +- config/block.block.dcb2017_powered.yml | 2 +- config/block.block.dcb2017_search.yml | 2 +- config/block.block.dcb2017_tools.yml | 2 +- ...rm_display.block_content.basic.default.yml | 2 + ...y_form_display.comment.comment.default.yml | 3 + ...tity_form_display.node.article.default.yml | 10 + ....entity_form_display.node.page.default.yml | 8 + ...tity_form_display.node.sponsor.default.yml | 9 + ....entity_form_display.user.user.default.yml | 5 + ...ew_display.block_content.basic.default.yml | 1 + ...y_view_display.comment.comment.default.yml | 2 + ...tity_view_display.node.article.default.yml | 5 + ...e.entity_view_display.node.article.rss.yml | 1 + ...ntity_view_display.node.article.teaser.yml | 4 + ....entity_view_display.node.page.default.yml | 3 + ...e.entity_view_display.node.page.teaser.yml | 6 +- ...tity_view_display.node.sponsor.default.yml | 4 + ...ntity_view_display.node.sponsor.teaser.yml | 8 +- ....entity_view_display.user.user.compact.yml | 1 + ....entity_view_display.user.user.default.yml | 2 + config/core.extension.yml | 1 + config/system.cron.yml | 1 + config/user.role.anonymous.yml | 4 +- config/user.role.authenticated.yml | 10 +- web/.csslintrc | 77 +- web/.eslintignore | 1 + web/.eslintrc.json | 3 + web/autoload.php | 3 + web/composer.json | 11 +- web/composer.lock | 5879 ++++++++--------- web/core/.eslintignore | 4 + web/core/{.eslintrc => .eslintrc.json} | 4 +- web/core/CHANGELOG.txt | 115 +- web/core/INSTALL.txt | 2 +- web/core/MAINTAINERS.txt | 24 +- web/core/assets/vendor/ckeditor/CHANGES.md | 105 +- web/core/assets/vendor/ckeditor/LICENSE.md | 4 +- .../assets/vendor/ckeditor/build-config.js | 115 +- web/core/assets/vendor/ckeditor/ckeditor.js | 1972 +++--- .../ckeditor/lang/_translationstatus.txt | 2 +- web/core/assets/vendor/ckeditor/lang/af.js | 4 +- web/core/assets/vendor/ckeditor/lang/ar.js | 4 +- web/core/assets/vendor/ckeditor/lang/bg.js | 4 +- web/core/assets/vendor/ckeditor/lang/bn.js | 4 +- web/core/assets/vendor/ckeditor/lang/bs.js | 4 +- web/core/assets/vendor/ckeditor/lang/ca.js | 4 +- web/core/assets/vendor/ckeditor/lang/cs.js | 4 +- web/core/assets/vendor/ckeditor/lang/cy.js | 4 +- web/core/assets/vendor/ckeditor/lang/da.js | 4 +- web/core/assets/vendor/ckeditor/lang/de-ch.js | 4 +- web/core/assets/vendor/ckeditor/lang/de.js | 4 +- web/core/assets/vendor/ckeditor/lang/el.js | 4 +- web/core/assets/vendor/ckeditor/lang/en-au.js | 4 +- web/core/assets/vendor/ckeditor/lang/en-ca.js | 4 +- web/core/assets/vendor/ckeditor/lang/en-gb.js | 4 +- web/core/assets/vendor/ckeditor/lang/en.js | 4 +- web/core/assets/vendor/ckeditor/lang/eo.js | 4 +- web/core/assets/vendor/ckeditor/lang/es.js | 4 +- web/core/assets/vendor/ckeditor/lang/et.js | 4 +- web/core/assets/vendor/ckeditor/lang/eu.js | 4 +- web/core/assets/vendor/ckeditor/lang/fa.js | 4 +- web/core/assets/vendor/ckeditor/lang/fi.js | 4 +- web/core/assets/vendor/ckeditor/lang/fo.js | 4 +- web/core/assets/vendor/ckeditor/lang/fr-ca.js | 4 +- web/core/assets/vendor/ckeditor/lang/fr.js | 4 +- web/core/assets/vendor/ckeditor/lang/gl.js | 4 +- web/core/assets/vendor/ckeditor/lang/gu.js | 4 +- web/core/assets/vendor/ckeditor/lang/he.js | 4 +- web/core/assets/vendor/ckeditor/lang/hi.js | 4 +- web/core/assets/vendor/ckeditor/lang/hr.js | 4 +- web/core/assets/vendor/ckeditor/lang/hu.js | 4 +- web/core/assets/vendor/ckeditor/lang/id.js | 4 +- web/core/assets/vendor/ckeditor/lang/is.js | 4 +- web/core/assets/vendor/ckeditor/lang/it.js | 4 +- web/core/assets/vendor/ckeditor/lang/ja.js | 4 +- web/core/assets/vendor/ckeditor/lang/ka.js | 4 +- web/core/assets/vendor/ckeditor/lang/km.js | 4 +- web/core/assets/vendor/ckeditor/lang/ko.js | 4 +- web/core/assets/vendor/ckeditor/lang/ku.js | 4 +- web/core/assets/vendor/ckeditor/lang/lt.js | 4 +- web/core/assets/vendor/ckeditor/lang/lv.js | 4 +- web/core/assets/vendor/ckeditor/lang/mk.js | 4 +- web/core/assets/vendor/ckeditor/lang/mn.js | 4 +- web/core/assets/vendor/ckeditor/lang/ms.js | 4 +- web/core/assets/vendor/ckeditor/lang/nb.js | 4 +- web/core/assets/vendor/ckeditor/lang/nl.js | 4 +- web/core/assets/vendor/ckeditor/lang/no.js | 4 +- web/core/assets/vendor/ckeditor/lang/oc.js | 5 + web/core/assets/vendor/ckeditor/lang/pl.js | 4 +- web/core/assets/vendor/ckeditor/lang/pt-br.js | 4 +- web/core/assets/vendor/ckeditor/lang/pt.js | 4 +- web/core/assets/vendor/ckeditor/lang/ro.js | 4 +- web/core/assets/vendor/ckeditor/lang/ru.js | 4 +- web/core/assets/vendor/ckeditor/lang/si.js | 4 +- web/core/assets/vendor/ckeditor/lang/sk.js | 4 +- web/core/assets/vendor/ckeditor/lang/sl.js | 4 +- web/core/assets/vendor/ckeditor/lang/sq.js | 4 +- .../assets/vendor/ckeditor/lang/sr-latn.js | 4 +- web/core/assets/vendor/ckeditor/lang/sr.js | 4 +- web/core/assets/vendor/ckeditor/lang/sv.js | 4 +- web/core/assets/vendor/ckeditor/lang/th.js | 4 +- web/core/assets/vendor/ckeditor/lang/tr.js | 4 +- web/core/assets/vendor/ckeditor/lang/tt.js | 4 +- web/core/assets/vendor/ckeditor/lang/ug.js | 4 +- web/core/assets/vendor/ckeditor/lang/uk.js | 4 +- web/core/assets/vendor/ckeditor/lang/vi.js | 4 +- web/core/assets/vendor/ckeditor/lang/zh-cn.js | 4 +- web/core/assets/vendor/ckeditor/lang/zh.js | 4 +- .../plugins/a11yhelp/dialogs/a11yhelp.js | 12 +- .../dialogs/lang/_translationstatus.txt | 2 +- .../plugins/a11yhelp/dialogs/lang/af.js | 8 +- .../plugins/a11yhelp/dialogs/lang/ar.js | 7 +- .../plugins/a11yhelp/dialogs/lang/bg.js | 7 +- .../plugins/a11yhelp/dialogs/lang/ca.js | 16 +- .../plugins/a11yhelp/dialogs/lang/cs.js | 10 +- .../plugins/a11yhelp/dialogs/lang/cy.js | 8 +- .../plugins/a11yhelp/dialogs/lang/da.js | 14 +- .../plugins/a11yhelp/dialogs/lang/de-ch.js | 9 +- .../plugins/a11yhelp/dialogs/lang/de.js | 9 +- .../plugins/a11yhelp/dialogs/lang/el.js | 9 +- .../plugins/a11yhelp/dialogs/lang/en-gb.js | 7 +- .../plugins/a11yhelp/dialogs/lang/en.js | 7 +- .../plugins/a11yhelp/dialogs/lang/eo.js | 9 +- .../plugins/a11yhelp/dialogs/lang/es.js | 10 +- .../plugins/a11yhelp/dialogs/lang/et.js | 7 +- .../plugins/a11yhelp/dialogs/lang/eu.js | 8 +- .../plugins/a11yhelp/dialogs/lang/fa.js | 8 +- .../plugins/a11yhelp/dialogs/lang/fi.js | 8 +- .../plugins/a11yhelp/dialogs/lang/fo.js | 7 +- .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 8 +- .../plugins/a11yhelp/dialogs/lang/fr.js | 8 +- .../plugins/a11yhelp/dialogs/lang/gl.js | 9 +- .../plugins/a11yhelp/dialogs/lang/gu.js | 7 +- .../plugins/a11yhelp/dialogs/lang/he.js | 7 +- .../plugins/a11yhelp/dialogs/lang/hi.js | 7 +- .../plugins/a11yhelp/dialogs/lang/hr.js | 8 +- .../plugins/a11yhelp/dialogs/lang/hu.js | 9 +- .../plugins/a11yhelp/dialogs/lang/id.js | 16 +- .../plugins/a11yhelp/dialogs/lang/it.js | 10 +- .../plugins/a11yhelp/dialogs/lang/ja.js | 6 +- .../plugins/a11yhelp/dialogs/lang/km.js | 7 +- .../plugins/a11yhelp/dialogs/lang/ko.js | 8 +- .../plugins/a11yhelp/dialogs/lang/ku.js | 8 +- .../plugins/a11yhelp/dialogs/lang/lt.js | 7 +- .../plugins/a11yhelp/dialogs/lang/lv.js | 7 +- .../plugins/a11yhelp/dialogs/lang/mk.js | 8 +- .../plugins/a11yhelp/dialogs/lang/mn.js | 7 +- .../plugins/a11yhelp/dialogs/lang/nb.js | 9 +- .../plugins/a11yhelp/dialogs/lang/nl.js | 15 +- .../plugins/a11yhelp/dialogs/lang/no.js | 8 +- .../plugins/a11yhelp/dialogs/lang/oc.js | 12 + .../plugins/a11yhelp/dialogs/lang/pl.js | 10 +- .../plugins/a11yhelp/dialogs/lang/pt-br.js | 9 +- .../plugins/a11yhelp/dialogs/lang/pt.js | 8 +- .../plugins/a11yhelp/dialogs/lang/ro.js | 8 +- .../plugins/a11yhelp/dialogs/lang/ru.js | 8 +- .../plugins/a11yhelp/dialogs/lang/si.js | 8 +- .../plugins/a11yhelp/dialogs/lang/sk.js | 10 +- .../plugins/a11yhelp/dialogs/lang/sl.js | 8 +- .../plugins/a11yhelp/dialogs/lang/sq.js | 8 +- .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 7 +- .../plugins/a11yhelp/dialogs/lang/sr.js | 7 +- .../plugins/a11yhelp/dialogs/lang/sv.js | 8 +- .../plugins/a11yhelp/dialogs/lang/th.js | 7 +- .../plugins/a11yhelp/dialogs/lang/tr.js | 8 +- .../plugins/a11yhelp/dialogs/lang/tt.js | 8 +- .../plugins/a11yhelp/dialogs/lang/ug.js | 9 +- .../plugins/a11yhelp/dialogs/lang/uk.js | 8 +- .../plugins/a11yhelp/dialogs/lang/vi.js | 8 +- .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 8 +- .../plugins/a11yhelp/dialogs/lang/zh.js | 8 +- .../ckeditor/plugins/about/dialogs/about.js | 2 +- .../plugins/clipboard/dialogs/paste.js | 2 +- .../plugins/dialog/dialogDefinition.js | 2 +- .../assets/vendor/ckeditor/plugins/icons.png | Bin 7704 -> 3210 bytes .../vendor/ckeditor/plugins/icons_hidpi.png | Bin 26209 -> 10811 bytes .../ckeditor/plugins/image2/dialogs/image2.js | 23 +- .../plugins/pastefromword/filter/default.js | 69 +- .../sourcedialog/dialogs/sourcedialog.js | 2 +- .../dialogs/lang/_translationstatus.txt | 2 +- .../plugins/specialchar/dialogs/lang/af.js | 4 +- .../plugins/specialchar/dialogs/lang/ar.js | 4 +- .../plugins/specialchar/dialogs/lang/bg.js | 4 +- .../plugins/specialchar/dialogs/lang/ca.js | 2 +- .../plugins/specialchar/dialogs/lang/cs.js | 2 +- .../plugins/specialchar/dialogs/lang/cy.js | 2 +- .../plugins/specialchar/dialogs/lang/da.js | 2 +- .../plugins/specialchar/dialogs/lang/de-ch.js | 2 +- .../plugins/specialchar/dialogs/lang/de.js | 2 +- .../plugins/specialchar/dialogs/lang/el.js | 2 +- .../plugins/specialchar/dialogs/lang/en-gb.js | 2 +- .../plugins/specialchar/dialogs/lang/en.js | 4 +- .../plugins/specialchar/dialogs/lang/eo.js | 2 +- .../plugins/specialchar/dialogs/lang/es.js | 2 +- .../plugins/specialchar/dialogs/lang/et.js | 4 +- .../plugins/specialchar/dialogs/lang/eu.js | 4 +- .../plugins/specialchar/dialogs/lang/fa.js | 2 +- .../plugins/specialchar/dialogs/lang/fi.js | 4 +- .../plugins/specialchar/dialogs/lang/fr-ca.js | 2 +- .../plugins/specialchar/dialogs/lang/fr.js | 2 +- .../plugins/specialchar/dialogs/lang/gl.js | 2 +- .../plugins/specialchar/dialogs/lang/he.js | 2 +- .../plugins/specialchar/dialogs/lang/hr.js | 4 +- .../plugins/specialchar/dialogs/lang/hu.js | 2 +- .../plugins/specialchar/dialogs/lang/id.js | 4 +- .../plugins/specialchar/dialogs/lang/it.js | 2 +- .../plugins/specialchar/dialogs/lang/ja.js | 2 +- .../plugins/specialchar/dialogs/lang/km.js | 4 +- .../plugins/specialchar/dialogs/lang/ko.js | 2 +- .../plugins/specialchar/dialogs/lang/ku.js | 2 +- .../plugins/specialchar/dialogs/lang/lt.js | 4 +- .../plugins/specialchar/dialogs/lang/lv.js | 2 +- .../plugins/specialchar/dialogs/lang/nb.js | 2 +- .../plugins/specialchar/dialogs/lang/nl.js | 2 +- .../plugins/specialchar/dialogs/lang/no.js | 2 +- .../plugins/specialchar/dialogs/lang/oc.js | 12 + .../plugins/specialchar/dialogs/lang/pl.js | 2 +- .../plugins/specialchar/dialogs/lang/pt-br.js | 2 +- .../plugins/specialchar/dialogs/lang/pt.js | 2 +- .../plugins/specialchar/dialogs/lang/ru.js | 2 +- .../plugins/specialchar/dialogs/lang/si.js | 4 +- .../plugins/specialchar/dialogs/lang/sk.js | 2 +- .../plugins/specialchar/dialogs/lang/sl.js | 2 +- .../plugins/specialchar/dialogs/lang/sq.js | 2 +- .../plugins/specialchar/dialogs/lang/sv.js | 2 +- .../plugins/specialchar/dialogs/lang/th.js | 4 +- .../plugins/specialchar/dialogs/lang/tr.js | 2 +- .../plugins/specialchar/dialogs/lang/tt.js | 2 +- .../plugins/specialchar/dialogs/lang/ug.js | 4 +- .../plugins/specialchar/dialogs/lang/uk.js | 2 +- .../plugins/specialchar/dialogs/lang/vi.js | 2 +- .../plugins/specialchar/dialogs/lang/zh-cn.js | 2 +- .../plugins/specialchar/dialogs/lang/zh.js | 2 +- .../specialchar/dialogs/specialchar.js | 2 +- .../ckeditor/plugins/table/dialogs/table.js | 2 +- .../plugins/tabletools/dialogs/tableCell.js | 2 +- .../ckeditor/skins/moono-lisa/dialog.css | 5 + .../ckeditor/skins/moono-lisa/dialog_ie.css | 5 + .../ckeditor/skins/moono-lisa/dialog_ie8.css | 5 + .../skins/moono-lisa/dialog_iequirks.css | 5 + .../ckeditor/skins/moono-lisa/editor.css | 5 + .../skins/moono-lisa/editor_gecko.css | 5 + .../ckeditor/skins/moono-lisa/editor_ie.css | 5 + .../ckeditor/skins/moono-lisa/editor_ie8.css | 5 + .../skins/moono-lisa/editor_iequirks.css | 5 + .../ckeditor/skins/moono-lisa/icons.png | Bin 0 -> 3210 bytes .../ckeditor/skins/moono-lisa/icons_hidpi.png | Bin 0 -> 10811 bytes .../{moono => moono-lisa}/images/arrow.png | Bin .../skins/moono-lisa/images/close.png | Bin 0 -> 615 bytes .../skins/moono-lisa/images/hidpi/close.png | Bin 0 -> 1238 bytes .../moono-lisa/images/hidpi/lock-open.png | Bin 0 -> 1071 bytes .../skins/moono-lisa/images/hidpi/lock.png | Bin 0 -> 1062 bytes .../skins/moono-lisa/images/hidpi/refresh.png | Bin 0 -> 1623 bytes .../skins/moono-lisa/images/lock-open.png | Bin 0 -> 511 bytes .../ckeditor/skins/moono-lisa/images/lock.png | Bin 0 -> 506 bytes .../skins/moono-lisa/images/refresh.png | Bin 0 -> 757 bytes .../{moono => moono-lisa}/images/spinner.gif | Bin .../vendor/ckeditor/skins/moono/dialog.css | 5 - .../vendor/ckeditor/skins/moono/dialog_ie.css | 5 - .../ckeditor/skins/moono/dialog_ie7.css | 5 - .../ckeditor/skins/moono/dialog_ie8.css | 5 - .../ckeditor/skins/moono/dialog_iequirks.css | 5 - .../vendor/ckeditor/skins/moono/editor.css | 5 - .../ckeditor/skins/moono/editor_gecko.css | 5 - .../vendor/ckeditor/skins/moono/editor_ie.css | 5 - .../ckeditor/skins/moono/editor_ie7.css | 5 - .../ckeditor/skins/moono/editor_ie8.css | 5 - .../ckeditor/skins/moono/editor_iequirks.css | 5 - .../vendor/ckeditor/skins/moono/icons.png | Bin 7704 -> 0 bytes .../ckeditor/skins/moono/icons_hidpi.png | Bin 26209 -> 0 bytes .../ckeditor/skins/moono/images/close.png | Bin 468 -> 0 bytes .../skins/moono/images/hidpi/close.png | Bin 1271 -> 0 bytes .../skins/moono/images/hidpi/lock-open.png | Bin 1329 -> 0 bytes .../skins/moono/images/hidpi/lock.png | Bin 1299 -> 0 bytes .../skins/moono/images/hidpi/refresh.png | Bin 1842 -> 0 bytes .../ckeditor/skins/moono/images/lock-open.png | Bin 349 -> 0 bytes .../ckeditor/skins/moono/images/lock.png | Bin 475 -> 0 bytes .../ckeditor/skins/moono/images/refresh.png | Bin 422 -> 0 bytes web/core/assets/vendor/jquery/jquery.js | 44 +- web/core/assets/vendor/jquery/jquery.min.js | 8 +- web/core/assets/vendor/jquery/jquery.min.map | 2 +- web/core/authorize.php | 12 +- web/core/composer.json | 20 +- web/core/config/install/core.extension.yml | 1 + .../config/schema/core.data_types.schema.yml | 9 +- web/core/config/schema/core.entity.schema.yml | 10 +- .../config/schema/core.extension.schema.yml | 3 + web/core/core.api.php | 33 +- web/core/core.libraries.yml | 16 +- web/core/core.link_relation_types.yml | 293 + web/core/core.services.yml | 53 +- web/core/includes/batch.inc | 66 +- web/core/includes/bootstrap.inc | 54 +- web/core/includes/common.inc | 34 +- web/core/includes/database.inc | 26 +- web/core/includes/entity.inc | 14 +- web/core/includes/errors.inc | 50 +- web/core/includes/file.inc | 48 +- web/core/includes/form.inc | 90 +- web/core/includes/install.core.inc | 372 +- web/core/includes/install.inc | 84 +- web/core/includes/menu.inc | 34 +- web/core/includes/module.inc | 20 +- web/core/includes/pager.inc | 30 +- web/core/includes/schema.inc | 14 +- web/core/includes/tablesort.inc | 22 +- web/core/includes/theme.inc | 408 +- web/core/includes/unicode.inc | 21 +- web/core/includes/update.inc | 119 +- web/core/includes/utility.inc | 9 +- web/core/lib/Drupal.php | 45 +- .../Drupal/Component/Annotation/Plugin.php | 2 +- .../Discovery/AnnotatedClassDiscovery.php | 7 +- .../Discovery/AnnotationBridgeDecorator.php | 75 + .../Drupal/Component/Annotation/PluginID.php | 4 +- .../Bridge/ZfExtensionManagerSfContainer.php | 4 +- .../Component/Datetime/DateTimePlus.php | 59 +- .../lib/Drupal/Component/Datetime/Time.php | 57 + .../Component/Datetime/TimeInterface.php | 149 + .../DependencyInjection/Container.php | 36 +- .../Dumper/OptimizedPhpArrayDumper.php | 47 +- .../Dumper/PhpArrayDumper.php | 2 +- .../DependencyInjection/PhpArrayContainer.php | 20 +- web/core/lib/Drupal/Component/Diff/Diff.php | 6 +- .../Drupal/Component/Diff/DiffFormatter.php | 12 +- .../Component/Diff/Engine/DiffEngine.php | 28 +- .../Diff/Engine/HWLDFWordAccumulator.php | 2 +- .../Drupal/Component/Diff/WordLevelDiff.php | 6 +- .../Discovery/YamlDirectoryDiscovery.php | 2 +- .../Component/Discovery/YamlDiscovery.php | 6 +- .../ContainerAwareEventDispatcher.php | 10 +- .../Component/FileSystem/FileSystem.php | 2 +- .../lib/Drupal/Component/Gettext/PoHeader.php | 32 +- .../lib/Drupal/Component/Gettext/PoItem.php | 26 +- .../Component/Gettext/PoMemoryWriter.php | 12 +- .../Component/Gettext/PoMetadataInterface.php | 2 +- .../Component/Gettext/PoStreamReader.php | 22 +- web/core/lib/Drupal/Component/Graph/Graph.php | 12 +- .../PhpStorage/FileReadOnlyStorage.php | 4 +- .../Component/PhpStorage/FileStorage.php | 12 +- .../MTimeProtectedFastFileStorage.php | 6 +- .../Component/Plugin/Context/Context.php | 2 +- .../Plugin/ContextAwarePluginBase.php | 4 +- .../Plugin/ContextAwarePluginInterface.php | 4 +- .../DerivablePluginDefinitionInterface.php | 31 + .../Plugin/Definition/PluginDefinition.php | 60 + .../Definition/PluginDefinitionInterface.php | 19 + .../Plugin/Derivative/DeriverBase.php | 2 +- .../DerivativeDiscoveryDecorator.php | 26 +- .../Plugin/Discovery/StaticDiscovery.php | 2 +- .../Discovery/StaticDiscoveryDecorator.php | 2 +- .../Plugin/Factory/DefaultFactory.php | 2 +- .../Plugin/Factory/FactoryInterface.php | 2 +- .../Plugin/Factory/ReflectionFactory.php | 4 +- .../Plugin/FallbackPluginManagerInterface.php | 2 +- .../Component/Plugin/LazyPluginCollection.php | 6 +- .../Component/Plugin/PluginManagerBase.php | 2 +- .../Transliteration/PhpTransliteration.php | 12 +- .../Component/Transliteration/data/de.php | 4 +- .../Component/Transliteration/data/dk.php | 4 +- .../Component/Transliteration/data/eo.php | 4 +- .../Component/Transliteration/data/kg.php | 4 +- .../Component/Transliteration/data/x00.php | 4 +- .../Component/Transliteration/data/x01.php | 4 +- .../Component/Transliteration/data/x02.php | 4 +- .../Component/Transliteration/data/x03.php | 4 +- .../Component/Transliteration/data/x04.php | 4 +- .../Component/Transliteration/data/x05.php | 4 +- .../Component/Transliteration/data/x06.php | 4 +- .../Component/Transliteration/data/x07.php | 4 +- .../Component/Transliteration/data/x09.php | 4 +- .../Component/Transliteration/data/x0a.php | 4 +- .../Component/Transliteration/data/x0b.php | 4 +- .../Component/Transliteration/data/x0c.php | 4 +- .../Component/Transliteration/data/x0d.php | 4 +- .../Component/Transliteration/data/x0e.php | 4 +- .../Component/Transliteration/data/x0f.php | 4 +- .../Component/Transliteration/data/x10.php | 4 +- .../Component/Transliteration/data/x11.php | 4 +- .../Component/Transliteration/data/x12.php | 4 +- .../Component/Transliteration/data/x13.php | 4 +- .../Component/Transliteration/data/x14.php | 4 +- .../Component/Transliteration/data/x15.php | 4 +- .../Component/Transliteration/data/x16.php | 4 +- .../Component/Transliteration/data/x17.php | 4 +- .../Component/Transliteration/data/x18.php | 4 +- .../Component/Transliteration/data/x1d.php | 4 +- .../Component/Transliteration/data/x1e.php | 4 +- .../Component/Transliteration/data/x1f.php | 4 +- .../Component/Transliteration/data/x20.php | 4 +- .../Component/Transliteration/data/x21.php | 4 +- .../Component/Transliteration/data/x22.php | 4 +- .../Component/Transliteration/data/x23.php | 4 +- .../Component/Transliteration/data/x24.php | 4 +- .../Component/Transliteration/data/x25.php | 4 +- .../Component/Transliteration/data/x26.php | 4 +- .../Component/Transliteration/data/x27.php | 4 +- .../Component/Transliteration/data/x28.php | 4 +- .../Component/Transliteration/data/x29.php | 4 +- .../Component/Transliteration/data/x2a.php | 4 +- .../Component/Transliteration/data/x2e.php | 4 +- .../Component/Transliteration/data/x2f.php | 4 +- .../Component/Transliteration/data/x30.php | 4 +- .../Component/Transliteration/data/x31.php | 4 +- .../Component/Transliteration/data/x32.php | 4 +- .../Component/Transliteration/data/x33.php | 4 +- .../Component/Transliteration/data/x34.php | 4 +- .../Component/Transliteration/data/x35.php | 4 +- .../Component/Transliteration/data/x36.php | 4 +- .../Component/Transliteration/data/x37.php | 4 +- .../Component/Transliteration/data/x38.php | 4 +- .../Component/Transliteration/data/x39.php | 4 +- .../Component/Transliteration/data/x3a.php | 4 +- .../Component/Transliteration/data/x3b.php | 4 +- .../Component/Transliteration/data/x3c.php | 4 +- .../Component/Transliteration/data/x3d.php | 4 +- .../Component/Transliteration/data/x3e.php | 4 +- .../Component/Transliteration/data/x3f.php | 4 +- .../Component/Transliteration/data/x40.php | 4 +- .../Component/Transliteration/data/x41.php | 4 +- .../Component/Transliteration/data/x42.php | 4 +- .../Component/Transliteration/data/x43.php | 4 +- .../Component/Transliteration/data/x44.php | 4 +- .../Component/Transliteration/data/x45.php | 4 +- .../Component/Transliteration/data/x46.php | 4 +- .../Component/Transliteration/data/x47.php | 4 +- .../Component/Transliteration/data/x48.php | 4 +- .../Component/Transliteration/data/x49.php | 4 +- .../Component/Transliteration/data/x4a.php | 4 +- .../Component/Transliteration/data/x4b.php | 4 +- .../Component/Transliteration/data/x4c.php | 4 +- .../Component/Transliteration/data/x4d.php | 4 +- .../Component/Transliteration/data/x4e.php | 4 +- .../Component/Transliteration/data/x4f.php | 4 +- .../Component/Transliteration/data/x50.php | 4 +- .../Component/Transliteration/data/x51.php | 4 +- .../Component/Transliteration/data/x52.php | 4 +- .../Component/Transliteration/data/x53.php | 4 +- .../Component/Transliteration/data/x54.php | 4 +- .../Component/Transliteration/data/x55.php | 4 +- .../Component/Transliteration/data/x56.php | 4 +- .../Component/Transliteration/data/x57.php | 4 +- .../Component/Transliteration/data/x58.php | 4 +- .../Component/Transliteration/data/x59.php | 4 +- .../Component/Transliteration/data/x5a.php | 4 +- .../Component/Transliteration/data/x5b.php | 4 +- .../Component/Transliteration/data/x5c.php | 4 +- .../Component/Transliteration/data/x5d.php | 4 +- .../Component/Transliteration/data/x5e.php | 4 +- .../Component/Transliteration/data/x5f.php | 4 +- .../Component/Transliteration/data/x60.php | 4 +- .../Component/Transliteration/data/x61.php | 4 +- .../Component/Transliteration/data/x62.php | 4 +- .../Component/Transliteration/data/x63.php | 4 +- .../Component/Transliteration/data/x64.php | 4 +- .../Component/Transliteration/data/x65.php | 4 +- .../Component/Transliteration/data/x66.php | 4 +- .../Component/Transliteration/data/x67.php | 4 +- .../Component/Transliteration/data/x68.php | 4 +- .../Component/Transliteration/data/x69.php | 4 +- .../Component/Transliteration/data/x6a.php | 4 +- .../Component/Transliteration/data/x6b.php | 4 +- .../Component/Transliteration/data/x6c.php | 4 +- .../Component/Transliteration/data/x6d.php | 4 +- .../Component/Transliteration/data/x6e.php | 4 +- .../Component/Transliteration/data/x6f.php | 4 +- .../Component/Transliteration/data/x70.php | 4 +- .../Component/Transliteration/data/x71.php | 4 +- .../Component/Transliteration/data/x72.php | 4 +- .../Component/Transliteration/data/x73.php | 4 +- .../Component/Transliteration/data/x74.php | 4 +- .../Component/Transliteration/data/x75.php | 4 +- .../Component/Transliteration/data/x76.php | 4 +- .../Component/Transliteration/data/x77.php | 4 +- .../Component/Transliteration/data/x78.php | 4 +- .../Component/Transliteration/data/x79.php | 4 +- .../Component/Transliteration/data/x7a.php | 4 +- .../Component/Transliteration/data/x7b.php | 4 +- .../Component/Transliteration/data/x7c.php | 4 +- .../Component/Transliteration/data/x7d.php | 4 +- .../Component/Transliteration/data/x7e.php | 4 +- .../Component/Transliteration/data/x7f.php | 4 +- .../Component/Transliteration/data/x80.php | 4 +- .../Component/Transliteration/data/x81.php | 4 +- .../Component/Transliteration/data/x82.php | 4 +- .../Component/Transliteration/data/x83.php | 4 +- .../Component/Transliteration/data/x84.php | 4 +- .../Component/Transliteration/data/x85.php | 4 +- .../Component/Transliteration/data/x86.php | 4 +- .../Component/Transliteration/data/x87.php | 4 +- .../Component/Transliteration/data/x88.php | 4 +- .../Component/Transliteration/data/x89.php | 4 +- .../Component/Transliteration/data/x8a.php | 4 +- .../Component/Transliteration/data/x8b.php | 4 +- .../Component/Transliteration/data/x8c.php | 4 +- .../Component/Transliteration/data/x8d.php | 4 +- .../Component/Transliteration/data/x8e.php | 4 +- .../Component/Transliteration/data/x8f.php | 4 +- .../Component/Transliteration/data/x90.php | 4 +- .../Component/Transliteration/data/x91.php | 4 +- .../Component/Transliteration/data/x92.php | 4 +- .../Component/Transliteration/data/x93.php | 4 +- .../Component/Transliteration/data/x94.php | 4 +- .../Component/Transliteration/data/x95.php | 4 +- .../Component/Transliteration/data/x96.php | 4 +- .../Component/Transliteration/data/x97.php | 4 +- .../Component/Transliteration/data/x98.php | 4 +- .../Component/Transliteration/data/x99.php | 4 +- .../Component/Transliteration/data/x9a.php | 4 +- .../Component/Transliteration/data/x9b.php | 4 +- .../Component/Transliteration/data/x9c.php | 4 +- .../Component/Transliteration/data/x9d.php | 4 +- .../Component/Transliteration/data/x9e.php | 4 +- .../Component/Transliteration/data/x9f.php | 4 +- .../Component/Transliteration/data/xa0.php | 4 +- .../Component/Transliteration/data/xa1.php | 4 +- .../Component/Transliteration/data/xa2.php | 4 +- .../Component/Transliteration/data/xa3.php | 4 +- .../Component/Transliteration/data/xa4.php | 4 +- .../Component/Transliteration/data/xac.php | 4 +- .../Component/Transliteration/data/xad.php | 4 +- .../Component/Transliteration/data/xae.php | 4 +- .../Component/Transliteration/data/xaf.php | 4 +- .../Component/Transliteration/data/xb0.php | 4 +- .../Component/Transliteration/data/xb1.php | 4 +- .../Component/Transliteration/data/xb2.php | 4 +- .../Component/Transliteration/data/xb3.php | 4 +- .../Component/Transliteration/data/xb4.php | 4 +- .../Component/Transliteration/data/xb5.php | 4 +- .../Component/Transliteration/data/xb6.php | 4 +- .../Component/Transliteration/data/xb7.php | 4 +- .../Component/Transliteration/data/xb8.php | 4 +- .../Component/Transliteration/data/xb9.php | 4 +- .../Component/Transliteration/data/xba.php | 4 +- .../Component/Transliteration/data/xbb.php | 4 +- .../Component/Transliteration/data/xbc.php | 4 +- .../Component/Transliteration/data/xbd.php | 4 +- .../Component/Transliteration/data/xbe.php | 4 +- .../Component/Transliteration/data/xbf.php | 4 +- .../Component/Transliteration/data/xc0.php | 4 +- .../Component/Transliteration/data/xc1.php | 4 +- .../Component/Transliteration/data/xc2.php | 4 +- .../Component/Transliteration/data/xc3.php | 4 +- .../Component/Transliteration/data/xc4.php | 4 +- .../Component/Transliteration/data/xc5.php | 4 +- .../Component/Transliteration/data/xc6.php | 4 +- .../Component/Transliteration/data/xc7.php | 4 +- .../Component/Transliteration/data/xc8.php | 4 +- .../Component/Transliteration/data/xc9.php | 4 +- .../Component/Transliteration/data/xca.php | 4 +- .../Component/Transliteration/data/xcb.php | 4 +- .../Component/Transliteration/data/xcc.php | 4 +- .../Component/Transliteration/data/xcd.php | 4 +- .../Component/Transliteration/data/xce.php | 4 +- .../Component/Transliteration/data/xcf.php | 4 +- .../Component/Transliteration/data/xd0.php | 4 +- .../Component/Transliteration/data/xd1.php | 4 +- .../Component/Transliteration/data/xd2.php | 4 +- .../Component/Transliteration/data/xd3.php | 4 +- .../Component/Transliteration/data/xd4.php | 4 +- .../Component/Transliteration/data/xd5.php | 4 +- .../Component/Transliteration/data/xd6.php | 4 +- .../Component/Transliteration/data/xd7.php | 4 +- .../Component/Transliteration/data/xf9.php | 4 +- .../Component/Transliteration/data/xfa.php | 4 +- .../Component/Transliteration/data/xfb.php | 4 +- .../Component/Transliteration/data/xfc.php | 4 +- .../Component/Transliteration/data/xfd.php | 4 +- .../Component/Transliteration/data/xfe.php | 4 +- .../Component/Transliteration/data/xff.php | 4 +- .../Component/Utility/ArgumentsResolver.php | 2 +- .../lib/Drupal/Component/Utility/Color.php | 4 +- .../lib/Drupal/Component/Utility/Crypt.php | 41 +- .../Drupal/Component/Utility/DiffArray.php | 2 +- .../lib/Drupal/Component/Utility/Html.php | 14 +- .../Drupal/Component/Utility/NestedArray.php | 6 +- .../lib/Drupal/Component/Utility/Random.php | 14 +- .../lib/Drupal/Component/Utility/Tags.php | 4 +- .../lib/Drupal/Component/Utility/Timer.php | 2 +- .../lib/Drupal/Component/Utility/Unicode.php | 8 +- .../Drupal/Component/Utility/UrlHelper.php | 16 +- .../Drupal/Component/Utility/UserAgent.php | 4 +- .../lib/Drupal/Component/Utility/Variable.php | 2 +- web/core/lib/Drupal/Component/Utility/Xss.php | 10 +- .../Drupal/Component/Utility/composer.json | 2 +- .../lib/Drupal/Core/Access/AccessManager.php | 8 +- .../Core/Access/AccessManagerInterface.php | 2 +- .../lib/Drupal/Core/Access/AccessResult.php | 65 +- .../Core/Access/AccessResultNeutral.php | 34 +- .../lib/Drupal/Core/Access/CheckProvider.php | 14 +- .../Core/Access/CheckProviderInterface.php | 2 +- .../Drupal/Core/Access/CsrfAccessCheck.php | 2 +- .../Access/CsrfRequestHeaderAccessCheck.php | 4 +- .../Drupal/Core/Access/RouteProcessorCsrf.php | 5 +- .../Core/Action/ConfigurableActionBase.php | 4 +- .../lib/Drupal/Core/Ajax/AddCssCommand.php | 4 +- .../lib/Drupal/Core/Ajax/AfterCommand.php | 4 +- .../lib/Drupal/Core/Ajax/AjaxResponse.php | 2 +- .../Ajax/AjaxResponseAttachmentsProcessor.php | 2 +- .../lib/Drupal/Core/Ajax/AlertCommand.php | 4 +- .../lib/Drupal/Core/Ajax/AppendCommand.php | 4 +- web/core/lib/Drupal/Core/Ajax/BaseCommand.php | 4 +- .../lib/Drupal/Core/Ajax/BeforeCommand.php | 4 +- .../lib/Drupal/Core/Ajax/ChangedCommand.php | 4 +- .../Drupal/Core/Ajax/CloseDialogCommand.php | 4 +- web/core/lib/Drupal/Core/Ajax/CssCommand.php | 8 +- web/core/lib/Drupal/Core/Ajax/DataCommand.php | 4 +- web/core/lib/Drupal/Core/Ajax/HtmlCommand.php | 4 +- .../lib/Drupal/Core/Ajax/InsertCommand.php | 4 +- .../lib/Drupal/Core/Ajax/InvokeCommand.php | 6 +- .../Drupal/Core/Ajax/OpenDialogCommand.php | 8 +- .../Core/Ajax/OpenModalDialogCommand.php | 2 +- .../lib/Drupal/Core/Ajax/PrependCommand.php | 4 +- .../lib/Drupal/Core/Ajax/RedirectCommand.php | 4 +- .../lib/Drupal/Core/Ajax/RemoveCommand.php | 4 +- .../lib/Drupal/Core/Ajax/ReplaceCommand.php | 4 +- .../lib/Drupal/Core/Ajax/RestripeCommand.php | 4 +- .../Core/Ajax/SetDialogOptionCommand.php | 4 +- .../lib/Drupal/Core/Ajax/SettingsCommand.php | 4 +- .../Core/Annotation/ContextDefinition.php | 4 +- .../Drupal/Core/Annotation/Translation.php | 8 +- .../Core/Archiver/ArchiverInterface.php | 2 +- .../Drupal/Core/Archiver/ArchiverManager.php | 2 +- web/core/lib/Drupal/Core/Archiver/Tar.php | 4 +- web/core/lib/Drupal/Core/Archiver/Zip.php | 6 +- .../Core/Asset/CssCollectionGrouper.php | 6 +- .../Core/Asset/CssCollectionOptimizer.php | 8 +- .../Core/Asset/CssCollectionRenderer.php | 18 +- .../lib/Drupal/Core/Asset/CssOptimizer.php | 14 +- .../Drupal/Core/Asset/JsCollectionGrouper.php | 6 +- .../Core/Asset/JsCollectionOptimizer.php | 8 +- .../Core/Asset/JsCollectionRenderer.php | 10 +- .../Core/Asset/LibraryDiscoveryParser.php | 12 +- .../lib/Drupal/Core/Batch/BatchStorage.php | 10 +- web/core/lib/Drupal/Core/Block/BlockBase.php | 33 +- .../lib/Drupal/Core/Block/BlockManager.php | 2 +- .../Core/Block/BlockPluginInterface.php | 7 +- .../Core/Breadcrumb/BreadcrumbManager.php | 6 +- .../lib/Drupal/Core/Cache/ApcuBackend.php | 16 +- .../lib/Drupal/Core/Cache/BackendChain.php | 6 +- web/core/lib/Drupal/Core/Cache/Cache.php | 4 +- .../Core/Cache/CacheBackendInterface.php | 2 +- .../lib/Drupal/Core/Cache/CacheCollector.php | 20 +- .../lib/Drupal/Core/Cache/CacheFactory.php | 2 +- .../Core/Cache/CacheTagsInvalidator.php | 4 +- .../Drupal/Core/Cache/ChainedFastBackend.php | 12 +- .../Core/Cache/ChainedFastBackendFactory.php | 2 +- .../Cache/Context/CacheContextsManager.php | 2 +- .../Cache/Context/IsFrontPathCacheContext.php | 52 + .../Cache/Context/LanguagesCacheContext.php | 2 +- .../lib/Drupal/Core/Cache/DatabaseBackend.php | 84 +- .../Core/Cache/DatabaseBackendFactory.php | 4 +- .../Core/Cache/DatabaseCacheTagsChecksum.php | 32 +- .../Drupal/Core/Cache/ListCacheBinsPass.php | 4 +- .../lib/Drupal/Core/Cache/MemoryBackend.php | 34 +- .../Core/Cache/MemoryBackendFactory.php | 6 +- .../Core/Cache/MemoryCounterBackend.php | 8 +- .../lib/Drupal/Core/Cache/NullBackend.php | 6 +- .../Drupal/Core/Cache/NullBackendFactory.php | 2 +- web/core/lib/Drupal/Core/Cache/PhpBackend.php | 14 +- .../Drupal/Core/Cache/PhpBackendFactory.php | 2 +- .../lib/Drupal/Core/Composer/Composer.php | 32 +- .../Core/Condition/Annotation/Condition.php | 2 +- .../Core/Condition/ConditionManager.php | 2 +- .../Core/Condition/ConditionPluginBase.php | 14 +- .../Condition/ConditionPluginCollection.php | 4 +- .../lib/Drupal/Core/Config/CachedStorage.php | 16 +- web/core/lib/Drupal/Core/Config/Config.php | 10 +- .../lib/Drupal/Core/Config/ConfigBase.php | 4 +- .../Core/Config/ConfigCollectionInfo.php | 2 +- .../lib/Drupal/Core/Config/ConfigFactory.php | 26 +- .../Core/Config/ConfigFactoryOverrideBase.php | 10 +- ...onfigImportValidateEventSubscriberBase.php | 4 +- .../lib/Drupal/Core/Config/ConfigImporter.php | 90 +- .../Drupal/Core/Config/ConfigInstaller.php | 99 +- .../lib/Drupal/Core/Config/ConfigManager.php | 34 +- .../Config/ConfigModuleOverridesEvent.php | 6 +- .../Drupal/Core/Config/DatabaseStorage.php | 60 +- .../Development/ConfigSchemaChecker.php | 108 + .../ConfigDependencyDeleteFormTrait.php | 24 +- .../Config/Entity/ConfigDependencyManager.php | 10 +- .../Core/Config/Entity/ConfigEntityBase.php | 8 +- .../Config/Entity/ConfigEntityBundleBase.php | 2 +- .../Config/Entity/ConfigEntityDependency.php | 2 +- .../Config/Entity/ConfigEntityListBuilder.php | 10 +- .../Config/Entity/ConfigEntityStorage.php | 18 +- .../Core/Config/Entity/ConfigEntityType.php | 4 +- .../Config/Entity/DraggableListBuilder.php | 34 +- .../Core/Config/Entity/Query/Condition.php | 10 +- .../Drupal/Core/Config/Entity/Query/Query.php | 6 +- .../Core/Config/Entity/Query/QueryFactory.php | 8 +- .../Core/Config/ExtensionInstallStorage.php | 36 +- .../lib/Drupal/Core/Config/FileStorage.php | 8 +- .../Drupal/Core/Config/FileStorageFactory.php | 4 +- .../FinalMissingContentSubscriber.php | 2 +- .../lib/Drupal/Core/Config/InstallStorage.php | 10 +- .../lib/Drupal/Core/Config/NullStorage.php | 8 +- .../Config/PreExistingConfigException.php | 6 +- .../Core/Config/Schema/ArrayElement.php | 6 +- .../Config/Schema/ConfigSchemaDiscovery.php | 4 +- .../lib/Drupal/Core/Config/Schema/Mapping.php | 2 +- .../Core/Config/Schema/SchemaCheckTrait.php | 12 +- .../Drupal/Core/Config/Schema/Sequence.php | 2 +- .../Drupal/Core/Config/StorableConfigBase.php | 2 +- .../Drupal/Core/Config/StorageComparer.php | 40 +- .../Config/Testing/ConfigSchemaChecker.php | 98 +- .../Drupal/Core/Config/TypedConfigManager.php | 23 +- .../Config/UnmetDependenciesException.php | 59 +- .../Drupal/Core/Controller/ControllerBase.php | 2 +- .../Core/Controller/ControllerResolver.php | 4 +- .../Drupal/Core/Controller/TitleResolver.php | 4 +- web/core/lib/Drupal/Core/Cron.php | 11 +- .../lib/Drupal/Core/Database/Connection.php | 116 +- .../lib/Drupal/Core/Database/Database.php | 24 +- .../DatabaseAccessDeniedException.php | 8 + .../Database/DatabaseNotFoundException.php | 2 +- .../Core/Database/Driver/mysql/Connection.php | 59 +- .../Core/Database/Driver/mysql/Insert.php | 4 +- .../Database/Driver/mysql/Install/Tasks.php | 18 +- .../Core/Database/Driver/mysql/Schema.php | 70 +- .../Core/Database/Driver/pgsql/Connection.php | 83 +- .../Core/Database/Driver/pgsql/Insert.php | 10 +- .../Database/Driver/pgsql/Install/Tasks.php | 47 +- .../Database/Driver/pgsql/NativeUpsert.php | 2 +- .../Core/Database/Driver/pgsql/Schema.php | 166 +- .../Core/Database/Driver/pgsql/Select.php | 6 +- .../Core/Database/Driver/pgsql/Update.php | 4 +- .../Core/Database/Driver/pgsql/Upsert.php | 8 +- .../Database/Driver/sqlite/Connection.php | 103 +- .../Core/Database/Driver/sqlite/Insert.php | 4 +- .../Database/Driver/sqlite/Install/Tasks.php | 6 +- .../Core/Database/Driver/sqlite/Schema.php | 98 +- .../Core/Database/Driver/sqlite/Statement.php | 8 +- .../Drupal/Core/Database/Install/Tasks.php | 122 +- web/core/lib/Drupal/Core/Database/Log.php | 14 +- .../Drupal/Core/Database/Query/Condition.php | 269 +- .../Database/Query/ConditionInterface.php | 72 +- .../lib/Drupal/Core/Database/Query/Delete.php | 4 +- .../lib/Drupal/Core/Database/Query/Insert.php | 8 +- .../Core/Database/Query/InsertTrait.php | 12 +- .../lib/Drupal/Core/Database/Query/Merge.php | 30 +- .../lib/Drupal/Core/Database/Query/Query.php | 2 +- .../Database/Query/QueryConditionTrait.php | 2 +- .../lib/Drupal/Core/Database/Query/Select.php | 58 +- .../Core/Database/Query/SelectExtender.php | 28 +- .../Core/Database/Query/SelectInterface.php | 16 +- .../Core/Database/Query/TableSortExtender.php | 2 +- .../Drupal/Core/Database/Query/Truncate.php | 4 +- .../lib/Drupal/Core/Database/Query/Update.php | 16 +- .../lib/Drupal/Core/Database/Query/Upsert.php | 4 +- web/core/lib/Drupal/Core/Database/Schema.php | 16 +- .../lib/Drupal/Core/Database/Statement.php | 8 +- .../Drupal/Core/Database/StatementEmpty.php | 12 +- .../Core/Database/StatementInterface.php | 6 +- .../Core/Database/StatementPrefetch.php | 40 +- .../lib/Drupal/Core/Database/Transaction.php | 6 +- .../TransactionOutOfOrderException.php | 2 +- .../lib/Drupal/Core/Database/database.api.php | 60 +- .../Drupal/Core/Datetime/DateFormatter.php | 62 +- .../Core/Datetime/DateFormatterInterface.php | 6 +- .../lib/Drupal/Core/Datetime/DateHelper.php | 164 +- .../Drupal/Core/Datetime/DrupalDateTime.php | 10 +- .../Core/Datetime/Element/DateElementBase.php | 2 +- .../Drupal/Core/Datetime/Element/Datelist.php | 36 +- .../Drupal/Core/Datetime/Element/Datetime.php | 72 +- .../FieldWidget/TimestampDatetimeWidget.php | 6 +- .../Compiler/RegisterAccessChecksPass.php | 4 +- .../RegisterServicesForDestructionPass.php | 2 +- .../Compiler/RegisterStreamWrappersPass.php | 2 +- .../Compiler/TaggedHandlersPass.php | 11 +- .../Compiler/TwigExtensionPass.php | 3 +- .../DependencySerializationTrait.php | 6 +- .../lib/Drupal/Core/Diff/DiffFormatter.php | 52 +- .../lib/Drupal/Core/Display/VariantBase.php | 12 +- web/core/lib/Drupal/Core/DrupalKernel.php | 154 +- .../lib/Drupal/Core/DrupalKernelInterface.php | 2 +- .../Entity/Annotation/ConfigEntityType.php | 2 +- .../Entity/Annotation/ContentEntityType.php | 2 +- .../Annotation/EntityReferenceSelection.php | 2 +- .../Drupal/Core/Entity/ContentEntityBase.php | 284 +- .../Entity/ContentEntityConfirmFormBase.php | 18 +- .../Core/Entity/ContentEntityDeleteForm.php | 10 +- .../Drupal/Core/Entity/ContentEntityForm.php | 181 +- .../Entity/ContentEntityFormInterface.php | 2 +- .../Core/Entity/ContentEntityInterface.php | 24 +- .../Core/Entity/ContentEntityNullStorage.php | 8 +- .../Core/Entity/ContentEntityStorageBase.php | 83 +- .../Drupal/Core/Entity/ContentEntityType.php | 4 +- .../Entity/Controller/EntityController.php | 3 +- .../Drupal/Core/Entity/DependencyTrait.php | 6 +- .../Entity/Display/EntityDisplayInterface.php | 2 +- .../Entity/Element/EntityAutocomplete.php | 40 +- web/core/lib/Drupal/Core/Entity/Entity.php | 14 +- .../Core/Entity/Entity/EntityFormDisplay.php | 30 +- .../Core/Entity/Entity/EntityViewDisplay.php | 46 +- .../Drupal/Core/Entity/EntityAccessCheck.php | 20 +- .../Entity/EntityAccessControlHandler.php | 22 +- .../EntityAccessControlHandlerInterface.php | 2 +- .../Core/Entity/EntityAutocompleteMatcher.php | 8 +- .../Core/Entity/EntityConfirmFormBase.php | 18 +- .../Entity/EntityConstraintViolationList.php | 4 +- .../Entity/EntityDefinitionUpdateManager.php | 6 +- .../Core/Entity/EntityDeleteFormTrait.php | 12 +- .../Drupal/Core/Entity/EntityDisplayBase.php | 74 +- .../Core/Entity/EntityDisplayRepository.php | 4 +- .../Drupal/Core/Entity/EntityFieldManager.php | 4 +- .../lib/Drupal/Core/Entity/EntityForm.php | 24 +- .../Drupal/Core/Entity/EntityFormBuilder.php | 2 +- .../Entity/EntityFormBuilderInterface.php | 2 +- .../Drupal/Core/Entity/EntityInterface.php | 8 +- .../Drupal/Core/Entity/EntityListBuilder.php | 28 +- .../lib/Drupal/Core/Entity/EntityManager.php | 2 +- .../Core/Entity/EntityPublishedInterface.php | 41 + .../Core/Entity/EntityPublishedTrait.php | 78 + .../SelectionPluginManager.php | 18 +- .../Drupal/Core/Entity/EntityRepository.php | 4 +- .../Core/Entity/EntityRepositoryInterface.php | 2 +- .../Core/Entity/EntityResolverManager.php | 22 +- .../Drupal/Core/Entity/EntityStorageBase.php | 26 +- .../Core/Entity/EntityStorageInterface.php | 4 +- .../lib/Drupal/Core/Entity/EntityType.php | 113 +- .../Entity/EntityTypeEventSubscriberTrait.php | 2 +- .../Core/Entity/EntityTypeInterface.php | 78 +- .../Drupal/Core/Entity/EntityTypeListener.php | 2 +- .../Entity/EntityTypeManagerInterface.php | 4 +- .../Core/Entity/EntityTypeRepository.php | 4 +- .../Drupal/Core/Entity/EntityViewBuilder.php | 59 +- .../Entity/EntityViewBuilderInterface.php | 6 +- .../Event/BundleConfigImportValidate.php | 2 +- ...supportedEntityTypeDefinitionException.php | 8 + .../KeyValueStore/KeyValueEntityStorage.php | 4 +- .../Plugin/DataType/Deriver/EntityDeriver.php | 10 +- .../Entity/Plugin/DataType/EntityAdapter.php | 2 +- .../Derivative/DefaultSelectionDeriver.php | 4 +- .../EntityReferenceSelection/Broken.php | 8 +- .../DefaultSelection.php | 75 +- .../Constraint/BundleConstraint.php | 4 +- .../Constraint/BundleConstraintValidator.php | 2 +- .../Constraint/EntityTypeConstraint.php | 2 +- .../EntityTypeConstraintValidator.php | 2 +- .../ReferenceAccessConstraintValidator.php | 2 +- .../Entity/Query/ConditionAggregateBase.php | 4 +- .../Query/ConditionAggregateInterface.php | 2 +- .../Core/Entity/Query/ConditionBase.php | 4 +- .../Entity/Query/ConditionFundamentals.php | 4 +- .../Core/Entity/Query/ConditionInterface.php | 2 +- .../Entity/Query/QueryAggregateInterface.php | 2 +- .../Drupal/Core/Entity/Query/QueryBase.php | 42 +- .../Drupal/Core/Entity/Query/QueryFactory.php | 5 +- .../Core/Entity/Query/QueryInterface.php | 2 +- .../Entity/Query/Sql/ConditionAggregate.php | 2 +- .../Drupal/Core/Entity/Query/Sql/Query.php | 22 +- .../Core/Entity/Query/Sql/QueryAggregate.php | 10 +- .../Drupal/Core/Entity/Query/Sql/Tables.php | 43 +- .../RevisionableEntityBundleInterface.php | 20 + .../Entity/Routing/AdminHtmlRouteProvider.php | 2 - .../Routing/DefaultHtmlRouteProvider.php | 13 +- .../Core/Entity/Sql/DefaultTableMapping.php | 26 +- .../Entity/Sql/SqlContentEntityStorage.php | 108 +- .../Sql/SqlContentEntityStorageSchema.php | 247 +- .../Entity/TypedData/EntityDataDefinition.php | 10 +- .../lib/Drupal/Core/Entity/entity.api.php | 97 +- .../EventSubscriber/AcceptNegotiation406.php | 2 +- .../ActiveLinkResponseFilter.php | 2 +- .../AjaxResponseSubscriber.php | 4 +- .../AuthenticationSubscriber.php | 2 +- .../CacheRouterRebuildSubscriber.php | 4 +- .../ConfigImportSubscriber.php | 51 +- .../ConfigSnapshotSubscriber.php | 4 +- .../EnforcedFormResponseSubscriber.php | 4 +- .../EntityRouteAlterSubscriber.php | 4 +- .../ExceptionDetectNeedsInstallSubscriber.php | 65 + .../ExceptionJsonSubscriber.php | 64 +- .../ExceptionTestSiteSubscriber.php | 10 +- .../FinishResponseSubscriber.php | 20 +- .../HttpExceptionSubscriberBase.php | 16 +- .../KernelDestructionSubscriber.php | 9 +- .../MainContentViewSubscriber.php | 2 +- .../MaintenanceModeSubscriber.php | 12 +- .../MenuRouterRebuildSubscriber.php | 8 +- .../ParamConverterSubscriber.php | 4 +- .../EventSubscriber/PathRootsSubscriber.php | 6 +- .../Core/EventSubscriber/PathSubscriber.php | 6 +- .../RedirectLeadingSlashesSubscriber.php | 2 +- .../RedirectResponseSubscriber.php | 6 +- .../ReplicaDatabaseIgnoreSubscriber.php | 4 +- .../RequestCloseSubscriber.php | 6 +- .../RouteEnhancerSubscriber.php | 4 +- .../EventSubscriber/RouteFilterSubscriber.php | 4 +- .../EventSubscriber/RouteMethodSubscriber.php | 6 +- .../SpecialAttributesRouteSubscriber.php | 4 +- .../Core/Executable/ExecutablePluginBase.php | 4 +- .../RecursiveExtensionFilterIterator.php | 8 +- .../lib/Drupal/Core/Extension/Extension.php | 6 +- .../Core/Extension/ExtensionDiscovery.php | 38 +- .../lib/Drupal/Core/Extension/InfoParser.php | 2 +- .../Core/Extension/InfoParserDynamic.php | 4 +- .../Drupal/Core/Extension/ModuleHandler.php | 40 +- .../Core/Extension/ModuleHandlerInterface.php | 6 +- .../Drupal/Core/Extension/ModuleInstaller.php | 36 +- .../Drupal/Core/Extension/ThemeHandler.php | 40 +- .../Core/Extension/ThemeHandlerInterface.php | 3 + .../Drupal/Core/Extension/ThemeInstaller.php | 22 +- .../lib/Drupal/Core/Extension/module.api.php | 78 +- .../Drupal/Core/Field/AllowedTagsXssTrait.php | 2 +- .../Core/Field/Annotation/FieldFormatter.php | 2 +- .../Core/Field/Annotation/FieldWidget.php | 2 +- .../Drupal/Core/Field/BaseFieldDefinition.php | 56 +- .../Field/EntityReferenceFieldItemList.php | 10 +- .../lib/Drupal/Core/Field/FieldConfigBase.php | 10 +- .../Core/Field/FieldDefinitionInterface.php | 9 +- .../lib/Drupal/Core/Field/FieldItemBase.php | 14 +- .../Drupal/Core/Field/FieldItemInterface.php | 2 +- .../lib/Drupal/Core/Field/FieldItemList.php | 18 +- .../Core/Field/FieldItemListInterface.php | 2 +- .../Field/FieldModuleUninstallValidator.php | 9 +- ...dStorageDefinitionEventSubscriberTrait.php | 2 +- .../Core/Field/FieldTypePluginManager.php | 6 +- .../lib/Drupal/Core/Field/FormatterBase.php | 10 +- .../Core/Field/FormatterPluginManager.php | 22 +- .../DataType/Deriver/FieldItemDeriver.php | 2 +- .../Field/FieldFormatter/BooleanFormatter.php | 4 +- .../Field/FieldFormatter/DecimalFormatter.php | 16 +- .../EntityReferenceEntityFormatter.php | 16 +- .../EntityReferenceFormatterBase.php | 10 +- .../EntityReferenceIdFormatter.php | 10 +- .../EntityReferenceLabelFormatter.php | 24 +- .../Field/FieldFormatter/IntegerFormatter.php | 4 +- .../FieldFormatter/LanguageFormatter.php | 4 +- .../Field/FieldFormatter/MailToFormatter.php | 6 +- .../FieldFormatter/NumericFormatterBase.php | 24 +- .../NumericUnformattedFormatter.php | 4 +- .../Field/FieldFormatter/StringFormatter.php | 2 +- .../FieldFormatter/TimestampAgoFormatter.php | 22 +- .../FieldFormatter/TimestampFormatter.php | 36 +- .../Field/FieldFormatter/UriLinkFormatter.php | 2 +- .../Plugin/Field/FieldType/BooleanItem.php | 34 +- .../Plugin/Field/FieldType/ChangedItem.php | 2 +- .../Plugin/Field/FieldType/CreatedItem.php | 4 +- .../Plugin/Field/FieldType/DecimalItem.php | 40 +- .../Plugin/Field/FieldType/EmailItem.php | 26 +- .../Field/FieldType/EntityReferenceItem.php | 114 +- .../Plugin/Field/FieldType/FloatItem.php | 12 +- .../Plugin/Field/FieldType/IntegerItem.php | 36 +- .../Plugin/Field/FieldType/LanguageItem.php | 14 +- .../Field/Plugin/Field/FieldType/MapItem.php | 18 +- .../Field/FieldType/NumericItemBase.php | 50 +- .../Plugin/Field/FieldType/StringItem.php | 36 +- .../Plugin/Field/FieldType/StringItemBase.php | 4 +- .../Plugin/Field/FieldType/StringLongItem.php | 12 +- .../Plugin/Field/FieldType/TimestampItem.php | 14 +- .../Field/Plugin/Field/FieldType/UriItem.php | 12 +- .../Field/Plugin/Field/FieldType/UuidItem.php | 8 +- .../FieldWidget/BooleanCheckboxWidget.php | 16 +- .../Field/FieldWidget/EmailDefaultWidget.php | 22 +- .../EntityReferenceAutocompleteWidget.php | 34 +- .../FieldWidget/LanguageSelectWidget.php | 4 +- .../Plugin/Field/FieldWidget/NumberWidget.php | 18 +- .../FieldWidget/OptionsButtonsWidget.php | 10 +- .../Field/FieldWidget/OptionsSelectWidget.php | 4 +- .../Field/FieldWidget/OptionsWidgetBase.php | 18 +- .../FieldWidget/StringTextareaWidget.php | 24 +- .../FieldWidget/StringTextfieldWidget.php | 24 +- .../Plugin/Field/FieldWidget/UriWidget.php | 22 +- .../Drupal/Core/Field/PluginSettingsBase.php | 12 +- ...equiredFieldStorageDefinitionInterface.php | 21 + web/core/lib/Drupal/Core/Field/WidgetBase.php | 86 +- .../Drupal/Core/Field/WidgetPluginManager.php | 28 +- web/core/lib/Drupal/Core/File/FileSystem.php | 2 +- .../MimeType/ExtensionMimeTypeGuesser.php | 12 +- .../Core/File/MimeType/MimeTypeGuesser.php | 4 +- web/core/lib/Drupal/Core/File/file.api.php | 12 +- web/core/lib/Drupal/Core/FileTransfer/FTP.php | 2 +- .../Drupal/Core/FileTransfer/FTPExtension.php | 16 +- .../Drupal/Core/FileTransfer/FileTransfer.php | 34 +- .../FileTransfer/FileTransferException.php | 2 +- .../Form/FileTransferAuthorizeForm.php | 74 +- .../lib/Drupal/Core/FileTransfer/Local.php | 20 +- web/core/lib/Drupal/Core/FileTransfer/SSH.php | 24 +- .../lib/Drupal/Core/Flood/DatabaseBackend.php | 4 +- .../lib/Drupal/Core/Flood/MemoryBackend.php | 2 +- .../lib/Drupal/Core/Form/ConfigFormBase.php | 4 +- .../lib/Drupal/Core/Form/ConfirmFormBase.php | 10 +- web/core/lib/Drupal/Core/Form/FormBase.php | 4 +- web/core/lib/Drupal/Core/Form/FormBuilder.php | 55 +- web/core/lib/Drupal/Core/Form/FormCache.php | 2 +- .../lib/Drupal/Core/Form/FormErrorHandler.php | 113 +- web/core/lib/Drupal/Core/Form/FormState.php | 30 +- .../Drupal/Core/Form/FormStateInterface.php | 2 +- .../lib/Drupal/Core/Form/FormSubmitter.php | 4 +- .../Core/Form/FormSubmitterInterface.php | 2 +- .../lib/Drupal/Core/Form/FormValidator.php | 20 +- web/core/lib/Drupal/Core/Form/OptGroup.php | 2 +- web/core/lib/Drupal/Core/Form/form.api.php | 34 +- .../lib/Drupal/Core/Http/LinkRelationType.php | 61 + .../Core/Http/LinkRelationTypeInterface.php | 88 + .../Core/Http/LinkRelationTypeManager.php | 63 + .../Core/Http/TrustedHostsRequestFactory.php | 2 +- web/core/lib/Drupal/Core/Image/Image.php | 18 +- .../lib/Drupal/Core/Image/ImageInterface.php | 2 +- .../Core/ImageToolkit/ImageToolkitBase.php | 8 +- .../ImageToolkit/ImageToolkitInterface.php | 2 +- .../Core/ImageToolkit/ImageToolkitManager.php | 2 +- .../ImageToolkitOperationBase.php | 2 +- .../ImageToolkitOperationManager.php | 6 +- .../Exception/AlreadyInstalledException.php | 4 +- .../InstallProfileMismatchException.php | 45 + .../Installer/Form/SelectLanguageForm.php | 32 +- .../Core/Installer/Form/SelectProfileForm.php | 20 +- .../Core/Installer/Form/SiteConfigureForm.php | 103 +- .../Core/Installer/Form/SiteSettingsForm.php | 54 +- .../Drupal/Core/Installer/InstallerKernel.php | 20 + .../Core/Installer/InstallerRedirectTrait.php | 90 + .../Core/Installer/InstallerRouteBuilder.php | 2 +- .../Installer/InstallerServiceProvider.php | 4 +- .../Core/KeyValueStore/DatabaseStorage.php | 24 +- .../DatabaseStorageExpirable.php | 34 +- .../KeyValueDatabaseExpirableFactory.php | 4 +- .../KeyValueStore/KeyValueDatabaseFactory.php | 2 +- .../Core/KeyValueStore/KeyValueFactory.php | 4 +- .../KeyValueStore/KeyValueMemoryFactory.php | 2 +- .../Core/KeyValueStore/MemoryStorage.php | 4 +- .../KeyValueStore/NullStorageExpirable.php | 6 +- .../Drupal/Core/KeyValueStore/StorageBase.php | 4 +- .../lib/Drupal/Core/Language/Language.php | 6 +- .../Drupal/Core/Language/LanguageManager.php | 246 +- .../Language/LanguageManagerInterface.php | 2 +- .../lib/Drupal/Core/Language/language.api.php | 10 +- .../Drupal/Core/Layout/Annotation/Layout.php | 157 + .../lib/Drupal/Core/Layout/LayoutDefault.php | 90 + .../Drupal/Core/Layout/LayoutDefinition.php | 466 ++ .../Drupal/Core/Layout/LayoutInterface.php | 38 + .../Core/Layout/LayoutPluginManager.php | 220 + .../Layout/LayoutPluginManagerInterface.php | 70 + web/core/lib/Drupal/Core/Link.php | 2 +- .../lib/Drupal/Core/Locale/CountryManager.php | 4 +- .../Drupal/Core/Lock/DatabaseLockBackend.php | 12 +- .../Drupal/Core/Lock/LockBackendAbstract.php | 2 +- .../Drupal/Core/Logger/LogMessageParser.php | 2 +- .../lib/Drupal/Core/Logger/LoggerChannel.php | 14 +- .../Core/Logger/LoggerChannelFactory.php | 4 +- .../lib/Drupal/Core/Logger/RfcLoggerTrait.php | 18 +- .../lib/Drupal/Core/Mail/MailFormatHelper.php | 22 +- web/core/lib/Drupal/Core/Mail/MailManager.php | 22 +- .../Drupal/Core/Mail/MailManagerInterface.php | 2 +- .../Drupal/Core/Mail/Plugin/Mail/PhpMail.php | 2 +- .../Mail/Plugin/Mail/TestMailCollector.php | 2 +- .../Core/Menu/ContextualLinkManager.php | 18 +- .../Menu/ContextualLinkManagerInterface.php | 2 +- .../Menu/DefaultMenuLinkTreeManipulators.php | 27 +- .../Core/Menu/Form/MenuLinkDefaultForm.php | 32 +- .../Drupal/Core/Menu/LocalActionDefault.php | 2 +- .../Drupal/Core/Menu/LocalActionManager.php | 30 +- .../lib/Drupal/Core/Menu/LocalTaskDefault.php | 2 +- .../lib/Drupal/Core/Menu/LocalTaskManager.php | 30 +- .../lib/Drupal/Core/Menu/MenuActiveTrail.php | 2 +- .../lib/Drupal/Core/Menu/MenuLinkBase.php | 8 +- .../lib/Drupal/Core/Menu/MenuLinkDefault.php | 4 +- .../lib/Drupal/Core/Menu/MenuLinkManager.php | 18 +- .../Core/Menu/MenuLinkManagerInterface.php | 2 +- .../lib/Drupal/Core/Menu/MenuLinkTree.php | 6 +- .../Drupal/Core/Menu/MenuLinkTreeElement.php | 2 +- .../Core/Menu/MenuParentFormSelector.php | 22 +- .../Drupal/Core/Menu/MenuTreeParameters.php | 8 +- .../lib/Drupal/Core/Menu/MenuTreeStorage.php | 244 +- .../Core/Menu/MenuTreeStorageInterface.php | 2 +- .../Core/Menu/StaticMenuLinkOverrides.php | 14 +- web/core/lib/Drupal/Core/Menu/menu.api.php | 29 +- .../AdminPathConfigEntityConverter.php | 5 +- .../Core/ParamConverter/EntityConverter.php | 2 +- .../ParamConverter/ParamConverterManager.php | 2 +- .../Core/Password/PhpassHashedPassword.php | 2 +- .../lib/Drupal/Core/Path/AliasManager.php | 24 +- .../lib/Drupal/Core/Path/AliasStorage.php | 12 +- web/core/lib/Drupal/Core/Path/PathMatcher.php | 8 +- .../lib/Drupal/Core/Path/PathValidator.php | 18 +- .../NullPathProcessorManager.php | 2 +- .../OutboundPathProcessorInterface.php | 2 +- .../Core/PathProcessor/PathProcessorAlias.php | 2 +- .../Core/PathProcessor/PathProcessorFront.php | 2 +- .../PathProcessor/PathProcessorManager.php | 16 +- .../Core/PhpStorage/PhpStorageFactory.php | 4 +- .../Core/Plugin/CachedDiscoveryClearer.php | 2 +- .../Plugin/CategorizingPluginManagerTrait.php | 2 +- .../ContextAwarePluginManagerInterface.php | 2 +- .../ContextAwarePluginManagerTrait.php | 2 +- .../Core/Plugin/Context/ContextHandler.php | 2 +- .../Context/ContextHandlerInterface.php | 2 +- .../ContextAwarePluginAssignmentTrait.php | 2 +- .../Core/Plugin/ContextAwarePluginBase.php | 2 +- .../Plugin/ContextAwarePluginInterface.php | 2 +- .../Plugin/DefaultLazyPluginCollection.php | 12 +- .../Core/Plugin/DefaultPluginManager.php | 56 +- .../DefaultSingleLazyPluginCollection.php | 2 +- .../DependentPluginDefinitionInterface.php | 30 + .../DependentPluginDefinitionTrait.php | 34 + .../Discovery/AnnotatedClassDiscovery.php | 6 +- .../Core/Plugin/Discovery/HookDiscovery.php | 4 +- .../Plugin/Discovery/InfoHookDecorator.php | 2 +- .../Core/Plugin/Discovery/YamlDiscovery.php | 8 +- .../Discovery/YamlDiscoveryDecorator.php | 2 +- .../Core/Plugin/Factory/ContainerFactory.php | 2 +- .../Core/Plugin/PluginDependencyTrait.php | 20 +- .../Drupal/Core/Plugin/PluginManagerPass.php | 2 +- web/core/lib/Drupal/Core/PrivateKey.php | 2 +- web/core/lib/Drupal/Core/Queue/Batch.php | 6 +- .../lib/Drupal/Core/Queue/BatchMemory.php | 2 +- .../lib/Drupal/Core/Queue/DatabaseQueue.php | 22 +- web/core/lib/Drupal/Core/Queue/Memory.php | 4 +- .../Core/Queue/QueueDatabaseFactory.php | 2 +- .../lib/Drupal/Core/Queue/QueueFactory.php | 4 +- .../Drupal/Core/Render/BubbleableMetadata.php | 2 +- web/core/lib/Drupal/Core/Render/Element.php | 6 +- .../Drupal/Core/Render/Element/Actions.php | 31 +- .../lib/Drupal/Core/Render/Element/Ajax.php | 6 +- .../lib/Drupal/Core/Render/Element/Button.php | 22 +- .../Drupal/Core/Render/Element/Checkbox.php | 28 +- .../Drupal/Core/Render/Element/Checkboxes.php | 34 +- .../lib/Drupal/Core/Render/Element/Color.php | 30 +- .../Drupal/Core/Render/Element/Container.php | 20 +- .../lib/Drupal/Core/Render/Element/Date.php | 4 +- .../Drupal/Core/Render/Element/Details.php | 30 +- .../Drupal/Core/Render/Element/Dropbutton.php | 12 +- .../Core/Render/Element/ElementInterface.php | 2 +- .../lib/Drupal/Core/Render/Element/Email.php | 34 +- .../Drupal/Core/Render/Element/Fieldgroup.php | 6 +- .../Drupal/Core/Render/Element/Fieldset.php | 20 +- .../lib/Drupal/Core/Render/Element/File.php | 24 +- .../lib/Drupal/Core/Render/Element/Form.php | 6 +- .../Core/Render/Element/FormElement.php | 6 +- .../lib/Drupal/Core/Render/Element/Hidden.php | 18 +- .../lib/Drupal/Core/Render/Element/Html.php | 10 +- .../Drupal/Core/Render/Element/HtmlTag.php | 24 +- .../Core/Render/Element/ImageButton.php | 8 +- .../Core/Render/Element/InlineTemplate.php | 12 +- .../lib/Drupal/Core/Render/Element/Item.php | 6 +- .../lib/Drupal/Core/Render/Element/Label.php | 4 +- .../Core/Render/Element/LanguageSelect.php | 4 +- .../lib/Drupal/Core/Render/Element/Link.php | 14 +- .../Core/Render/Element/MachineName.php | 48 +- .../Drupal/Core/Render/Element/MoreLink.php | 14 +- .../lib/Drupal/Core/Render/Element/Number.php | 36 +- .../Drupal/Core/Render/Element/Operations.php | 4 +- .../lib/Drupal/Core/Render/Element/Page.php | 4 +- .../Drupal/Core/Render/Element/Password.php | 24 +- .../Core/Render/Element/PasswordConfirm.php | 26 +- .../Core/Render/Element/PathElement.php | 14 +- .../lib/Drupal/Core/Render/Element/Radio.php | 22 +- .../lib/Drupal/Core/Render/Element/Radios.php | 26 +- .../lib/Drupal/Core/Render/Element/Range.php | 14 +- .../Core/Render/Element/RenderElement.php | 6 +- .../lib/Drupal/Core/Render/Element/Search.php | 24 +- .../lib/Drupal/Core/Render/Element/Select.php | 36 +- .../Core/Render/Element/StatusMessages.php | 27 +- .../Core/Render/Element/StatusReport.php | 89 + .../lib/Drupal/Core/Render/Element/Submit.php | 4 +- .../Core/Render/Element/SystemCompactLink.php | 40 +- .../lib/Drupal/Core/Render/Element/Table.php | 60 +- .../Core/Render/Element/Tableselect.php | 54 +- .../lib/Drupal/Core/Render/Element/Tel.php | 26 +- .../Drupal/Core/Render/Element/Textarea.php | 20 +- .../Drupal/Core/Render/Element/Textfield.php | 32 +- .../lib/Drupal/Core/Render/Element/Token.php | 10 +- .../lib/Drupal/Core/Render/Element/Url.php | 34 +- .../lib/Drupal/Core/Render/Element/Value.php | 4 +- .../Core/Render/Element/VerticalTabs.php | 30 +- .../lib/Drupal/Core/Render/Element/Weight.php | 14 +- .../Drupal/Core/Render/ElementInfoManager.php | 6 +- .../Render/ElementInfoManagerInterface.php | 4 +- .../HtmlResponseAttachmentsProcessor.php | 4 +- .../Core/Render/MainContent/AjaxRenderer.php | 2 +- .../Render/MainContent/DialogRenderer.php | 2 +- .../Core/Render/MainContent/HtmlRenderer.php | 4 +- .../Core/Render/MainContent/ModalRenderer.php | 2 +- .../Render/MetadataBubblingUrlGenerator.php | 8 +- .../PageDisplayVariantSelectionEvent.php | 2 +- .../Core/Render/PlaceholderGenerator.php | 3 +- web/core/lib/Drupal/Core/Render/Renderer.php | 14 +- web/core/lib/Drupal/Core/Render/theme.api.php | 46 +- .../RouteProcessor/RouteProcessorManager.php | 8 +- .../Drupal/Core/Routing/AccessAwareRouter.php | 43 +- .../lib/Drupal/Core/Routing/CompiledRoute.php | 8 +- .../Enhancer/ParamConversionEnhancer.php | 4 +- .../lib/Drupal/Core/Routing/MatcherDumper.php | 16 +- .../lib/Drupal/Core/Routing/NullGenerator.php | 4 +- .../Drupal/Core/Routing/NullMatcherDumper.php | 2 +- .../Core/Routing/RedirectDestination.php | 2 +- .../Core/Routing/RequestFormatRouteFilter.php | 30 +- .../lib/Drupal/Core/Routing/RouteBuilder.php | 14 +- .../lib/Drupal/Core/Routing/RouteCompiler.php | 14 +- .../lib/Drupal/Core/Routing/RouteMatch.php | 6 +- .../Drupal/Core/Routing/RoutePreloader.php | 10 +- .../lib/Drupal/Core/Routing/RouteProvider.php | 49 +- .../Core/Routing/RouteProviderInterface.php | 4 +- web/core/lib/Drupal/Core/Routing/Router.php | 391 ++ .../Core/Routing/TrustedRedirectResponse.php | 4 +- .../lib/Drupal/Core/Routing/UrlGenerator.php | 116 +- .../Core/Routing/UrlGeneratorInterface.php | 7 +- .../Drupal/Core/Routing/UrlGeneratorTrait.php | 2 +- .../lib/Drupal/Core/Routing/routing.api.php | 14 +- .../lib/Drupal/Core/Session/AccountProxy.php | 18 +- .../Drupal/Core/Session/AccountSwitcher.php | 4 +- .../Drupal/Core/Session/SessionHandler.php | 6 +- .../Drupal/Core/Session/SessionManager.php | 10 +- .../lib/Drupal/Core/Session/UserSession.php | 10 +- web/core/lib/Drupal/Core/Site/Settings.php | 16 +- .../ReverseProxyMiddleware.php | 2 +- web/core/lib/Drupal/Core/State/State.php | 72 +- .../StreamWrapper/LocalReadOnlyStream.php | 6 +- .../Drupal/Core/StreamWrapper/LocalStream.php | 10 +- .../Core/StreamWrapper/ReadOnlyStream.php | 10 +- .../StreamWrapper/StreamWrapperManager.php | 18 +- .../PluralTranslatableMarkup.php | 4 +- .../StringTranslationTrait.php | 4 +- .../StringTranslation/TranslatableMarkup.php | 4 +- .../TranslationInterface.php | 4 +- .../StringTranslation/TranslationManager.php | 10 +- .../Translator/CustomStrings.php | 2 +- .../Translator/FileTranslation.php | 4 +- .../Translator/StaticTranslation.php | 6 +- .../lib/Drupal/Core/Template/Attribute.php | 8 +- .../Core/Template/AttributeValueBase.php | 2 +- .../Core/Template/Loader/FilesystemLoader.php | 6 +- .../Drupal/Core/Template/TwigEnvironment.php | 39 +- .../Drupal/Core/Template/TwigExtension.php | 82 +- .../Drupal/Core/Template/TwigNodeTrans.php | 12 +- .../Drupal/Core/Template/TwigNodeVisitor.php | 2 +- .../Core/Template/TwigPhpStorageCache.php | 34 +- .../Core/Template/TwigTransTokenParser.php | 6 +- .../Core/Test/FunctionalTestSetupTrait.php | 451 ++ .../lib/Drupal/Core/Test/TestRunnerKernel.php | 14 +- .../lib/Drupal/Core/Test/TestSetupTrait.php | 202 + web/core/lib/Drupal/Core/Theme/Registry.php | 110 +- .../Drupal/Core/Theme/ThemeInitialization.php | 8 +- .../lib/Drupal/Core/Theme/ThemeManager.php | 24 +- .../lib/Drupal/Core/Theme/ThemeNegotiator.php | 4 +- .../Transliteration/PhpTransliteration.php | 7 +- .../Drupal/Core/TypedData/DataDefinition.php | 8 +- .../Core/TypedData/ListDataDefinition.php | 4 +- .../Core/TypedData/MapDataDefinition.php | 2 +- .../TypedData/Plugin/DataType/ItemList.php | 10 +- .../Core/TypedData/Plugin/DataType/Map.php | 10 +- .../Core/TypedData/TranslatableInterface.php | 2 +- .../TypedData/TranslationStatusInterface.php | 37 + .../lib/Drupal/Core/TypedData/TypedData.php | 2 +- .../Core/TypedData/TypedDataManager.php | 24 +- .../TypedData/TypedDataManagerInterface.php | 2 +- .../TypedData/Validation/ExecutionContext.php | 10 +- .../RecursiveContextualValidator.php | 2 +- .../lib/Drupal/Core/Update/UpdateRegistry.php | 2 +- web/core/lib/Drupal/Core/Updater/Module.php | 8 +- web/core/lib/Drupal/Core/Updater/Theme.php | 4 +- web/core/lib/Drupal/Core/Updater/Updater.php | 24 +- web/core/lib/Drupal/Core/Url.php | 30 +- web/core/lib/Drupal/Core/Utility/Error.php | 12 +- .../lib/Drupal/Core/Utility/LinkGenerator.php | 19 +- .../lib/Drupal/Core/Utility/ProjectInfo.php | 16 +- .../lib/Drupal/Core/Utility/ThemeRegistry.php | 6 +- web/core/lib/Drupal/Core/Utility/Token.php | 16 +- .../Utility/UnroutedUrlAssemblerInterface.php | 2 +- .../lib/Drupal/Core/Utility/token.api.php | 52 +- .../Core/Validation/ConstraintManager.php | 24 +- .../Core/Validation/DrupalTranslator.php | 8 +- .../Constraint/ComplexDataConstraint.php | 4 +- .../PrimitiveTypeConstraintValidator.php | 4 +- web/core/misc/drupal.init.js | 19 + web/core/misc/drupal.js | 15 +- .../block_content.js => misc/entity-form.js} | 12 +- web/core/misc/machine-name.js | 18 +- web/core/modules/action/action.module | 6 +- .../modules/action/action.views_execution.inc | 10 +- .../modules/action/src/ActionFormBase.php | 22 +- .../modules/action/src/ActionListBuilder.php | 6 +- .../action/src/Form/ActionAdminManageForm.php | 22 +- .../action/src/Plugin/Action/EmailAction.php | 30 +- .../action/src/Plugin/Action/GotoAction.php | 10 +- .../src/Plugin/Action/MessageAction.php | 8 +- .../src/Plugin/migrate/source/Action.php | 4 +- .../src/Functional}/ActionListTest.php | 8 +- .../src/Functional/ActionUninstallTest.php | 6 +- .../tests/src/Functional/BulkFormTest.php | 32 +- .../src/Functional/ConfigurationTest.php | 16 +- .../Migrate/d6/MigrateActionConfigsTest.php | 2 +- .../Migrate/d7/MigrateActionConfigsTest.php | 2 +- .../src/Unit/Menu/ActionLocalTasksTest.php | 4 +- .../modules/aggregator/aggregator.install | 26 +- web/core/modules/aggregator/aggregator.module | 73 +- ...ggregator_feed.aggregator_feed.default.yml | 6 + ...ggregator_feed.aggregator_feed.summary.yml | 2 + ...ggregator_item.aggregator_item.summary.yml | 1 + .../src/AggregatorFeedViewsData.php | 8 +- .../src/Controller/AggregatorController.php | 56 +- .../modules/aggregator/src/Entity/Feed.php | 30 +- .../modules/aggregator/src/Entity/Item.php | 18 +- web/core/modules/aggregator/src/FeedForm.php | 6 +- .../modules/aggregator/src/FeedStorage.php | 4 +- .../aggregator/src/FeedStorageInterface.php | 5 + .../aggregator/src/FeedStorageSchema.php | 3 - .../aggregator/src/FeedViewBuilder.php | 44 +- .../aggregator/src/Form/FeedDeleteForm.php | 4 +- .../src/Form/FeedItemsDeleteForm.php | 2 +- .../aggregator/src/Form/OpmlFeedAdd.php | 47 +- .../aggregator/src/Form/SettingsForm.php | 48 +- .../aggregator/src/ItemViewBuilder.php | 4 +- .../modules/aggregator/src/ItemsImporter.php | 6 +- .../src/Plugin/AggregatorPluginManager.php | 8 +- .../Plugin/AggregatorPluginSettingsBase.php | 4 +- .../src/Plugin/Block/AggregatorFeedBlock.php | 34 +- .../aggregator/fetcher/DefaultFetcher.php | 4 +- .../aggregator/parser/DefaultParser.php | 6 +- .../aggregator/processor/DefaultProcessor.php | 56 +- .../Plugin/migrate/source/AggregatorFeed.php | 4 +- .../Plugin/migrate/source/AggregatorItem.php | 4 +- .../src/Plugin/views/argument/Fid.php | 2 +- .../src/Plugin/views/argument/Iid.php | 2 +- .../aggregator/src/Plugin/views/row/Rss.php | 22 +- .../aggregator/src/Tests/AddFeedTest.php | 4 +- .../src/Tests/AggregatorAdminTest.php | 14 +- .../src/Tests/AggregatorCronTest.php | 18 +- .../src/Tests/AggregatorRenderingTest.php | 26 +- .../src/Tests/AggregatorTestBase.php | 70 +- .../src/Tests/FeedAdminDisplayTest.php | 4 +- .../aggregator/src/Tests/FeedLanguageTest.php | 18 +- .../src/Tests/UpdateFeedItemTest.php | 22 +- .../aggregator/src/Tests/UpdateFeedTest.php | 6 +- .../aggregator/processor/TestProcessor.php | 8 +- .../src/Functional/AggregatorTestBase.php | 379 ++ .../src/Functional}/DeleteFeedItemTest.php | 12 +- .../src/Functional}/DeleteFeedTest.php | 6 +- .../src/Functional}/FeedCacheTagsTest.php | 8 +- .../src/Functional}/FeedFetcherPluginTest.php | 2 +- .../src/Functional}/FeedParserTest.php | 22 +- .../Functional}/FeedProcessorPluginTest.php | 8 +- .../src/Functional}/ImportOpmlTest.php | 26 +- .../src/Functional}/ItemCacheTagsTest.php | 18 +- .../tests/src/Kernel/FeedValidationTest.php | 2 +- .../d6/MigrateAggregatorConfigsTest.php | 4 +- .../src/Kernel/Views/IntegrationTest.php | 20 +- .../Unit/Menu/AggregatorLocalTasksTest.php | 30 +- .../AggregatorPluginSettingsBaseTest.php | 22 +- .../automated_cron/automated_cron.module | 16 +- web/core/modules/ban/ban.install | 24 +- web/core/modules/ban/ban.module | 4 +- web/core/modules/ban/src/BanIpManager.php | 8 +- web/core/modules/ban/src/Form/BanAdmin.php | 36 +- web/core/modules/ban/src/Form/BanDelete.php | 6 +- .../Plugin/migrate/destination/BlockedIp.php | 2 +- .../src/Functional/IpAddressBlockingTest.php | 30 +- .../Migrate/d7/MigrateBlockedIPsTest.php | 2 +- web/core/modules/basic_auth/basic_auth.module | 2 +- .../src/Authentication/Provider/BasicAuth.php | 6 +- .../src/Tests/BasicAuthTestTrait.php | 9 +- .../src/Functional}/BasicAuthTest.php | 41 +- .../tests/src/Traits/BasicAuthTestTrait.php | 74 + web/core/modules/big_pipe/big_pipe.info.yml | 2 +- web/core/modules/big_pipe/big_pipe.module | 3 +- .../HtmlResponseBigPipeSubscriber.php | 54 +- .../NoBigPipeRouteAlterSubscriber.php | 2 +- .../modules/big_pipe/src/Render/BigPipe.php | 249 +- .../big_pipe/src/Render/BigPipeInterface.php | 150 - .../big_pipe/src/Render/BigPipeResponse.php | 83 +- .../BigPipeResponseAttachmentsProcessor.php | 2 +- .../Render/Placeholder/BigPipeStrategy.php | 26 +- .../src/Tests/BigPipePlaceholderTestCases.php | 50 +- .../big_pipe/src/Tests/BigPipeTest.php | 18 +- .../big_pipe_regression_test.routing.yml | 7 + .../src/BigPipeRegressionTestController.php | 26 + .../src/BigPipeTestController.php | 13 +- .../src/Form/BigPipeTestForm.php | 4 +- .../BigPipeRegressionTest.php | 12 + ...igPipeResponseAttachmentsProcessorTest.php | 7 +- web/core/modules/block/block.install | 9 - web/core/modules/block/block.module | 52 +- web/core/modules/block/block.post_update.php | 23 +- web/core/modules/block/block.routing.yml | 18 + web/core/modules/block/css/block.admin.css | 4 + .../block/src/BlockAccessControlHandler.php | 14 +- web/core/modules/block/src/BlockForm.php | 41 +- web/core/modules/block/src/BlockInterface.php | 8 +- .../modules/block/src/BlockListBuilder.php | 160 +- .../modules/block/src/BlockRepository.php | 6 +- .../block/src/BlockRepositoryInterface.php | 14 + .../modules/block/src/BlockViewBuilder.php | 16 +- .../src/Controller/BlockAddController.php | 2 +- .../block/src/Controller/BlockController.php | 32 +- .../CategoryAutocompleteController.php | 4 +- web/core/modules/block/src/Entity/Block.php | 40 +- .../BlockPageDisplayVariantSubscriber.php | 4 +- .../block/src/Form/BlockDeleteForm.php | 28 + .../src/Plugin/Derivative/ThemeLocalTask.php | 2 +- .../migrate/destination/EntityBlock.php | 4 +- .../Plugin/migrate/process/BlockPluginId.php | 8 +- .../Plugin/migrate/process/BlockRegion.php | 2 +- .../Plugin/migrate/process/BlockSettings.php | 6 +- .../migrate/process/BlockVisibility.php | 28 +- .../block/src/Plugin/migrate/source/Block.php | 10 +- .../block/src/Tests/BlockAdminThemeTest.php | 10 +- .../block/src/Tests/BlockFormInBlockTest.php | 6 +- .../src/Tests/BlockLanguageCacheTest.php | 20 +- .../block/src/Tests/BlockRenderOrderTest.php | 28 +- .../src/Tests/BlockSystemBrandingTest.php | 4 +- .../modules/block/src/Tests/BlockTest.php | 125 +- .../modules/block/src/Tests/BlockTestBase.php | 16 +- .../modules/block/src/Tests/BlockUiTest.php | 75 +- .../src/Tests/NonDefaultBlockAdminTest.php | 8 +- .../BlockRemoveDisabledRegionUpdateTest.php | 57 + .../src/Tests/Views/DisplayBlockTest.php | 86 +- .../ContextProvider/MultipleStaticContext.php | 8 +- .../Plugin/Block/TestBlockInstantiation.php | 12 +- .../src/Plugin/Block/TestCacheBlock.php | 2 +- .../Plugin/Block/TestContextAwareBlock.php | 4 +- .../src/Plugin/Block/TestHtmlBlock.php | 4 +- ...iews.view.test_view_block_with_context.yml | 433 ++ .../src/Functional}/BlockCacheTest.php | 22 +- .../src/Functional}/BlockHiddenRegionTest.php | 14 +- .../Functional}/BlockHookOperationTest.php | 14 +- .../src/Functional}/BlockHtmlTest.php | 16 +- .../Functional}/BlockInvalidRegionTest.php | 29 +- .../src/Functional}/BlockLanguageTest.php | 40 +- .../BlockTemplateSuggestionsTest.php | 20 +- .../Functional}/NewDefaultThemeBlocksTest.php | 33 +- .../src/Kernel/BlockConfigSchemaTest.php | 18 +- .../tests/src/Kernel/BlockInterfaceTest.php | 46 +- .../tests/src/Kernel/BlockRebuildTest.php | 103 + .../tests/src/Kernel/BlockStorageUnitTest.php | 33 +- .../tests/src/Kernel/BlockViewBuilderTest.php | 26 +- .../Kernel/Migrate/d6/MigrateBlockTest.php | 16 +- .../Kernel/Migrate/d7/MigrateBlockTest.php | 9 +- .../src/Unit/BlockConfigEntityUnitTest.php | 12 +- .../block/tests/src/Unit/BlockFormTest.php | 4 +- .../tests/src/Unit/BlockRepositoryTest.php | 24 +- .../src/Unit/CategoryAutocompleteTest.php | 38 +- .../src/Unit/Menu/BlockLocalTasksTest.php | 42 +- .../DisplayVariant/BlockPageVariantTest.php | 36 +- .../block_content/block_content.install | 11 + .../block_content/block_content.libraries.yml | 9 +- .../block_content.links.contextual.yml | 6 - .../block_content/block_content.module | 32 +- .../block_content/block_content.pages.inc | 16 +- .../block_content/src/BlockContentForm.php | 150 +- .../src/BlockContentTranslationHandler.php | 20 +- .../src/BlockContentTypeForm.php | 48 +- .../src/BlockContentTypeInterface.php | 11 +- .../src/BlockContentViewBuilder.php | 12 +- .../src/BlockContentViewsData.php | 8 +- .../src/Controller/BlockContentController.php | 12 +- .../block_content/src/Entity/BlockContent.php | 17 +- .../src/Form/BlockContentDeleteForm.php | 4 +- .../src/Form/BlockContentTypeDeleteForm.php | 36 +- .../src/Plugin/Block/BlockContentBlock.php | 16 +- .../src/Plugin/Derivative/BlockContent.php | 4 +- .../src/Plugin/migrate/source/d6/Box.php | 6 +- .../Plugin/migrate/source/d7/BlockCustom.php | 4 +- .../src/Plugin/views/area/ListingEmpty.php | 10 +- .../src/Tests/BlockContentCreationTest.php | 77 +- .../src/Tests/BlockContentListTest.php | 18 +- .../src/Tests/BlockContentListViewsTest.php | 14 +- .../src/Tests/BlockContentTestBase.php | 17 +- .../Tests/BlockContentTranslationUITest.php | 32 +- .../src/Tests/BlockContentTypeTest.php | 42 +- .../Tests/BlockContentUpdateEntityFields.php | 39 - .../src/Tests/BlockContentUpdateTest.php | 46 + .../Views/BlockContentFieldFilterTest.php | 20 +- .../Views/BlockContentIntegrationTest.php | 14 +- .../Tests/Views/BlockContentRedirectTest.php | 6 +- .../src/Tests/Views/BlockContentTestBase.php | 26 +- .../src/Tests/Views/FieldTypeTest.php | 10 +- .../Tests/Views/RevisionRelationshipsTest.php | 42 +- .../block_content_test.module | 4 +- .../Functional}/BlockContentCacheTagsTest.php | 16 +- .../Functional}/BlockContentPageViewTest.php | 4 +- .../Functional}/BlockContentRevisionsTest.php | 14 +- .../src/Functional}/BlockContentSaveTest.php | 10 +- .../src/Functional/BlockContentTestBase.php | 113 + .../src/Functional}/PageEditTest.php | 12 +- .../MigrateBlockContentBodyFieldTest.php | 2 +- .../Migrate/MigrateBlockContentTypeTest.php | 2 +- .../Migrate/d7/MigrateCustomBlockTest.php | 4 +- .../Unit/Menu/BlockContentLocalTasksTest.php | 48 +- .../modules/block_place/css/block-place.css | 33 +- web/core/modules/book/book.install | 76 +- web/core/modules/book/book.module | 118 +- web/core/modules/book/book.services.yml | 2 +- ....base_field_override.node.book.promote.yml | 0 ....entity_form_display.node.book.default.yml | 6 + ....entity_view_display.node.book.default.yml | 2 + ...e.entity_view_display.node.book.teaser.yml | 2 + .../core.entity_view_mode.node.print.yml | 0 .../field.field.node.book.body.yml | 0 .../{install => optional}/node.type.book.yml | 0 .../book/src/BookBreadcrumbBuilder.php | 6 +- web/core/modules/book/src/BookExport.php | 14 +- web/core/modules/book/src/BookManager.php | 152 +- .../modules/book/src/BookManagerInterface.php | 6 +- web/core/modules/book/src/BookOutline.php | 2 +- .../modules/book/src/BookOutlineStorage.php | 14 +- .../book/src/BookUninstallValidator.php | 18 +- .../book/src/Controller/BookController.php | 32 +- .../book/src/Form/BookAdminEditForm.php | 24 +- .../modules/book/src/Form/BookOutlineForm.php | 16 +- .../modules/book/src/Form/BookRemoveForm.php | 4 +- .../book/src/Form/BookSettingsForm.php | 16 +- .../src/Plugin/Block/BookNavigationBlock.php | 31 +- .../src/Plugin/migrate/source/d6/Book.php | 8 +- .../src/Tests/Views/BookRelationshipTest.php | 14 +- .../src/Functional}/BookBreadcrumbTest.php | 32 +- .../tests/src/Functional/BookInstallTest.php | 48 + .../src/Functional}/BookTest.php | 120 +- .../tests/src/Kernel/BookUninstallTest.php | 20 +- .../Migrate/d6/MigrateBookConfigsTest.php | 4 +- .../src/Kernel/Migrate/d6/MigrateBookTest.php | 6 +- .../book/tests/src/Unit/BookManagerTest.php | 40 +- .../src/Unit/Menu/BookLocalTasksTest.php | 32 +- web/core/modules/breakpoint/breakpoint.module | 4 +- .../modules/breakpoint/src/Breakpoint.php | 2 +- .../breakpoint/src/BreakpointManager.php | 30 +- .../src/Kernel/BreakpointDiscoveryTest.php | 96 +- .../tests/src/Unit/BreakpointTest.php | 12 +- web/core/modules/ckeditor/ckeditor.admin.inc | 34 +- .../modules/ckeditor/ckeditor.libraries.yml | 2 +- web/core/modules/ckeditor/ckeditor.module | 20 +- web/core/modules/ckeditor/js/ckeditor.js | 61 +- .../ckeditor/js/plugins/drupallink/plugin.js | 2 +- .../ckeditor/js/views/ControllerView.js | 2 +- .../modules/ckeditor/js/views/KeyboardView.js | 2 +- .../src/Ajax/AddStyleSheetCommand.php | 64 + .../ckeditor/src/CKEditorPluginBase.php | 10 +- .../ckeditor/src/CKEditorPluginManager.php | 18 +- .../src/Plugin/CKEditorPlugin/DrupalImage.php | 30 +- .../CKEditorPlugin/DrupalImageCaption.php | 22 +- .../src/Plugin/CKEditorPlugin/DrupalLink.php | 28 +- .../src/Plugin/CKEditorPlugin/Internal.php | 230 +- .../src/Plugin/CKEditorPlugin/Language.php | 10 +- .../src/Plugin/CKEditorPlugin/StylesCombo.php | 52 +- .../ckeditor/src/Plugin/Editor/CKEditor.php | 158 +- .../ckeditor/src/Tests/CKEditorAdminTest.php | 92 +- .../src/Tests/CKEditorLoadingTest.php | 52 +- .../Tests/CKEditorStylesComboAdminTest.php | 2 +- .../tests/modules/ckeditor_test.libraries.yml | 5 + .../tests/modules/ckeditor_test.routing.yml | 7 + .../ckeditor/tests/modules/css/test.css | 3 + .../ckeditor/tests/modules/js/ajax-css.js | 24 + .../tests/modules/src/Form/AjaxCssForm.php | 111 + .../src/Kernel/CKEditorPluginManagerTest.php | 54 +- .../tests/modules/src/Kernel/CKEditorTest.php | 208 +- .../src/Plugin/CKEditorPlugin/Llama.php | 14 +- .../src/Plugin/CKEditorPlugin/LlamaButton.php | 12 +- .../Plugin/CKEditorPlugin/LlamaContextual.php | 4 +- .../LlamaContextualAndButton.php | 22 +- .../src/Plugin/CKEditorPlugin/LlamaCss.php | 18 +- .../Functional}/CKEditorToolbarButtonTest.php | 6 +- .../src/FunctionalJavascript/AjaxCssTest.php | 123 + web/core/modules/color/color.install | 10 +- web/core/modules/color/color.module | 88 +- .../themes/color_test_theme/color/color.inc | 32 +- .../src/Functional/ColorConfigSchemaTest.php | 8 +- .../src/Functional/ColorSafePreviewTest.php | 2 +- .../color/tests/src/Functional/ColorTest.php | 36 +- web/core/modules/comment/comment.api.php | 14 +- web/core/modules/comment/comment.install | 101 +- web/core/modules/comment/comment.module | 103 +- web/core/modules/comment/comment.services.yml | 2 +- web/core/modules/comment/comment.tokens.inc | 86 +- web/core/modules/comment/comment.views.inc | 56 +- .../optional/views.view.comments_recent.yml | 4 - .../src/CommentAccessControlHandler.php | 15 +- web/core/modules/comment/src/CommentForm.php | 72 +- .../modules/comment/src/CommentInterface.php | 40 +- .../comment/src/CommentLazyBuilders.php | 44 +- .../comment/src/CommentLinkBuilder.php | 46 +- .../modules/comment/src/CommentManager.php | 52 +- .../modules/comment/src/CommentStatistics.php | 44 +- .../modules/comment/src/CommentStorage.php | 12 +- .../comment/src/CommentStorageSchema.php | 14 +- .../comment/src/CommentTranslationHandler.php | 2 +- .../modules/comment/src/CommentTypeForm.php | 52 +- .../comment/src/CommentViewBuilder.php | 8 +- .../modules/comment/src/CommentViewsData.php | 287 +- .../src/Controller/CommentController.php | 22 +- .../modules/comment/src/Entity/Comment.php | 53 +- .../comment/src/Entity/CommentType.php | 6 + .../comment/src/Form/CommentAdminOverview.php | 104 +- .../src/Form/CommentTypeDeleteForm.php | 26 +- .../src/Form/ConfirmDeleteMultiple.php | 12 +- .../modules/comment/src/Form/DeleteForm.php | 2 +- .../Action/UnpublishByKeywordComment.php | 10 +- .../FieldFormatter/AuthorNameFormatter.php | 10 +- .../CommentDefaultFormatter.php | 24 +- .../Plugin/Field/FieldType/CommentItem.php | 64 +- .../Field/FieldWidget/CommentWidget.php | 40 +- .../Menu/LocalTask/UnapprovedComments.php | 2 +- .../CommentNameConstraintValidator.php | 4 +- .../migrate/destination/EntityComment.php | 18 +- .../migrate/destination/EntityCommentType.php | 2 +- .../src/Plugin/migrate/source/d6/Comment.php | 10 +- .../migrate/source/d6/CommentVariable.php | 12 +- .../d6/CommentVariablePerCommentType.php | 14 +- .../src/Plugin/migrate/source/d7/Comment.php | 4 +- .../Plugin/migrate/source/d7/CommentType.php | 18 +- .../src/Plugin/views/argument/UserUid.php | 6 +- .../comment/src/Plugin/views/field/Depth.php | 4 +- .../src/Plugin/views/field/EntityLink.php | 8 +- .../Plugin/views/field/NodeNewComments.php | 20 +- .../views/field/StatisticsLastCommentName.php | 18 +- .../src/Plugin/views/filter/NodeComment.php | 4 +- .../comment/src/Plugin/views/row/Rss.php | 28 +- .../views/sort/StatisticsLastCommentName.php | 4 +- .../src/Plugin/views/wizard/Comment.php | 14 +- .../comment/src/Tests/CommentActionsTest.php | 22 +- .../comment/src/Tests/CommentAdminTest.php | 44 +- .../src/Tests/CommentAnonymousTest.php | 32 +- .../comment/src/Tests/CommentBlockTest.php | 16 +- .../comment/src/Tests/CommentBookTest.php | 8 +- .../comment/src/Tests/CommentCSSTest.php | 26 +- .../src/Tests/CommentCacheTagsTest.php | 30 +- .../comment/src/Tests/CommentFieldsTest.php | 54 +- .../src/Tests/CommentInterfaceTest.php | 42 +- .../comment/src/Tests/CommentLanguageTest.php | 28 +- .../src/Tests/CommentLinksAlterTest.php | 2 +- .../comment/src/Tests/CommentLinksTest.php | 24 +- .../src/Tests/CommentNewIndicatorTest.php | 36 +- .../src/Tests/CommentNodeAccessTest.php | 8 +- .../src/Tests/CommentNodeChangesTest.php | 4 +- .../comment/src/Tests/CommentNonNodeTest.php | 94 +- .../comment/src/Tests/CommentPagerTest.php | 116 +- .../comment/src/Tests/CommentPreviewTest.php | 20 +- .../comment/src/Tests/CommentRssTest.php | 6 +- .../src/Tests/CommentStatisticsTest.php | 22 +- .../comment/src/Tests/CommentTestBase.php | 54 +- .../comment/src/Tests/CommentTestTrait.php | 34 +- .../src/Tests/CommentThreadingTest.php | 12 +- .../comment/src/Tests/CommentTitleTest.php | 6 +- .../src/Tests/CommentTokenReplaceTest.php | 24 +- .../src/Tests/CommentTranslationUITest.php | 56 +- .../comment/src/Tests/CommentTypeTest.php | 42 +- .../src/Tests/CommentUninstallTest.php | 12 +- .../src/Tests/Update/CommentUpdateTest.php | 21 + .../src/Tests/Views/ArgumentUserUIDTest.php | 20 +- .../Tests/Views/CommentFieldFilterTest.php | 28 +- .../src/Tests/Views/CommentRestExportTest.php | 4 +- .../src/Tests/Views/CommentRowTest.php | 2 +- .../src/Tests/Views/CommentTestBase.php | 14 +- .../Views/DefaultViewRecentCommentsTest.php | 20 +- .../src/Tests/Views/FilterUserUIDTest.php | 26 +- .../comment/src/Tests/Views/RowRssTest.php | 2 +- .../comment/src/Tests/Views/WizardTest.php | 14 +- .../modules/comment_test/comment_test.module | 14 +- .../CommentDefaultFormatterCacheTagsTest.php | 18 +- .../src/Kernel/CommentFieldAccessTest.php | 18 +- .../Kernel/CommentStringIdEntitiesTest.php | 20 +- .../src/Kernel/CommentValidationTest.php | 50 +- .../Kernel/Migrate/MigrateCommentStubTest.php | 4 +- .../Kernel/Migrate/d6/MigrateCommentTest.php | 3 + .../Kernel/Migrate/d7/MigrateCommentTest.php | 11 +- .../src/Kernel/Views/CommentUserNameTest.php | 4 +- .../tests/src/Unit/CommentLinkBuilderTest.php | 74 +- .../tests/src/Unit/CommentManagerTest.php | 18 +- .../src/Unit/CommentStatisticsUnitTest.php | 6 +- .../tests/src/Unit/Entity/CommentLockTest.php | 4 +- .../src/Unit/Migrate/d6/CommentTestBase.php | 24 +- .../d6/CommentVariablePerCommentTypeTest.php | 44 +- .../Unit/Migrate/d6/CommentVariableTest.php | 64 +- .../tests/src/Unit/Migrate/d7/CommentTest.php | 48 +- .../src/Unit/Migrate/d7/CommentTypeTest.php | 60 +- web/core/modules/config/config.module | 16 +- .../modules/config/src/ConfigSubscriber.php | 4 +- .../src/Controller/ConfigController.php | 36 +- .../config/src/Form/ConfigExportForm.php | 4 +- .../config/src/Form/ConfigImportForm.php | 14 +- .../src/Form/ConfigSingleExportForm.php | 35 +- .../src/Form/ConfigSingleImportForm.php | 61 +- .../modules/config/src/Form/ConfigSync.php | 78 +- .../Tests/ConfigEntityFormOverrideTest.php | 10 +- .../config/src/Tests/ConfigEntityListTest.php | 80 +- .../config/src/Tests/ConfigEntityTest.php | 82 +- .../src/Tests/ConfigExportImportUITest.php | 68 +- .../config/src/Tests/ConfigExportUITest.php | 16 +- .../src/Tests/ConfigFormOverrideTest.php | 10 +- .../config/src/Tests/ConfigImportAllTest.php | 6 +- .../Tests/ConfigImportInstallProfileTest.php | 8 +- .../config/src/Tests/ConfigImportUITest.php | 129 +- .../src/Tests/ConfigImportUploadTest.php | 8 +- ...figInstallProfileUnmetDependenciesTest.php | 2 +- .../config/src/Tests/ConfigInstallWebTest.php | 44 +- .../Tests/ConfigSingleImportExportTest.php | 54 +- .../LanguageNegotiationFormOverrideTest.php | 12 +- .../config/src/Tests/SchemaCheckTestTrait.php | 51 +- .../src/EventSubscriber.php | 6 +- .../src/ConfigOverrider.php | 8 +- .../src/EventSubscriber.php | 12 +- .../src/EventSubscriber.php | 16 +- ...amic.other_module_test_with_dependency.yml | 2 + .../config/install/system.cron.yml | 2 +- .../src/ConfigOverrider.php | 6 +- .../src/ConfigOverriderLowPriority.php | 10 +- .../schema/config_schema_test.schema.yml | 27 + .../config_test/src/ConfigTestController.php | 10 +- .../tests/config_test/src/ConfigTestForm.php | 111 +- .../src/Entity/ConfigQueryTest.php | 2 +- .../config_test/src/Entity/ConfigTest.php | 6 +- .../src/SchemaListenerController.php | 2 +- .../config_test/src/TestInstallStorage.php | 2 +- .../Functional}/ConfigDependencyWebTest.php | 68 +- .../ConfigDraggableListBuilderTest.php | 4 +- .../ConfigEntityListMultilingualTest.php | 16 +- .../Functional}/ConfigEntityStatusUITest.php | 14 +- .../ConfigInstallProfileOverrideTest.php | 26 +- .../ConfigLanguageOverrideWebTest.php | 14 +- .../src/Functional}/ConfigOtherModuleTest.php | 17 +- .../SchemaConfigListenerWebTest.php | 10 +- .../src/Unit/Menu/ConfigLocalTasksTest.php | 16 +- .../config_translation.api.php | 4 +- .../config_translation.module | 43 +- .../d6_i18n_user_profile_field_instance.yml | 29 + .../src/ConfigEntityMapper.php | 22 +- .../src/ConfigFieldMapper.php | 2 +- .../src/ConfigMapperManager.php | 14 +- .../src/ConfigNamesMapper.php | 36 +- .../ConfigTranslationBlockListBuilder.php | 16 +- .../ConfigTranslationController.php | 44 +- .../ConfigTranslationEntityListBuilder.php | 28 +- .../ConfigTranslationFieldListBuilder.php | 18 +- .../ConfigTranslationMapperList.php | 12 +- .../src/Form/ConfigTranslationAddForm.php | 6 +- .../src/Form/ConfigTranslationDeleteForm.php | 4 +- .../src/Form/ConfigTranslationEditForm.php | 6 +- .../src/Form/ConfigTranslationFormBase.php | 14 +- .../src/FormElement/DateFormat.php | 2 +- .../src/FormElement/FormElementBase.php | 22 +- .../src/FormElement/ListElement.php | 12 +- .../src/FormElement/PluralVariants.php | 30 +- .../src/FormElement/TextFormat.php | 10 +- .../src/FormElement/Textarea.php | 4 +- .../src/FormElement/Textfield.php | 4 +- .../ConfigTranslationContextualLink.php | 2 +- .../LocalTask/ConfigTranslationLocalTask.php | 2 +- .../migrate/source/d6/I18nProfileField.php | 53 + .../src/Routing/RouteSubscriber.php | 2 +- .../src/Tests/ConfigTranslationFormTest.php | 4 +- .../Tests/ConfigTranslationInstallTest.php | 2 +- .../Tests/ConfigTranslationOverviewTest.php | 20 +- .../src/Tests/ConfigTranslationUiTest.php | 214 +- .../Tests/ConfigTranslationUiThemeTest.php | 2 +- .../config_translation_test.module | 2 +- .../ConfigTranslationDateFormatUiTest.php | 14 +- .../ConfigTranslationListUiTest.php | 68 +- .../ConfigTranslationViewListUiTest.php | 10 +- .../Migrate/d6/MigrateI18nUserConfigsTest.php | 2 +- ...igrateI18nUserProfileFieldInstanceTest.php | 64 + .../source/d6/I18nProfileFieldTest.php | 79 + .../tests/src/Unit/ConfigEntityMapperTest.php | 16 +- .../tests/src/Unit/ConfigFieldMapperTest.php | 6 +- .../src/Unit/ConfigMapperManagerTest.php | 90 +- .../tests/src/Unit/ConfigNamesMapperTest.php | 158 +- web/core/modules/contact/contact.module | 64 +- .../modules/contact/contact.post_update.php | 8 - web/core/modules/contact/contact.views.inc | 8 +- .../contact/src/ContactFormEditForm.php | 46 +- .../src/Controller/ContactController.php | 16 +- .../contact/src/Entity/ContactForm.php | 2 +- .../modules/contact/src/Entity/Message.php | 16 +- web/core/modules/contact/src/MailHandler.php | 12 +- web/core/modules/contact/src/MessageForm.php | 60 +- .../contact/src/MessageViewBuilder.php | 21 +- .../Plugin/migrate/source/ContactCategory.php | 8 +- .../src/Plugin/views/field/ContactLink.php | 4 +- .../Tests/ContactAuthenticatedUserTest.php | 35 - .../src/Tests/Views/ContactFieldsTest.php | 6 +- .../src/Tests/Views/ContactLinkTest.php | 22 +- .../tests/drupal-7.contact.database.php | 10 +- .../contact_storage_test.module | 6 +- .../ContactAuthenticatedUserTest.php | 35 + .../src/Functional}/ContactLanguageTest.php | 14 +- .../src/Functional}/ContactPersonalTest.php | 59 +- .../src/Functional}/ContactSitewideTest.php | 161 +- .../src/Functional}/ContactStorageTest.php | 12 +- .../tests/src/Kernel/MessageEntityTest.php | 8 +- .../Migrate/MigrateContactCategoryTest.php | 22 +- .../Migrate/d6/MigrateContactCategoryTest.php | 75 - .../Migrate/d6/MigrateContactSettingsTest.php | 2 +- .../tests/src/Unit/MailHandlerTest.php | 89 +- .../content_moderation.state.archived.yml | 8 - .../content_moderation.state.draft.yml | 8 - .../content_moderation.state.published.yml | 8 - ...ration.state_transition.archived_draft.yml | 11 - ...on.state_transition.archived_published.yml | 11 - ...oderation.state_transition.draft_draft.yml | 10 - ...ation.state_transition.draft_published.yml | 11 - ...on.state_transition.published_archived.yml | 11 - ...ation.state_transition.published_draft.yml | 11 - ...n.state_transition.published_published.yml | 10 - .../install/workflows.workflow.editorial.yml | 63 + .../schema/content_moderation.schema.yml | 98 +- .../content_moderation.info.yml | 4 +- .../content_moderation.links.action.yml | 11 - .../content_moderation.links.menu.yml | 21 - .../content_moderation.links.task.yml | 2 +- .../content_moderation.module | 63 +- .../content_moderation.permissions.yml | 17 +- .../content_moderation.routing.yml | 7 - .../content_moderation.services.yml | 4 +- .../src/ContentModerationState.php | 114 + .../ContentModerationStateStorageSchema.php | 6 +- .../src/Entity/ContentModerationState.php | 22 +- .../src/Entity/Handler/ModerationHandler.php | 28 +- .../Handler/ModerationHandlerInterface.php | 16 - .../Entity/Handler/NodeModerationHandler.php | 52 +- .../src/Entity/ModerationState.php | 102 - .../src/Entity/ModerationStateTransition.php | 114 - .../src/EntityOperations.php | 54 +- .../content_moderation/src/EntityTypeInfo.php | 94 +- .../BundleModerationConfigurationForm.php | 210 +- .../src/Form/EntityModerationForm.php | 43 +- .../src/Form/ModerationStateForm.php | 82 - .../ModerationStateTransitionDeleteForm.php | 49 - .../Form/ModerationStateTransitionForm.php | 151 - .../src/ModerationInformation.php | 37 +- .../src/ModerationInformationInterface.php | 11 + .../ModerationStateAccessControlHandler.php | 31 - .../src/ModerationStateInterface.php | 28 - .../src/ModerationStateListBuilder.php | 40 - .../ModerationStateTransitionInterface.php | 36 - .../ModerationStateTransitionListBuilder.php | 173 - .../EntityRevisionConverter.php | 2 +- .../content_moderation/src/Permissions.php | 31 +- .../Action/ModerationOptOutPublishNode.php | 21 +- .../Action/ModerationOptOutUnpublishNode.php | 21 +- .../ContentModerationStateFormatter.php | 77 + .../FieldWidget/ModerationStateWidget.php | 60 +- .../Field/ModerationStateFieldItemList.php | 104 +- .../src/Plugin/Menu/EditTab.php | 21 +- .../ModerationStateConstraintValidator.php | 25 +- .../Plugin/WorkflowType/ContentModeration.php | 292 + .../Routing/EntityModerationRouteProvider.php | 2 +- .../EntityTypeModerationRouteProvider.php | 2 +- .../src/StateTransitionValidation.php | 221 +- .../StateTransitionValidationInterface.php | 47 +- .../src/Tests/ModerationFormTest.php | 5 +- .../src/Tests/ModerationStateBlockTest.php | 11 +- .../src/Tests/ModerationStateNodeTest.php | 55 +- .../src/Tests/ModerationStateNodeTypeTest.php | 17 +- .../src/Tests/ModerationStateStatesTest.php | 75 - .../src/Tests/ModerationStateTestBase.php | 71 +- .../Tests/ModerationStateTransitionsTest.php | 91 - .../content_moderation/src/ViewsData.php | 10 +- ...ontent_moderation_test_local_task.info.yml | 9 + ..._moderation_test_local_task.links.task.yml | 4 + ...ent_moderation_test_local_task.routing.yml | 7 + .../Controller/TestLocalTaskController.php | 17 + .../config/install/views.view.latest.yml | 4 +- ...est_content_moderation_base_table_test.yml | 11 +- ...est_content_moderation_latest_revision.yml | 4 +- ....test_content_moderation_revision_test.yml | 2 +- .../ContentModerationWorkflowTypeTest.php | 78 + .../LatestRevisionViewsFilterTest.php | 20 +- .../tests/src/Functional/LocalTaskTest.php | 96 + .../src/Functional/ModerationActionsTest.php | 137 + .../src/Functional}/ModerationLocaleTest.php | 28 +- .../Functional/ModerationStateAccessTest.php | 27 +- .../Functional/ModerationStateTestBase.php | 143 + .../src/Functional}/NodeAccessTest.php | 28 +- .../ContentModerationPermissionsTest.php | 121 + .../Kernel/ContentModerationSchemaTest.php | 89 - .../src/Kernel/ContentModerationStateTest.php | 345 +- .../ContentModerationWorkflowTypeApiTest.php | 104 + .../tests/src/Kernel/EntityOperationsTest.php | 42 +- .../Kernel/EntityRevisionConverterTest.php | 10 +- .../EntityStateChangeValidationTest.php | 40 +- .../src/Kernel/ModerationStateEntityTest.php | 69 - .../ModerationStateFieldItemListTest.php | 13 +- .../tests/src/Kernel/StateFormatterTest.php | 90 + .../src/Kernel/ViewsDataIntegrationTest.php | 37 +- .../src/Unit/ModerationInformationTest.php | 81 +- .../Unit/StateTransitionValidationTest.php | 292 +- .../content_translation.admin.inc | 126 +- .../content_translation.install | 18 - .../content_translation.module | 62 +- .../src/ContentTranslationHandler.php | 112 +- .../src/ContentTranslationManager.php | 8 +- .../ContentTranslationController.php | 88 +- .../src/FieldTranslationSynchronizer.php | 16 +- .../ContentTranslationLocalTasks.php | 4 +- .../ContentTranslationRouteSubscriber.php | 98 +- .../Tests/ContentTestTranslationUITest.php | 4 +- .../ContentTranslationContextualLinksTest.php | 40 +- .../ContentTranslationDisableSettingTest.php | 69 + .../Tests/ContentTranslationEnableTest.php | 12 +- .../ContentTranslationLanguageChangeTest.php | 149 + .../Tests/ContentTranslationSettingsTest.php | 70 +- .../Tests/ContentTranslationSyncImageTest.php | 60 +- .../src/Tests/ContentTranslationTestBase.php | 23 +- .../Tests/ContentTranslationUITestBase.php | 88 +- .../Tests/ContentTranslationWorkflowsTest.php | 22 +- .../Views/ContentTranslationViewsUITest.php | 6 +- .../src/Tests/Views/TranslationLinkTest.php | 6 +- .../content_translation_test.module | 38 + .../Entity/EntityTestTranslatableNoUISkip.php | 12 + .../ContentTranslationEntityBundleUITest.php | 18 +- .../ContentTranslationLinkTagTest.php | 137 + .../ContentTranslationMetadataFieldsTest.php | 4 +- .../ContentTranslationOperationsTest.php | 2 +- .../ContentTranslationStandardFieldsTest.php | 14 +- .../Functional/ContentTranslationTestBase.php | 239 + .../ContentTranslationUISkipTest.php | 14 +- .../ContentTranslationUITestBase.php | 627 ++ .../ContentTranslationConfigImportTest.php | 20 +- .../ContentTranslationSettingsApiTest.php | 4 +- .../Kernel/ContentTranslationSyncUnitTest.php | 18 +- ...ontentTranslationManageAccessCheckTest.php | 14 +- .../Menu/ContentTranslationLocalTasksTest.php | 28 +- web/core/modules/contextual/contextual.module | 48 +- .../modules/contextual/contextual.views.inc | 8 +- web/core/modules/contextual/js/contextual.js | 2 +- .../contextual/src/ContextualController.php | 6 +- .../src/Element/ContextualLinks.php | 38 +- .../Element/ContextualLinksPlaceholder.php | 10 +- .../Plugin/views/field/ContextualLinks.php | 42 +- .../Tests/ContextualDynamicContextTest.php | 34 +- .../ContextualLinksTest.php | 62 + .../tests/src/Kernel/ContextualUnitTest.php | 100 +- .../config/schema/datetime.schema.yml | 4 +- web/core/modules/datetime/datetime.module | 6 +- .../DateTimeCustomFormatter.php | 10 +- .../DateTimeDefaultFormatter.php | 22 +- .../FieldFormatter/DateTimeFormatterBase.php | 10 +- .../FieldFormatter/DateTimePlainFormatter.php | 2 +- .../DateTimeTimeAgoFormatter.php | 22 +- .../Field/FieldType/DateTimeFieldItemList.php | 46 +- .../Plugin/Field/FieldType/DateTimeItem.php | 32 +- .../FieldWidget/DateTimeDatelistWidget.php | 47 +- .../FieldWidget/DateTimeDefaultWidget.php | 18 +- .../Field/FieldWidget/DateTimeWidgetBase.php | 13 +- .../datetime/src/Tests/DateTestBase.php | 5 +- .../datetime/src/Tests/DateTimeFieldTest.php | 228 +- .../tests/src/Kernel/DateTimeItemTest.php | 151 +- .../datetime_range/datetime_range.module | 6 +- .../datetime_range.post_update.php | 9 - .../DateRangeCustomFormatter.php | 2 +- .../DateRangeDefaultFormatter.php | 2 +- .../DateRangePlainFormatter.php | 2 +- .../Field/FieldWidget/DateRangeWidgetBase.php | 10 +- .../src/Tests/DateRangeFieldTest.php | 86 +- web/core/modules/dblog/dblog.admin.inc | 10 +- web/core/modules/dblog/dblog.install | 64 +- web/core/modules/dblog/dblog.module | 22 +- web/core/modules/dblog/dblog.views.inc | 222 +- .../dblog/src/Controller/DbLogController.php | 194 +- .../src/Form/DblogClearLogConfirmForm.php | 2 +- .../dblog/src/Form/DblogFilterForm.php | 28 +- web/core/modules/dblog/src/Logger/DbLog.php | 6 +- .../Plugin/rest/resource/DBLogResource.php | 4 +- .../src/Plugin/views/field/DblogMessage.php | 6 +- .../modules/dblog/src/Tests/DbLogTest.php | 146 +- .../src/Tests/Rest/DbLogResourceTest.php | 6 +- .../src/Functional}/ConnectionFailureTest.php | 10 +- .../src/Kernel/DbLogFormInjectionTest.php | 6 +- .../Migrate/d6/MigrateDblogConfigsTest.php | 2 +- .../src/Kernel/Views/ViewsIntegrationTest.php | 34 +- .../DynamicPageCacheIntegrationTest.php | 12 +- web/core/modules/editor/editor.admin.inc | 52 +- web/core/modules/editor/editor.api.php | 2 +- web/core/modules/editor/editor.module | 73 +- .../modules/editor/editor.post_update.php | 9 - .../editor/src/Ajax/EditorDialogSave.php | 4 +- .../modules/editor/src/EditorController.php | 2 +- .../editor/src/EditorXssFilter/Standard.php | 8 +- web/core/modules/editor/src/Element.php | 10 +- web/core/modules/editor/src/Entity/Editor.php | 4 +- .../editor/src/Form/EditorImageDialog.php | 70 +- .../editor/src/Form/EditorLinkDialog.php | 20 +- .../modules/editor/src/Plugin/EditorBase.php | 34 +- .../editor/src/Plugin/EditorManager.php | 12 +- .../src/Plugin/EditorPluginInterface.php | 56 +- .../src/Plugin/Filter/EditorFileReference.php | 2 +- .../src/Plugin/InPlaceEditor/Editor.php | 6 +- .../editor/src/Tests/EditorAdminTest.php | 26 +- .../editor/src/Tests/EditorLoadingTest.php | 84 +- .../editor/src/Tests/EditorSecurityTest.php | 212 +- .../Tests/QuickEditIntegrationLoadingTest.php | 55 +- .../modules/src/Plugin/Editor/TRexEditor.php | 12 +- .../src/Plugin/Editor/UnicornEditor.php | 18 +- .../Functional}/EditorDialogAccessTest.php | 2 +- .../EditorPrivateFileReferenceFilterTest.php | 4 +- .../Kernel/EditorFileReferenceFilterTest.php | 12 +- .../tests/src/Kernel/EditorFileUsageTest.php | 50 +- .../src/Kernel/EditorImageDialogTest.php | 4 +- .../tests/src/Kernel/EditorManagerTest.php | 36 +- .../src/Kernel/QuickEditIntegrationTest.php | 40 +- .../editor/tests/src/Unit/EditorBaseTest.php | 75 + .../src/Unit/EditorConfigEntityUnitTest.php | 18 +- .../src/Unit/EditorXssFilter/StandardTest.php | 226 +- web/core/modules/field/field.api.php | 4 +- web/core/modules/field/field.module | 30 +- web/core/modules/field/field.post_update.php | 17 - web/core/modules/field/field.purge.inc | 16 +- .../field/migration_templates/d7_field.yml | 5 +- .../migration_templates/d7_field_instance.yml | 1 + .../field/src/ConfigImporterFieldPurger.php | 8 +- .../modules/field/src/Entity/FieldConfig.php | 6 +- .../field/src/Entity/FieldStorageConfig.php | 20 +- .../modules/field/src/FieldConfigStorage.php | 12 +- .../field/src/FieldStorageConfigStorage.php | 10 +- .../d6/FieldFormatterSettingsDefaults.php | 4 +- .../process/d6/FieldInstanceDefaults.php | 4 +- .../process/d6/FieldInstanceSettings.php | 4 +- .../d6/FieldInstanceWidgetSettings.php | 42 +- .../migrate/process/d6/FieldSettings.php | 28 +- .../process/d7/FieldInstanceDefaults.php | 2 +- .../process/d7/FieldInstanceSettings.php | 4 +- .../migrate/process/d7/FieldSettings.php | 2 +- .../src/Plugin/migrate/source/d6/Field.php | 12 +- .../migrate/source/d6/FieldInstance.php | 16 +- .../source/d6/FieldInstancePerFormDisplay.php | 14 +- .../source/d6/FieldInstancePerViewMode.php | 19 +- .../src/Plugin/migrate/source/d7/Field.php | 18 +- .../migrate/source/d7/FieldInstance.php | 43 +- .../source/d7/FieldInstancePerFormDisplay.php | 24 +- .../source/d7/FieldInstancePerViewMode.php | 26 +- .../src/Tests/Boolean/BooleanFieldTest.php | 50 +- .../Boolean/BooleanFormatterSettingsTest.php | 28 +- .../field/src/Tests/Email/EmailFieldTest.php | 30 +- .../EntityReferenceAdminTest.php | 136 +- .../EntityReferenceFileUploadTest.php | 44 +- .../EntityReferenceTestTrait.php | 18 +- .../Tests/FieldDefaultValueCallbackTest.php | 6 +- .../FieldImportDeleteUninstallUiTest.php | 16 +- .../modules/field/src/Tests/FieldTestBase.php | 11 +- web/core/modules/field/src/Tests/FormTest.php | 194 +- .../field/src/Tests/NestedFormTest.php | 72 +- .../src/Tests/Number/NumberFieldTest.php | 286 +- .../src/Tests/String/StringFieldTest.php | 28 +- .../field/src/Tests/Views/FieldTestBase.php | 14 +- .../field/src/Tests/Views/FieldUITest.php | 24 +- .../src/Tests/Views/HandlerFieldFieldTest.php | 42 +- .../src/Tests/reEnableModuleFieldTest.php | 38 +- .../modules/field_test/field_test.entity.inc | 2 +- .../modules/field_test/field_test.field.inc | 2 +- .../modules/field_test/field_test.module | 6 +- .../src/Form/NestedEntityTestForm.php | 6 +- .../TestFieldApplicableFormatter.php | 2 +- .../TestFieldDefaultFormatter.php | 16 +- .../TestFieldEmptyFormatter.php | 10 +- .../TestFieldEmptySettingFormatter.php | 14 +- .../TestFieldMultipleFormatter.php | 18 +- .../TestFieldNoSettingsFormatter.php | 4 +- .../TestFieldPrepareViewFormatter.php | 16 +- .../src/Plugin/Field/FieldType/TestItem.php | 50 +- .../Field/FieldWidget/TestFieldWidget.php | 18 +- .../FieldWidget/TestFieldWidgetMultiple.php | 24 +- .../Constraint/TestFieldConstraint.php | 2 +- .../field_third_party_test.module | 8 +- .../EntityReferenceAutoCreateTest.php | 37 +- .../EntityReferenceFieldDefaultValueTest.php | 68 +- ...erenceFieldTranslatedReferenceViewTest.php | 78 +- .../EntityReferenceIntegrationTest.php | 61 +- .../EntityReferenceXSSTest.php | 7 +- .../EntityReference/Views/SelectionTest.php | 52 +- .../src/Functional}/FieldAccessTest.php | 22 +- .../src/Functional}/FieldHelpTest.php | 12 +- .../tests/src/Functional/FieldTestBase.php | 65 + .../src/Functional}/TranslationWebTest.php | 30 +- .../src/Kernel/Boolean/BooleanItemTest.php | 8 +- .../field/tests/src/Kernel/BulkDeleteTest.php | 74 +- .../field/tests/src/Kernel/DisplayApiTest.php | 110 +- .../tests/src/Kernel/Email/EmailItemTest.php | 8 +- .../EntityReferenceFormatterTest.php | 74 +- .../EntityReferenceItemTest.php | 42 +- .../Views/EntityReferenceRelationshipTest.php | 65 +- .../tests/src/Kernel/FieldAttachOtherTest.php | 88 +- .../src/Kernel/FieldAttachStorageTest.php | 76 +- .../field/tests/src/Kernel/FieldCrudTest.php | 26 +- .../tests/src/Kernel/FieldDataCountTest.php | 22 +- .../src/Kernel/FieldImportChangeTest.php | 4 +- .../src/Kernel/FieldImportCreateTest.php | 6 +- .../src/Kernel/FieldImportDeleteTest.php | 36 +- .../Kernel/FieldImportDeleteUninstallTest.php | 26 +- .../tests/src/Kernel/FieldKernelTestBase.php | 32 +- .../tests/src/Kernel/FieldStorageCrudTest.php | 134 +- .../src/Kernel/FieldTypePluginManagerTest.php | 26 +- .../tests/src/Kernel/FieldValidationTest.php | 18 +- .../src/Kernel/FormatterPluginManagerTest.php | 8 +- .../d6/MigrateFieldFormatterSettingsTest.php | 57 +- .../Migrate/d6/MigrateFieldInstanceTest.php | 16 +- .../Kernel/Migrate/d6/MigrateFieldTest.php | 24 +- .../d6/MigrateFieldWidgetSettingsTest.php | 19 +- .../d7/MigrateFieldFormatterSettingsTest.php | 36 +- .../Migrate/d7/MigrateFieldInstanceTest.php | 83 +- ...MigrateFieldInstanceWidgetSettingsTest.php | 4 +- .../Kernel/Migrate/d7/MigrateFieldTest.php | 59 +- .../src/Kernel/Number/NumberItemTest.php | 8 +- .../migrate/source/d7/FieldInstanceTest.php | 1 + .../field/tests/src/Kernel/ShapeItemTest.php | 6 +- .../Kernel/String/RawStringFormatterTest.php | 20 +- .../src/Kernel/String/StringFormatterTest.php | 20 +- .../field/tests/src/Kernel/TestItemTest.php | 28 +- .../Kernel/TestItemWithDependenciesTest.php | 6 +- .../tests/src/Kernel/TestObjectItemTest.php | 6 +- .../Timestamp/TimestampFormatterTest.php | 2 +- .../tests/src/Kernel/TranslationTest.php | 36 +- .../src/Kernel/WidgetPluginManagerTest.php | 10 +- .../src/Unit/FieldConfigEntityUnitTest.php | 44 +- .../migrate/process/d6/FieldSettingsTest.php | 38 +- .../config/schema/field_layout.schema.yml | 16 + .../field_layout/field_layout.info.yml | 8 + .../modules/field_layout/field_layout.install | 42 + .../modules/field_layout/field_layout.module | 69 + .../EntityDisplayWithLayoutInterface.php | 78 + .../Entity/FieldLayoutEntityDisplayTrait.php | 153 + .../Entity/FieldLayoutEntityFormDisplay.php | 24 + .../Entity/FieldLayoutEntityViewDisplay.php | 24 + .../field_layout/src/FieldLayoutBuilder.php | 153 + .../FieldLayoutEntityDisplayFormTrait.php | 177 + .../FieldLayoutEntityFormDisplayEditForm.php | 44 + .../FieldLayoutEntityViewDisplayEditForm.php | 44 + .../schema/field_layout_test.schema.yml | 7 + .../field_layout_test.info.yml | 8 + .../field_layout_test.routing.yml | 7 + .../Plugin/Layout/TestLayoutContentFooter.php | 27 + .../Plugin/Layout/TestLayoutMainFooter.php | 50 + .../tests/src/Functional/FieldLayoutTest.php | 76 + .../FunctionalJavascript/FieldLayoutTest.php | 266 + .../Kernel/FieldLayoutEntityDisplayTest.php | 183 + .../tests/src/Unit/FieldLayoutBuilderTest.php | 308 + web/core/modules/field_ui/field_ui.api.php | 12 +- web/core/modules/field_ui/field_ui.js | 35 +- web/core/modules/field_ui/field_ui.module | 48 +- .../EntityDisplayModeController.php | 28 +- .../field_ui/src/Element/FieldUiTable.php | 2 +- .../src/EntityDisplayModeListBuilder.php | 22 +- .../field_ui/src/FieldConfigListBuilder.php | 50 +- .../src/FieldStorageConfigListBuilder.php | 14 +- web/core/modules/field_ui/src/FieldUI.php | 8 +- .../src/Form/EntityDisplayFormBase.php | 345 +- .../src/Form/EntityDisplayModeAddForm.php | 2 +- .../src/Form/EntityDisplayModeDeleteForm.php | 2 +- .../src/Form/EntityDisplayModeFormBase.php | 63 +- .../src/Form/EntityFormDisplayEditForm.php | 19 +- .../src/Form/EntityViewDisplayEditForm.php | 41 +- .../src/Form/FieldConfigDeleteForm.php | 4 +- .../field_ui/src/Form/FieldConfigEditForm.php | 54 +- .../field_ui/src/Form/FieldStorageAddForm.php | 134 +- .../src/Form/FieldStorageConfigEditForm.php | 52 +- .../Plugin/Derivative/FieldUiLocalAction.php | 8 +- .../Plugin/Derivative/FieldUiLocalTask.php | 46 +- .../field_ui/src/Routing/RouteSubscriber.php | 60 +- .../field_ui/src/Tests/FieldUIDeleteTest.php | 14 +- .../field_ui/src/Tests/FieldUiTestTrait.php | 26 +- .../field_ui/src/Tests/ManageDisplayTest.php | 181 +- .../field_ui/src/Tests/ManageFieldsTest.php | 178 +- .../field_ui_test/field_ui_test.module | 36 +- .../src/Functional}/EntityDisplayModeTest.php | 38 +- .../src/Functional/EntityDisplayTest.php | 46 + .../Functional}/FieldUIIndentationTest.php | 14 +- .../src/Functional}/FieldUIRouteTest.php | 24 +- .../EntityDisplayTest.php | 106 + .../tests/src/Kernel/EntityDisplayTest.php | 189 +- .../src/Kernel/EntityFormDisplayTest.php | 84 +- web/core/modules/file/file.api.php | 6 +- web/core/modules/file/file.field.inc | 66 +- web/core/modules/file/file.install | 46 +- web/core/modules/file/file.module | 246 +- web/core/modules/file/file.views.inc | 24 +- .../file/migration_templates/d6_file.yml | 10 +- .../Controller/FileWidgetAjaxController.php | 8 +- .../modules/file/src/Element/ManagedFile.php | 10 +- web/core/modules/file/src/Entity/File.php | 2 +- .../modules/file/src/FileStorageSchema.php | 3 - .../FileUsage/DatabaseFileUsageBackend.php | 14 +- web/core/modules/file/src/FileViewsData.php | 220 +- .../FieldFormatter/FileExtensionFormatter.php | 4 +- .../FieldFormatter/FilemimeFormatter.php | 4 +- .../FieldFormatter/GenericFileFormatter.php | 12 +- .../FieldFormatter/RSSEnclosureFormatter.php | 8 +- .../Field/FieldFormatter/TableFormatter.php | 30 +- .../FieldFormatter/UrlPlainFormatter.php | 10 +- .../Field/FieldType/FileFieldItemList.php | 4 +- .../src/Plugin/Field/FieldType/FileItem.php | 116 +- .../Plugin/Field/FieldWidget/FileWidget.php | 122 +- .../Plugin/migrate/cckfield/d7/ImageField.php | 2 +- .../src/Plugin/migrate/source/d6/File.php | 4 +- .../src/Plugin/migrate/source/d6/Upload.php | 8 +- .../migrate/source/d6/UploadInstance.php | 28 +- .../src/Plugin/migrate/source/d7/File.php | 6 +- .../file/src/Plugin/views/argument/Fid.php | 24 +- .../file/src/Plugin/views/field/File.php | 6 +- .../modules/file/src/Tests/DownloadTest.php | 12 +- .../FileFieldAnonymousSubmissionTest.php | 48 +- .../file/src/Tests/FileFieldDisplayTest.php | 76 +- .../file/src/Tests/FileFieldPathTest.php | 22 +- .../src/Tests/FileFieldRSSContentTest.php | 19 +- .../file/src/Tests/FileFieldRevisionTest.php | 28 +- .../file/src/Tests/FileFieldTestBase.php | 87 +- .../file/src/Tests/FileFieldValidateTest.php | 68 +- .../file/src/Tests/FileFieldWidgetTest.php | 124 +- .../file/src/Tests/FileListingTest.php | 32 +- .../src/Tests/FileManagedFileElementTest.php | 60 +- .../file/src/Tests/FileManagedTestBase.php | 53 +- .../src/Tests/FileOnTranslatedEntityTest.php | 34 +- .../file/src/Tests/FilePrivateTest.php | 24 +- .../file/src/Tests/FileTokenReplaceTest.php | 14 +- .../PrivateFileOnTranslatedEntityTest.php | 28 +- .../src/Tests/RemoteFileSaveUploadTest.php | 2 +- .../modules/file/src/Tests/SaveUploadTest.php | 110 +- .../Views/RelationshipUserFileDataTest.php | 20 +- .../src/Form/FileModuleTestForm.php | 20 +- .../file/tests/file_test/file_test.module | 60 +- .../tests/file_test/src/Form/FileTestForm.php | 46 +- .../DummyReadOnlyStreamWrapper.php | 6 +- .../DummyRemoteStreamWrapper.php | 2 +- .../src/StreamWrapper/DummyStreamWrapper.php | 6 +- .../src/Functional/FileFieldTestBase.php | 320 + .../src/Functional}/FileManagedAccessTest.php | 16 +- .../src/Functional/FileManagedTestBase.php | 200 + .../file/tests/src/Kernel/AccessTest.php | 6 +- .../file/tests/src/Kernel/CopyTest.php | 16 +- .../file/tests/src/Kernel/DeleteTest.php | 16 +- .../file/tests/src/Kernel/FileItemTest.php | 12 +- .../src/Kernel/FileManagedUnitTestBase.php | 54 +- .../file/tests/src/Kernel/LoadTest.php | 26 +- .../Migrate/d6/MigrateFileConfigsTest.php | 2 +- .../src/Kernel/Migrate/d6/MigrateFileTest.php | 64 +- .../d6/MigrateUploadEntityDisplayTest.php | 2 +- .../d6/MigrateUploadEntityFormDisplayTest.php | 2 +- .../Migrate/d6/MigrateUploadFieldTest.php | 2 +- .../Migrate/d6/MigrateUploadInstanceTest.php | 2 +- .../Kernel/Migrate/d6/MigrateUploadTest.php | 10 +- .../Migrate/d7/MigrateFileConfigsTest.php | 2 +- .../file/tests/src/Kernel/MoveTest.php | 22 +- .../file/tests/src/Kernel/SaveDataTest.php | 20 +- .../file/tests/src/Kernel/SaveTest.php | 16 +- .../file/tests/src/Kernel/SpaceUsedTest.php | 2 +- .../file/tests/src/Kernel/UsageTest.php | 42 +- .../file/tests/src/Kernel/ValidateTest.php | 22 +- .../file/tests/src/Kernel/ValidatorTest.php | 10 +- .../Kernel/Views/ExtensionViewsFieldTest.php | 6 +- .../Plugin/migrate/process/d6/CckFileTest.php | 14 +- web/core/modules/filter/filter.api.php | 4 +- web/core/modules/filter/filter.module | 80 +- .../modules/filter/src/Annotation/Filter.php | 2 +- .../src/Controller/FilterController.php | 6 +- .../filter/src/Element/ProcessedText.php | 16 +- .../modules/filter/src/Element/TextFormat.php | 46 +- .../filter/src/Entity/FilterFormat.php | 12 +- .../src/FilterFormatAccessControlHandler.php | 2 +- .../filter/src/FilterFormatAddForm.php | 2 +- .../filter/src/FilterFormatEditForm.php | 2 +- .../filter/src/FilterFormatFormBase.php | 120 +- .../filter/src/FilterPluginCollection.php | 2 +- .../filter/src/FilterPluginManager.php | 2 +- .../filter/src/FilterProcessResult.php | 3 +- .../filter/src/Form/FilterDisableForm.php | 4 +- .../filter/src/Plugin/Filter/FilterAlign.php | 4 +- .../src/Plugin/Filter/FilterCaption.php | 14 +- .../filter/src/Plugin/Filter/FilterHtml.php | 174 +- .../src/Plugin/Filter/FilterHtmlEscape.php | 2 +- .../filter/src/Plugin/Filter/FilterNull.php | 4 +- .../filter/src/Plugin/Filter/FilterUrl.php | 4 +- .../modules/filter/src/Plugin/FilterBase.php | 28 +- .../process/d6/FilterFormatPermission.php | 2 +- .../Plugin/migrate/source/d6/FilterFormat.php | 14 +- .../Plugin/migrate/source/d7/FilterFormat.php | 4 +- .../filter/src/Tests/FilterAdminTest.php | 152 +- .../filter/src/Tests/FilterFormTest.php | 70 +- .../src/Tests/FilterFormatAccessTest.php | 49 +- .../src/Tests/FilterHtmlImageSecureTest.php | 46 +- .../src/Form/FilterTestFormatForm.php | 72 +- .../src/Plugin/Filter/FilterTestAssets.php | 8 +- .../src/Plugin/Filter/FilterTestCacheTags.php | 4 +- .../Plugin/Filter/FilterTestPlaceholders.php | 2 +- .../src/Plugin/Filter/FilterTestReplace.php | 2 +- .../FilterCaptionTwigDebugTest.php | 8 +- .../Functional}/FilterDefaultFormatTest.php | 26 +- .../src/Functional}/FilterHooksTest.php | 30 +- .../src/Functional}/FilterNoFormatTest.php | 10 +- .../src/Functional}/FilterSecurityTest.php | 30 +- .../filter/tests/src/Kernel/FilterAPITest.php | 260 +- .../tests/src/Kernel/FilterCrudTest.php | 34 +- .../src/Kernel/FilterDefaultConfigTest.php | 32 +- .../tests/src/Kernel/FilterKernelTest.php | 288 +- .../tests/src/Kernel/FilterSettingsTest.php | 18 +- .../Migrate/d7/MigrateFilterFormatTest.php | 2 +- .../migrate/source/d7/FilterFormatTest.php | 6 +- .../filter/tests/src/Unit/FilterHtmlTest.php | 14 + ..._display.comment.comment_forum.default.yml | 3 + ...entity_form_display.node.forum.default.yml | 8 + ...m_display.taxonomy_term.forums.default.yml | 2 + ..._display.comment.comment_forum.default.yml | 2 + ...entity_view_display.node.forum.default.yml | 4 + ....entity_view_display.node.forum.teaser.yml | 3 + ...w_display.taxonomy_term.forums.default.yml | 1 + web/core/modules/forum/forum.install | 112 +- web/core/modules/forum/forum.module | 154 +- web/core/modules/forum/forum.services.yml | 2 +- web/core/modules/forum/forum.views.inc | 142 +- .../Breadcrumb/ForumNodeBreadcrumbBuilder.php | 4 +- .../forum/src/Controller/ForumController.php | 20 +- .../modules/forum/src/Form/DeleteForm.php | 6 +- web/core/modules/forum/src/Form/ForumForm.php | 16 +- web/core/modules/forum/src/Form/Overview.php | 4 +- .../modules/forum/src/ForumIndexStorage.php | 34 +- web/core/modules/forum/src/ForumManager.php | 72 +- .../modules/forum/src/ForumSettingsForm.php | 20 +- .../forum/src/ForumUninstallValidator.php | 33 +- .../forum/src/Plugin/Block/ForumBlockBase.php | 20 +- .../ForumLeafConstraintValidator.php | 2 +- .../src/Tests/Views/ForumIntegrationTest.php | 43 +- .../src/Functional}/ForumBlockTest.php | 38 +- .../src/Functional}/ForumIndexTest.php | 24 +- .../src/Functional}/ForumNodeAccessTest.php | 26 +- .../src/Functional}/ForumTest.php | 162 +- .../src/Functional}/ForumUninstallTest.php | 42 +- .../Migrate/d6/MigrateForumConfigsTest.php | 4 +- .../ForumBreadcrumbBuilderBaseTest.php | 42 +- .../ForumListingBreadcrumbBuilderTest.php | 78 +- .../ForumNodeBreadcrumbBuilderTest.php | 78 +- .../forum/tests/src/Unit/ForumManagerTest.php | 6 +- .../hal/config/install/hal.settings.yml | 3 + .../modules/hal/config/schema/hal.schema.yml | 8 + web/core/modules/hal/hal.api.php | 62 + web/core/modules/hal/hal.info.yml | 1 - web/core/modules/hal/hal.install | 33 + web/core/modules/hal/hal.module | 4 +- web/core/modules/hal/hal.services.yml | 21 +- .../modules/hal/src/Encoder/JsonEncoder.php | 20 +- .../ExceptionHalJsonSubscriber.php | 19 - .../ConfigurableLinkManagerInterface.php | 20 + .../hal/src/LinkManager/LinkManager.php | 71 + .../hal/src/LinkManager/LinkManagerBase.php | 58 + .../src/LinkManager/LinkManagerInterface.php | 18 + .../src/LinkManager/RelationLinkManager.php | 144 + .../RelationLinkManagerInterface.php | 39 + .../hal/src/LinkManager/TypeLinkManager.php | 150 + .../LinkManager/TypeLinkManagerInterface.php | 40 + .../Normalizer/ContentEntityNormalizer.php | 73 +- .../EntityReferenceItemNormalizer.php | 28 +- .../src/Normalizer/FieldItemNormalizer.php | 19 +- .../hal/src/Normalizer/FieldNormalizer.php | 43 +- .../src/Normalizer/FileEntityNormalizer.php | 8 +- .../hal/src/Normalizer/NormalizerBase.php | 2 +- .../update/drupal-8.hal-hal_update_8301.php | 43 + .../update/drupal-8.rest-hal_update_8301.php | Bin 0 -> 4891 bytes .../tests/modules/hal_test/hal_test.info.yml | 6 + .../tests/modules/hal_test/hal_test.module | 46 + .../Action/ActionHalJsonAnonTest.php | 30 + .../Action/ActionHalJsonBasicAuthTest.php | 35 + .../Action/ActionHalJsonCookieTest.php | 35 + .../Block/BlockHalJsonAnonTest.php | 5 - .../Block/BlockHalJsonBasicAuthTest.php | 11 - .../Block/BlockHalJsonCookieTest.php | 5 - .../Comment/CommentHalJsonBasicAuthTest.php | 6 - .../Comment/CommentHalJsonTestBase.php | 16 +- .../CommentTypeHalJsonAnonTest.php | 30 + .../CommentTypeHalJsonBasicAuthTest.php | 35 + .../CommentTypeHalJsonCookieTest.php | 35 + .../ConfigTest/ConfigTestHalJsonAnonTest.php | 5 - .../ConfigTestHalJsonBasicAuthTest.php | 11 - .../ConfigTestHalJsonCookieTest.php | 5 - .../ConfigurableLanguageHalJsonAnonTest.php | 30 + ...nfigurableLanguageHalJsonBasicAuthTest.php | 35 + .../ConfigurableLanguageHalJsonCookieTest.php | 35 + .../EntityTest/EntityTestHalJsonAnonTest.php | 14 - .../EntityTestHalJsonBasicAuthTest.php | 6 - .../EntityTestLabelHalJsonAnonTest.php | 103 + .../EntityTestLabelHalJsonBasicAuthTest.php | 24 + .../EntityTestLabelHalJsonCookieTest.php | 19 + .../FilterFormatHalJsonAnonTest.php | 30 + .../FilterFormatHalJsonBasicAuthTest.php | 35 + .../FilterFormatHalJsonCookieTest.php | 35 + .../HalEntityNormalizationTrait.php | 14 +- .../ImageStyle/ImageStyleHalJsonAnonTest.php | 30 + .../ImageStyleHalJsonBasicAuthTest.php | 35 + .../ImageStyleHalJsonCookieTest.php | 35 + .../Item/ItemHalJsonAnonTest.php | 29 + .../Item/ItemHalJsonBasicAuthTest.php | 34 + .../Item/ItemHalJsonCookieTest.php | 34 + .../Item/ItemHalJsonTestBase.php | 100 + .../MenuLinkContentHalJsonAnonTest.php | 74 + .../MenuLinkContentHalJsonBasicAuthTest.php | 24 + .../MenuLinkContentHalJsonCookieTest.php | 19 + .../Node/NodeHalJsonAnonTest.php | 14 - .../Node/NodeHalJsonBasicAuthTest.php | 6 - .../NodeType/NodeTypeHalJsonAnonTest.php | 30 + .../NodeType/NodeTypeHalJsonBasicAuthTest.php | 35 + .../NodeType/NodeTypeHalJsonCookieTest.php | 35 + .../Role/RoleHalJsonAnonTest.php | 5 - .../Role/RoleHalJsonBasicAuthTest.php | 11 - .../Role/RoleHalJsonCookieTest.php | 5 - .../SearchPage/SearchPageHalJsonAnonTest.php | 30 + .../SearchPageHalJsonBasicAuthTest.php | 35 + .../SearchPageHalJsonCookieTest.php | 35 + .../Shortcut/ShortcutHalJsonAnonTest.php | 74 + .../Shortcut/ShortcutHalJsonBasicAuthTest.php | 24 + .../Shortcut/ShortcutHalJsonCookieTest.php | 18 + .../Term/TermHalJsonAnonTest.php | 14 - .../Term/TermHalJsonBasicAuthTest.php | 6 - .../User/UserHalJsonAnonTest.php | 14 - .../User/UserHalJsonBasicAuthTest.php | 6 - .../Vocabulary/VocabularyHalJsonAnonTest.php | 5 - .../VocabularyHalJsonBasicAuthTest.php | 11 - .../VocabularyHalJsonCookieTest.php | 5 - .../src/Functional}/FileDenormalizeTest.php | 22 +- ...JsonBasicAuthWorkaroundFor2805281Trait.php | 26 - ...eateHalSettingsForLinkDomainUpdateTest.php | 42 + ...nkDomainSettingFromRestToHalUpdateTest.php | 48 + .../hal/tests/src/Kernel/DenormalizeTest.php | 116 +- .../Kernel/EntityTranslationNormalizeTest.php | 7 +- .../tests/src/Kernel/FileNormalizeTest.php | 41 +- .../tests/src/Kernel/HalLinkManagerTest.php | 74 + .../hal/tests/src/Kernel/NormalizeTest.php | 168 +- .../tests/src/Kernel/NormalizerTestBase.php | 57 +- ...ormalizerDenormalizeExceptionsUnitTest.php | 7 +- ...ormalizerDenormalizeExceptionsUnitTest.php | 7 +- ...lizerDenormalizeExceptionsUnitTestBase.php | 10 +- web/core/modules/help/help.api.php | 2 +- web/core/modules/help/help.module | 16 +- .../help/src/Controller/HelpController.php | 18 +- .../help_test/src/SupernovaGenerator.php | 8 +- .../src/Functional/ExperimentalHelpTest.php | 2 +- .../help/tests/src/Functional/HelpTest.php | 18 +- .../help/tests/src/Functional/NoHelpTest.php | 4 +- web/core/modules/history/history.install | 74 +- web/core/modules/history/history.module | 24 +- web/core/modules/history/history.views.inc | 26 +- .../views/field/HistoryUserTimestamp.php | 16 +- .../views/filter/HistoryUserTimestamp.php | 4 +- .../modules/history/src/Tests/HistoryTest.php | 148 - .../src/Tests/Views/HistoryTimestampTest.php | 22 +- .../tests/src/Functional/HistoryTest.php | 174 + .../image/config/schema/image.schema.yml | 8 + web/core/modules/image/css/editors/image.css | 52 + .../modules/image/css/editors/image.theme.css | 100 + web/core/modules/image/image.admin.inc | 46 +- web/core/modules/image/image.field.inc | 14 +- web/core/modules/image/image.install | 25 +- web/core/modules/image/image.libraries.yml | 16 + web/core/modules/image/image.module | 85 +- web/core/modules/image/image.routing.yml | 26 + web/core/modules/image/image.views.inc | 24 +- web/core/modules/image/images/error.svg | 4 + web/core/modules/image/images/upload.svg | 4 + web/core/modules/image/js/editors/image.js | 342 + web/core/modules/image/js/theme.js | 86 + .../ImageStyleDownloadController.php | 12 +- .../Controller/QuickEditImageController.php | 225 + .../modules/image/src/Entity/ImageStyle.php | 16 +- .../image/src/Form/ImageEffectAddForm.php | 2 +- .../image/src/Form/ImageEffectDeleteForm.php | 4 +- .../image/src/Form/ImageEffectEditForm.php | 2 +- .../image/src/Form/ImageEffectFormBase.php | 22 +- .../image/src/Form/ImageStyleAddForm.php | 2 +- .../image/src/Form/ImageStyleDeleteForm.php | 2 +- .../image/src/Form/ImageStyleEditForm.php | 122 +- .../image/src/Form/ImageStyleFlushForm.php | 4 +- .../image/src/Form/ImageStyleFormBase.php | 14 +- .../modules/image/src/ImageEffectBase.php | 22 +- .../image/src/ImageStyleListBuilder.php | 8 +- .../Field/FieldFormatter/ImageFormatter.php | 35 +- .../FieldFormatter/ImageFormatterBase.php | 4 +- .../FieldFormatter/ImageUrlFormatter.php | 82 + .../src/Plugin/Field/FieldType/ImageItem.php | 180 +- .../Plugin/Field/FieldWidget/ImageWidget.php | 55 +- .../Plugin/ImageEffect/ConvertImageEffect.php | 16 +- .../Plugin/ImageEffect/CropImageEffect.php | 18 +- .../ImageEffect/DesaturateImageEffect.php | 2 +- .../Plugin/ImageEffect/ResizeImageEffect.php | 18 +- .../Plugin/ImageEffect/RotateImageEffect.php | 22 +- .../ImageEffect/ScaleAndCropImageEffect.php | 2 +- .../Plugin/ImageEffect/ScaleImageEffect.php | 14 +- .../image/src/Plugin/InPlaceEditor/Image.php | 39 + .../migrate/destination/EntityImageStyle.php | 2 +- .../migrate/source/d6/ImageCachePreset.php | 2 +- .../Plugin/migrate/source/d7/ImageStyles.php | 2 +- .../image/src/Routing/ImageStyleRoutes.php | 10 +- .../modules/image/src/Tests/FileMoveTest.php | 4 +- .../image/src/Tests/ImageAdminStylesTest.php | 160 +- .../image/src/Tests/ImageDimensionsTest.php | 78 +- .../src/Tests/ImageFieldDefaultImagesTest.php | 88 +- .../image/src/Tests/ImageFieldDisplayTest.php | 145 +- .../image/src/Tests/ImageFieldTestBase.php | 25 +- .../src/Tests/ImageFieldValidateTest.php | 18 +- .../src/Tests/ImageOnTranslatedEntityTest.php | 34 +- .../image/src/Tests/ImageStyleFlushTest.php | 38 +- .../src/Tests/ImageStylesPathAndUrlTest.php | 20 +- .../src/Tests/ImageThemeFunctionTest.php | 64 +- .../Tests/QuickEditImageControllerTest.php | 186 + .../Views/RelationshipUserImageDataTest.php | 20 +- .../image_module_test.module | 2 +- .../src/Functional}/ImageEffectsTest.php | 62 +- .../src/Functional/ImageFieldTestBase.php | 109 + .../src/Functional}/ImageFieldWidgetTest.php | 9 +- .../src/Functional}/ImageStyleDeleteTest.php | 2 +- .../QuickEditImageTest.php | 172 + .../src/Kernel/ImageFieldCreationTrait.php | 14 +- .../tests/src/Kernel/ImageFormatterTest.php | 10 +- .../image/tests/src/Kernel/ImageItemTest.php | 12 +- .../Migrate/d6/MigrateImageCacheTest.php | 12 +- .../Migrate/d7/MigrateImageStylesTest.php | 2 +- .../migrate/source/d7/ImageStylesTest.php | 2 +- .../src/Kernel/Views/ImageViewsDataTest.php | 18 +- .../image/tests/src/Unit/ImageStyleTest.php | 50 +- .../src/FormErrorHandler.php | 7 + .../FormErrorHandlerQuickEditTest.php | 92 + .../tests/src/Unit/FormErrorHandlerTest.php | 45 + web/core/modules/language/language.admin.inc | 76 +- web/core/modules/language/language.api.php | 14 +- web/core/modules/language/language.module | 70 +- .../modules/language/language.services.yml | 2 +- .../Config/LanguageConfigFactoryOverride.php | 9 +- ...LanguageConfigFactoryOverrideInterface.php | 4 + .../src/Config/LanguageConfigOverride.php | 2 +- .../src/ConfigurableLanguageManager.php | 28 +- .../ConfigurableLanguageManagerInterface.php | 2 +- .../language/src/DefaultLanguageItem.php | 2 +- .../src/Element/LanguageConfiguration.php | 40 +- .../src/Entity/ConfigurableLanguage.php | 8 +- .../src/EventSubscriber/ConfigSubscriber.php | 4 +- .../LanguageRequestSubscriber.php | 8 +- .../src/Form/ContentLanguageSettingsForm.php | 62 +- .../language/src/Form/LanguageAddForm.php | 64 +- .../language/src/Form/LanguageDeleteForm.php | 4 +- .../language/src/Form/LanguageEditForm.php | 10 +- .../language/src/Form/LanguageFormBase.php | 32 +- .../src/Form/NegotiationBrowserDeleteForm.php | 6 +- .../src/Form/NegotiationBrowserForm.php | 38 +- .../src/Form/NegotiationConfigureForm.php | 88 +- .../src/Form/NegotiationSelectedForm.php | 4 +- .../src/Form/NegotiationSessionForm.php | 4 +- .../language/src/Form/NegotiationUrlForm.php | 66 +- .../src/HttpKernel/PathProcessorLanguage.php | 6 +- .../src/LanguageAccessControlHandler.php | 3 + .../language/src/LanguageListBuilder.php | 18 +- .../language/src/LanguageNegotiator.php | 30 +- .../src/LanguageNegotiatorInterface.php | 6 +- .../language/src/LanguageServiceProvider.php | 11 +- .../src/Plugin/Block/LanguageBlock.php | 14 +- .../src/Plugin/Condition/Language.php | 18 +- .../src/Plugin/Derivative/LanguageBlock.php | 2 +- .../LanguageNegotiationContentEntity.php | 17 +- .../LanguageNegotiationSession.php | 17 +- .../LanguageNegotiationUrl.php | 33 +- .../migrate/destination/DefaultLangcode.php | 2 +- .../src/Plugin/migrate/source/Language.php | 12 +- .../source/d6/LanguageContentSettings.php | 8 +- .../source/d7/LanguageContentSettings.php | 8 +- .../EntityTypeWithoutLanguageFormTest.php | 8 +- .../LanguageConfigurationElementTest.php | 48 +- .../src/Tests/LanguageConfigurationTest.php | 56 +- ...anguageCustomLanguageConfigurationTest.php | 46 +- .../language/src/Tests/LanguageListTest.php | 70 +- .../src/Tests/LanguageLocaleListTest.php | 18 +- .../LanguageSelectorTranslatableTest.php | 12 +- .../src/Tests/LanguageSwitchingTest.php | 196 +- .../language/src/Tests/LanguageTourTest.php | 2 +- .../LanguageUILanguageNegotiationTest.php | 226 +- .../src/Tests/LanguageUrlRewritingTest.php | 26 +- .../src/Form/LanguageConfigurationElement.php | 12 +- .../Form/LanguageConfigurationElementTest.php | 4 +- .../tests/language_test/language_test.module | 26 +- .../src/Controller/LanguageTestController.php | 44 +- .../AdminPathEntityConverterLanguageTest.php | 20 +- .../LanguageBlockSettingsVisibilityTest.php | 12 +- .../LanguageBrowserDetectionTest.php | 34 +- .../LanguageConfigOverrideImportTest.php | 18 +- .../Functional}/LanguageConfigSchemaTest.php | 14 +- .../LanguageListModuleInstallTest.php | 16 +- .../LanguageNegotiationContentEntityTest.php | 10 +- .../LanguageNegotiationInfoTest.php | 38 +- .../Functional/LanguageNegotiationUrlTest.php | 77 + .../LanguagePathMonolingualTest.php | 20 +- .../Migrate/MigrateLanguageTest.php | 2 +- .../Condition/LanguageConditionTest.php | 12 +- .../ConfigurableLanguageManagerTest.php | 56 + .../src/Kernel/ConfigurableLanguageTest.php | 4 +- .../src/Kernel/EntityDefaultLanguageTest.php | 16 +- .../LanguageConfigFactoryOverrideTest.php | 43 + .../LanguageConfigOverrideInstallTest.php | 6 +- .../LanguageDependencyInjectionTest.php | 10 +- .../tests/src/Kernel/LanguageFallbackTest.php | 10 +- .../tests/src/Kernel/LanguageTestBase.php | 4 +- .../Migrate/MigrateDefaultLanguageTrait.php | 4 +- ...MigrateLanguageNegotiationSettingsTest.php | 6 +- ...MigrateLanguageNegotiationSettingsTest.php | 2 +- .../Plugin/migrate/source/LanguageTest.php | 89 + .../src/Kernel/Views/ArgumentLanguageTest.php | 20 +- .../src/Kernel/Views/FieldLanguageTest.php | 10 +- .../src/Kernel/Views/FilterLanguageTest.php | 20 +- .../src/Kernel/Views/LanguageTestBase.php | 26 +- .../src/Unit/ConfigurableLanguageUnitTest.php | 6 +- .../Unit/ContentLanguageSettingsUnitTest.php | 66 +- .../src/Unit/LanguageNegotiationUrlTest.php | 62 +- .../src/Unit/Menu/LanguageLocalTasksTest.php | 18 +- .../tests/src/Unit/Migrate/LanguageTest.php | 83 - .../Unit/process/LanguageNegotiationTest.php | 5 +- .../src/Unit/process/LanguageTypesTest.php | 5 +- .../layout_discovery.info.yml | 6 + .../layout_discovery/layout_discovery.install | 22 + .../layout_discovery.layouts.yml | 88 + .../layout_discovery.libraries.yml | 25 + .../layout_discovery/layout_discovery.module | 39 + .../layout_discovery.services.yml | 4 + .../layouts/onecol/layout--onecol.html.twig | 24 + .../layouts/onecol/onecol.css | 3 + .../layout--threecol-25-50-25.html.twig | 47 + .../threecol_25_50_25/threecol_25_50_25.css | 17 + .../layout--threecol-33-34-33.html.twig | 47 + .../threecol_33_34_33/threecol_33_34_33.css | 13 + .../layouts/twocol/layout--twocol.html.twig | 36 + .../layouts/twocol/twocol.css | 13 + .../layout--twocol-bricks.html.twig | 51 + .../layouts/twocol_bricks/twocol_bricks.css | 13 + .../templates/layout.html.twig | 18 + .../tests/src/Kernel/LayoutTest.php | 212 + web/core/modules/link/link.module | 14 +- .../Field/FieldFormatter/LinkFormatter.php | 54 +- .../FieldFormatter/LinkSeparateFormatter.php | 10 +- .../src/Plugin/Field/FieldType/LinkItem.php | 50 +- .../Plugin/Field/FieldWidget/LinkWidget.php | 65 +- .../LinkAccessConstraintValidator.php | 21 +- ...nkExternalProtocolsConstraintValidator.php | 21 +- ...NotExistingInternalConstraintValidator.php | 21 +- .../Constraint/LinkTypeConstraint.php | 61 +- .../LinkTypeConstraintValidator.php | 51 + .../src/Tests/Views/LinkViewsTokensTest.php | 16 +- .../src/Functional}/LinkFieldTest.php | 288 +- .../src/Functional}/LinkFieldUITest.php | 12 +- .../link/tests/src/Kernel/LinkItemTest.php | 6 +- .../LinkAccessConstraintValidatorTest.php | 3 +- ...ternalProtocolsConstraintValidatorTest.php | 7 +- ...xistingInternalConstraintValidatorTest.php | 5 +- web/core/modules/locale/locale.api.php | 8 +- web/core/modules/locale/locale.batch.inc | 34 +- web/core/modules/locale/locale.bulk.inc | 116 +- web/core/modules/locale/locale.compare.inc | 34 +- web/core/modules/locale/locale.fetch.inc | 18 +- web/core/modules/locale/locale.install | 199 +- web/core/modules/locale/locale.module | 175 +- web/core/modules/locale/locale.pages.inc | 4 +- web/core/modules/locale/locale.services.yml | 2 +- .../modules/locale/locale.translation.inc | 46 +- .../src/Controller/LocaleController.php | 4 +- .../modules/locale/src/Form/ExportForm.php | 51 +- .../modules/locale/src/Form/ImportForm.php | 74 +- .../locale/src/Form/LocaleSettingsForm.php | 32 +- .../locale/src/Form/TranslateEditForm.php | 60 +- .../locale/src/Form/TranslateFilterForm.php | 30 +- .../locale/src/Form/TranslateFormBase.php | 44 +- .../locale/src/Form/TranslationStatusForm.php | 92 +- web/core/modules/locale/src/Gettext.php | 10 +- .../locale/src/LocaleConfigManager.php | 38 +- .../locale/src/LocaleConfigSubscriber.php | 6 +- .../locale/src/LocaleDefaultConfigStorage.php | 6 +- web/core/modules/locale/src/LocaleEvent.php | 2 +- web/core/modules/locale/src/LocaleLookup.php | 18 +- .../locale/src/LocaleProjectStorage.php | 16 +- .../modules/locale/src/LocaleTranslation.php | 4 +- web/core/modules/locale/src/PluralFormula.php | 2 +- .../modules/locale/src/PoDatabaseReader.php | 8 +- .../modules/locale/src/PoDatabaseWriter.php | 40 +- .../src/StreamWrapper/TranslationsStream.php | 4 +- web/core/modules/locale/src/StringBase.php | 10 +- .../locale/src/StringDatabaseStorage.php | 82 +- .../locale/src/StringStorageInterface.php | 10 +- .../LocaleConfigTranslationImportTest.php | 36 +- .../src/Tests/LocaleConfigTranslationTest.php | 58 +- .../locale/src/Tests/LocaleExportTest.php | 26 +- .../src/Tests/LocaleFileSystemFormTest.php | 10 +- .../src/Tests/LocaleImportFunctionalTest.php | 152 +- .../Tests/LocaleJavascriptTranslationTest.php | 26 +- .../src/Tests/LocaleLibraryAlterTest.php | 2 +- .../src/Tests/LocalePluralFormatTest.php | 150 +- .../Tests/LocaleTranslateStringTourTest.php | 6 +- .../src/Tests/LocaleTranslationUiTest.php | 202 +- .../locale/src/Tests/LocaleUpdateBase.php | 62 +- .../locale/src/Tests/LocaleUpdateCronTest.php | 16 +- .../LocaleUpdateDevelopmentReleaseTest.php | 6 +- .../src/Tests/LocaleUpdateInterfaceTest.php | 30 +- .../locale/src/Tests/LocaleUpdateTest.php | 128 +- .../modules/locale/src/TranslationString.php | 2 +- .../modules/locale_test/locale_test.module | 44 +- .../locale_test_development_release.module | 4 +- .../src/Functional}/LocaleContentTest.php | 69 +- .../Functional}/LocaleLocaleLookupTest.php | 12 +- .../src/Functional}/LocalePathTest.php | 48 +- .../src/Functional}/LocaleStringTest.php | 80 +- .../LocaleTranslatedSchemaDefinitionTest.php | 30 +- .../src/Kernel/LocaleConfigManagerTest.php | 14 +- .../LocaleConfigSubscriberForeignTest.php | 2 +- .../src/Kernel/LocaleConfigSubscriberTest.php | 8 +- .../Migrate/MigrateLocaleConfigsTest.php | 4 +- .../tests/src/Unit/LocaleLookupTest.php | 84 +- .../src/Unit/Menu/LocaleLocalTasksTest.php | 22 +- .../locale/tests/src/Unit/StringBaseTest.php | 7 +- .../menu_link_content.module | 6 +- .../src/Controller/MenuController.php | 4 +- .../src/Entity/MenuLinkContent.php | 56 +- .../src/Form/MenuLinkContentDeleteForm.php | 4 +- .../src/Form/MenuLinkContentForm.php | 20 +- .../MenuLinkContentAccessControlHandler.php | 9 +- .../Plugin/Deriver/MenuLinkContentDeriver.php | 16 +- .../src/Plugin/Menu/MenuLinkContent.php | 10 +- .../src/Plugin/migrate/source/MenuLink.php | 4 +- .../src/Tests/MenuLinkContentFormTest.php | 59 +- .../MenuLinkContentTranslationUITest.php | 22 +- .../src/Functional}/LinksTest.php | 74 +- .../Kernel/Migrate/d6/MigrateMenuLinkTest.php | 2 +- .../Kernel/Migrate/d7/MigrateMenuLinkTest.php | 2 +- .../Plugin/migrate/source/MenuLinkTest.php | 12 +- web/core/modules/menu_ui/menu_ui.module | 113 +- .../menu_ui/src/Controller/MenuController.php | 2 +- .../menu_ui/src/Form/MenuDeleteForm.php | 6 +- .../menu_ui/src/Form/MenuLinkEditForm.php | 12 +- .../menu_ui/src/Form/MenuLinkResetForm.php | 6 +- web/core/modules/menu_ui/src/MenuForm.php | 162 +- .../modules/menu_ui/src/MenuListBuilder.php | 16 +- .../menu_ui/src/Tests/MenuLanguageTest.php | 44 +- .../menu_ui/src/Tests/MenuNodeTest.php | 90 +- .../modules/menu_ui/src/Tests/MenuTest.php | 273 +- .../menu_ui/src/Tests/MenuWebTestBase.php | 4 +- .../src/Functional}/MenuCacheTagsTest.php | 25 +- .../src/Functional}/MenuLinkReorderTest.php | 18 +- .../src/Functional}/MenuUninstallTest.php | 12 +- web/core/modules/migrate/migrate.api.php | 2 +- web/core/modules/migrate/migrate.install | 9 - web/core/modules/migrate/migrate.module | 2 +- web/core/modules/migrate/migrate.services.yml | 8 +- .../src/Exception/RequirementsException.php | 2 +- .../modules/migrate/src/MigrateExecutable.php | 38 +- .../modules/migrate/src/MigrateMessage.php | 4 +- .../src/Plugin/Derivative/MigrateEntity.php | 6 +- .../Derivative/MigrateEntityRevision.php | 6 +- ...otatedClassDiscoveryAutomatedProviders.php | 2 +- .../Discovery/ProviderFilterDecorator.php | 2 +- .../Plugin/MigrateDestinationInterface.php | 2 +- .../MigrateDestinationPluginManager.php | 2 +- .../src/Plugin/MigratePluginManager.php | 2 +- .../modules/migrate/src/Plugin/Migration.php | 12 +- .../src/Plugin/MigrationPluginManager.php | 14 +- .../MigrationPluginManagerInterface.php | 2 +- .../ComponentEntityDisplayBase.php | 6 +- .../src/Plugin/migrate/destination/Config.php | 2 +- .../migrate/destination/EntityConfigBase.php | 151 +- .../migrate/destination/EntityContentBase.php | 6 +- .../destination/EntityFieldInstance.php | 11 +- .../destination/EntityFieldStorageConfig.php | 2 +- .../migrate/destination/EntityRevision.php | 4 +- .../migrate/destination/EntityViewMode.php | 2 +- .../migrate/destination/NullDestination.php | 6 +- .../migrate/src/Plugin/migrate/id_map/Sql.php | 121 +- .../src/Plugin/migrate/process/Callback.php | 37 +- .../src/Plugin/migrate/process/Concat.php | 45 +- .../Plugin/migrate/process/DedupeEntity.php | 17 +- .../Plugin/migrate/process/DefaultValue.php | 33 +- .../src/Plugin/migrate/process/Download.php | 37 +- .../src/Plugin/migrate/process/Explode.php | 108 +- .../src/Plugin/migrate/process/Extract.php | 47 +- .../src/Plugin/migrate/process/FileCopy.php | 35 +- .../src/Plugin/migrate/process/Flatten.php | 33 +- .../src/Plugin/migrate/process/Get.php | 86 +- .../src/Plugin/migrate/process/Iterator.php | 2 +- .../Plugin/migrate/process/MachineName.php | 25 +- .../src/Plugin/migrate/process/Migration.php | 12 +- .../src/Plugin/migrate/process/Route.php | 45 +- .../Plugin/migrate/process/SkipOnEmpty.php | 80 +- .../migrate/process/SkipRowIfNotSet.php | 25 +- .../src/Plugin/migrate/process/StaticMap.php | 2 +- .../src/Plugin/migrate/process/Substr.php | 39 +- .../src/Plugin/migrate/process/UrlEncode.php | 19 +- .../src/Plugin/migrate/source/EmptySource.php | 6 +- .../migrate/source/SourcePluginBase.php | 16 +- .../src/Plugin/migrate/source/SqlBase.php | 46 +- web/core/modules/migrate/src/Row.php | 10 +- .../migrate/destination/DummyDestination.php | 2 +- .../src/Kernel/HighWaterNotJoinableTest.php | 68 + .../tests/src/Kernel/HighWaterTest.php | 58 + .../tests/src/Kernel/MigrateEventsTest.php | 36 +- .../Kernel/MigrateExternalTranslatedTest.php | 7 +- .../src/Kernel/MigrateInterruptionTest.php | 2 +- .../tests/src/Kernel/MigrateMessageTest.php | 2 +- .../MigrateRollbackEntityConfigTest.php | 168 + .../src/Kernel/MigrateSourceTestBase.php | 16 +- .../src/Kernel/MigrateSqlSourceTestBase.php | 6 +- .../tests/src/Kernel/MigrateStatusTest.php | 4 +- .../tests/src/Kernel/MigrateTestBase.php | 4 +- .../Kernel/Plugin/MigrationPluginListTest.php | 28 + .../migrate/tests/src/Kernel/SqlBaseTest.php | 4 +- .../tests/src/Kernel/process/CopyFileTest.php | 218 - .../tests/src/Kernel/process/FileCopyTest.php | 31 +- .../tests/src/Kernel/process/RouteTest.php | 2 +- .../Exception/RequirementsExceptionTest.php | 16 +- .../MigrateExecutableMemoryExceededTest.php | 4 +- .../tests/src/Unit/MigrateExecutableTest.php | 98 +- .../tests/src/Unit/MigrateSourceTest.php | 7 +- .../Unit/MigrateSqlIdMapEnsureTablesTest.php | 102 +- .../tests/src/Unit/MigrateSqlIdMapTest.php | 8 +- .../src/Unit/MigrateSqlSourceTestCase.php | 17 +- .../migrate/tests/src/Unit/MigrationTest.php | 12 +- .../destination/EntityContentBaseTest.php | 8 +- .../migrate/tests/src/Unit/RowTest.php | 52 +- .../migrate/tests/src/Unit/TestSqlIdMap.php | 10 +- .../tests/src/Unit/destination/ConfigTest.php | 12 +- .../Unit/destination/EntityRevisionTest.php | 2 +- .../PerComponentEntityDisplayTest.php | 12 +- .../PerComponentEntityFormDisplayTest.php | 12 +- .../tests/src/Unit/process/CallbackTest.php | 2 +- .../tests/src/Unit/process/ConcatTest.php | 8 +- .../src/Unit/process/DedupeEntityTest.php | 88 +- .../tests/src/Unit/process/ExplodeTest.php | 59 +- .../tests/src/Unit/process/ExtractTest.php | 17 +- .../tests/src/Unit/process/FlattenTest.php | 6 +- .../tests/src/Unit/process/GetTest.php | 16 +- .../tests/src/Unit/process/IteratorTest.php | 26 +- .../src/Unit/process/MachineNameTest.php | 2 +- .../tests/src/Unit/process/MigrationTest.php | 4 +- .../src/Unit/process/SkipOnEmptyTest.php | 6 +- .../tests/src/Unit/process/StaticMapTest.php | 32 +- .../tests/src/Unit/process/SubstrTest.php | 13 +- .../tests/src/Unit/process/UrlEncodeTest.php | 16 +- .../migrate_drupal/migrate_drupal.module | 2 +- .../destination/EntityFieldStorageConfig.php | 14 +- .../Plugin/migrate/source/DrupalSqlBase.php | 8 +- .../src/Plugin/migrate/source/Variable.php | 4 +- .../migrate/source/VariableMultiRow.php | 6 +- .../src/Plugin/migrate/source/d8/Config.php | 2 +- .../migrate_drupal/tests/fixtures/drupal6.php | 36 +- .../migrate_drupal/tests/fixtures/drupal7.php | 138 +- .../MigrateCckFieldPluginManagerTest.php | 2 +- .../src/Kernel/MigrateDrupalTestBase.php | 2 +- .../src/Kernel/d6/EntityContentBaseTest.php | 8 +- .../dependencies/MigrateDependenciesTest.php | 10 +- .../src/Unit/source/DrupalSqlBaseTest.php | 16 +- .../Unit/source/VariableMultiRowTestBase.php | 32 +- .../tests/src/Unit/source/VariableTest.php | 34 +- .../src/Unit/source/d6/Drupal6SqlBaseTest.php | 42 +- .../src/Unit/source/d6/i18nVariableTest.php | 10 +- .../migrate_drupal_ui.module | 24 +- .../src/Form/MigrateUpgradeForm.php | 10 +- .../src/Tests/MigrateAccessTest.php | 2 +- .../src/Tests/MigrateUpgradeTestBase.php | 5 +- .../src/Tests/d6/MigrateUpgrade6Test.php | 2 +- .../src/Tests/d7/MigrateUpgrade7Test.php | 2 +- .../config/optional/views.view.content.yml | 174 +- .../node/migration_templates/d7_node.yml | 5 +- .../d7_node_translation.yml | 42 + web/core/modules/node/node.admin.inc | 27 +- web/core/modules/node/node.api.php | 52 +- web/core/modules/node/node.install | 112 +- web/core/modules/node/node.js | 31 - web/core/modules/node/node.libraries.yml | 4 +- web/core/modules/node/node.module | 193 +- web/core/modules/node/node.tokens.inc | 76 +- .../modules/node/node.views_execution.inc | 12 +- .../src/Access/NodeRevisionAccessCheck.php | 10 +- .../src/ContextProvider/NodeRouteContext.php | 2 +- .../node/src/Controller/NodeController.php | 28 +- .../src/Controller/NodeViewController.php | 16 +- web/core/modules/node/src/Entity/Node.php | 85 +- web/core/modules/node/src/Entity/NodeType.php | 11 +- .../modules/node/src/Form/DeleteMultiple.php | 10 +- .../modules/node/src/Form/NodeDeleteForm.php | 4 +- .../modules/node/src/Form/NodePreviewForm.php | 30 +- .../node/src/Form/NodeRevisionDeleteForm.php | 14 +- .../node/src/Form/NodeRevisionRevertForm.php | 4 +- .../NodeRevisionRevertTranslationForm.php | 4 +- .../node/src/Form/NodeTypeDeleteConfirm.php | 34 +- .../node/src/NodeAccessControlHandler.php | 13 +- .../src/NodeAccessControlHandlerInterface.php | 4 +- web/core/modules/node/src/NodeForm.php | 162 +- .../node/src/NodeGrantDatabaseStorage.php | 12 +- .../src/NodeGrantDatabaseStorageInterface.php | 2 +- web/core/modules/node/src/NodeInterface.php | 54 +- web/core/modules/node/src/NodeListBuilder.php | 42 +- web/core/modules/node/src/NodePermissions.php | 40 +- web/core/modules/node/src/NodeStorage.php | 10 +- .../modules/node/src/NodeStorageSchema.php | 9 +- .../node/src/NodeTranslationHandler.php | 14 +- web/core/modules/node/src/NodeTypeForm.php | 106 +- .../modules/node/src/NodeTypeInterface.php | 9 +- .../modules/node/src/NodeTypeListBuilder.php | 12 +- web/core/modules/node/src/NodeViewBuilder.php | 40 +- web/core/modules/node/src/NodeViewsData.php | 228 +- .../src/Plugin/Action/AssignOwnerNode.php | 20 +- .../node/src/Plugin/Action/DeleteNode.php | 2 +- .../node/src/Plugin/Action/PublishNode.php | 3 +- .../node/src/Plugin/Action/StickyNode.php | 3 +- .../Plugin/Action/UnpublishByKeywordNode.php | 10 +- .../node/src/Plugin/Action/UnpublishNode.php | 3 +- .../node/src/Plugin/Action/UnstickyNode.php | 3 +- .../node/src/Plugin/Block/SyndicateBlock.php | 8 +- .../node/src/Plugin/Condition/NodeType.php | 12 +- .../NodeSelection.php | 3 +- .../node/src/Plugin/Search/NodeSearch.php | 150 +- .../node/src/Plugin/migrate/D6NodeDeriver.php | 14 +- .../node/src/Plugin/migrate/D7NodeDeriver.php | 41 +- .../migrate/destination/EntityNodeType.php | 2 +- .../migrate/process/d6/NodeUpdate7008.php | 2 +- .../src/Plugin/migrate/source/d6/Node.php | 12 +- .../Plugin/migrate/source/d6/NodeRevision.php | 4 +- .../src/Plugin/migrate/source/d6/NodeType.php | 16 +- .../src/Plugin/migrate/source/d6/ViewMode.php | 15 +- .../Plugin/migrate/source/d6/ViewModeBase.php | 4 +- .../src/Plugin/migrate/source/d7/Node.php | 79 +- .../Plugin/migrate/source/d7/NodeRevision.php | 4 +- .../src/Plugin/migrate/source/d7/NodeType.php | 12 +- .../src/Plugin/views/area/ListingEmpty.php | 16 +- .../node/src/Plugin/views/argument/Nid.php | 2 +- .../node/src/Plugin/views/argument/Type.php | 4 +- .../src/Plugin/views/argument/UidRevision.php | 2 +- .../node/src/Plugin/views/argument/Vid.php | 6 +- .../node/src/Plugin/views/field/Node.php | 8 +- .../node/src/Plugin/views/field/Path.php | 10 +- .../src/Plugin/views/filter/UidRevision.php | 2 +- .../modules/node/src/Plugin/views/row/Rss.php | 32 +- .../node/src/Plugin/views/wizard/Node.php | 40 +- .../src/Plugin/views/wizard/NodeRevision.php | 8 +- .../node/src/Routing/RouteSubscriber.php | 8 +- .../src/Tests/NodeAccessBaseTableTest.php | 34 +- .../node/src/Tests/NodeAccessPagerTest.php | 26 +- .../Tests/NodeAccessRebuildNodeGrantsTest.php | 10 +- .../modules/node/src/Tests/NodeAdminTest.php | 38 +- .../src/Tests/NodeBlockFunctionalTest.php | 24 +- .../node/src/Tests/NodeEditFormTest.php | 47 +- .../src/Tests/NodeEntityViewModeAlterTest.php | 8 +- .../src/Tests/NodeFieldMultilingualTest.php | 32 +- .../node/src/Tests/NodeFormButtonsTest.php | 34 +- .../node/src/Tests/NodeQueryAlterTest.php | 20 +- .../src/Tests/NodeRevisionPermissionsTest.php | 40 +- .../node/src/Tests/NodeRevisionsTest.php | 62 +- .../node/src/Tests/NodeSyndicateBlockTest.php | 6 +- .../modules/node/src/Tests/NodeTestBase.php | 25 +- .../modules/node/src/Tests/NodeTitleTest.php | 20 +- .../node/src/Tests/NodeTitleXSSTest.php | 8 +- .../node/src/Tests/NodeTranslationUITest.php | 82 +- .../modules/node/src/Tests/NodeTypeTest.php | 50 +- .../modules/node/src/Tests/NodeViewTest.php | 2 +- .../node/src/Tests/PagePreviewTest.php | 80 +- .../node/src/Tests/SummaryLengthTest.php | 6 +- .../node/src/Tests/Update/NodeUpdateTest.php | 41 + .../src/Tests/Views/BulkFormAccessTest.php | 50 +- .../node/src/Tests/Views/BulkFormTest.php | 40 +- .../src/Tests/Views/FilterUidRevisionTest.php | 18 +- .../node/src/Tests/Views/FrontPageTest.php | 25 +- .../Tests/Views/NodeContextualLinksTest.php | 28 +- .../src/Tests/Views/NodeFieldFilterTest.php | 22 +- .../src/Tests/Views/NodeFieldTokensTest.php | 2 +- .../src/Tests/Views/NodeIntegrationTest.php | 12 +- .../node/src/Tests/Views/NodeLanguageTest.php | 46 +- .../Tests/Views/NodeRevisionWizardTest.php | 12 +- .../node/src/Tests/Views/NodeTestBase.php | 4 +- .../node/src/Tests/Views/PathPluginTest.php | 18 +- .../Tests/Views/RevisionRelationshipsTest.php | 34 +- .../node/src/Tests/Views/RowPluginTest.php | 18 +- .../node/src/Tests/Views/StatusExtraTest.php | 16 +- .../node_access_test/node_access_test.module | 34 +- .../node_access_test_empty.module | 4 +- .../node_access_test_language.module | 8 +- .../tests/modules/node_test/node_test.module | 40 +- .../NodeAccessTestAutoBubblingController.php | 33 +- .../Migrate/d6/MigrateNodeRevisionTest.php | 2 +- .../Migrate/d7/NodeMigrateDeriverTest.php | 2 +- .../MultiStepNodeFormBasicOptionsTest.php | 18 +- .../src/Functional}/NodeAccessFieldTest.php | 20 +- .../NodeAccessGrantsCacheContextTest.php | 14 +- ...NodeAccessLanguageAwareCombinationTest.php | 110 +- .../NodeAccessLanguageAwareTest.php | 82 +- .../Functional}/NodeAccessLanguageTest.php | 58 +- .../Functional}/NodeAccessMenuLinkTest.php | 14 +- .../src/Functional}/NodeAccessRecordsTest.php | 32 +- .../NodeActionsConfigurationTest.php | 6 +- .../src/Functional}/NodeCacheTagsTest.php | 6 +- .../src/Functional}/NodeCreationTest.php | 44 +- .../NodeFormSaveChangedTimeTest.php | 20 +- .../src/Functional}/NodeHelpTest.php | 18 +- .../src/Functional}/NodeLinksTest.php | 12 +- .../src/Functional}/NodeLoadMultipleTest.php | 24 +- .../src/Functional}/NodePostSettingsTest.php | 18 +- .../src/Functional}/NodeRSSContentTest.php | 16 +- .../src/Functional}/NodeRevisionsAllTest.php | 46 +- .../NodeRevisionsUiBypassAccessTest.php | 8 +- .../src/Functional}/NodeRevisionsUiTest.php | 45 +- .../src/Functional}/NodeSaveTest.php | 30 +- .../NodeTemplateSuggestionsTest.php | 12 +- .../tests/src/Functional/NodeTestBase.php | 110 + .../NodeTypeInitialLanguageTest.php | 45 +- .../Functional}/NodeTypeTranslationTest.php | 48 +- .../src/Functional}/NodeViewLanguageTest.php | 6 +- .../src/Functional}/PageViewTest.php | 8 +- .../Kernel/Config/NodeImportChangeTest.php | 2 +- .../Kernel/Config/NodeImportCreateTest.php | 6 +- .../Migrate/d6/MigrateNodeConfigsTest.php | 2 +- .../src/Kernel/Migrate/d6/MigrateNodeTest.php | 26 +- .../Kernel/Migrate/d6/MigrateNodeTypeTest.php | 6 +- .../Migrate/d6/MigrateViewModesTest.php | 2 +- .../Migrate/d7/MigrateNodeDeriverTest.php | 51 + .../Migrate/d7/MigrateNodeSettingsTest.php | 2 +- .../src/Kernel/Migrate/d7/MigrateNodeTest.php | 35 +- .../Kernel/Migrate/d7/MigrateNodeTypeTest.php | 4 +- .../node/tests/src/Kernel/NodeAccessTest.php | 4 +- .../src/Kernel/NodeBodyFieldStorageTest.php | 4 +- .../tests/src/Kernel/NodeConditionTest.php | 14 +- .../tests/src/Kernel/NodeFieldAccessTest.php | 52 +- .../src/Kernel/NodeFieldOverridesTest.php | 4 +- .../node/tests/src/Kernel/NodeOwnerTest.php | 10 +- .../tests/src/Kernel/NodeTokenReplaceTest.php | 22 +- .../tests/src/Kernel/NodeValidationTest.php | 2 +- .../Plugin/migrate/source/d7/NodeTest.php | 163 +- .../migrate/source/d7/NodeTranslationTest.php | 69 + .../Plugin/views/field/NodeBulkFormTest.php | 8 +- web/core/modules/options/options.api.php | 16 +- web/core/modules/options/options.module | 10 +- .../OptionsDefaultFormatter.php | 6 +- .../FieldFormatter/OptionsKeyFormatter.php | 6 +- .../Plugin/Field/FieldType/ListFloatItem.php | 22 +- .../Field/FieldType/ListIntegerItem.php | 20 +- .../Plugin/Field/FieldType/ListItemBase.php | 32 +- .../Plugin/Field/FieldType/ListStringItem.php | 22 +- ...play.node.options_install_test.default.yml | 6 + ...play.node.options_install_test.default.yml | 2 + ...splay.node.options_install_test.teaser.yml | 2 + .../tests/options_test/options_test.module | 22 +- .../OptionsDynamicValuesApiTest.php | 6 +- .../OptionsDynamicValuesTestBase.php | 2 +- .../OptionsDynamicValuesValidationTest.php | 4 +- .../src/Functional}/OptionsFieldUITest.php | 111 +- .../OptionsFloatFieldImportTest.php | 20 +- .../OptionsSelectDynamicValuesTest.php | 6 +- .../src/Functional}/OptionsWidgetsTest.php | 134 +- .../tests/src/Kernel/OptionsFieldTest.php | 8 +- .../src/Kernel/OptionsFieldUnitTestBase.php | 16 +- .../src/Kernel/OptionsFormattersTest.php | 2 +- .../src/Kernel/Views/FileViewsDataTest.php | 18 +- .../Kernel/Views/OptionsListFilterTest.php | 74 + web/core/modules/outside_in/js/offcanvas.js | 91 +- web/core/modules/outside_in/js/outside_in.js | 2 +- .../src/Form/SystemMenuOffCanvasForm.php | 2 +- .../src/Plugin/Block/TestBlock.php | 49 - .../OutsideInBlockFormTest.php | 132 +- .../OutsideInJavascriptTestBase.php | 17 +- web/core/modules/page_cache/page_cache.module | 4 +- .../src/StackMiddleware/PageCache.php | 37 +- .../Tests/PageCacheTagsIntegrationTest.php | 49 +- .../page_cache/src/Tests/PageCacheTest.php | 82 +- .../modules/page_cache_form_test.install | 3 + .../path/migration_templates/d7_url_alias.yml | 12 + web/core/modules/path/path.api.php | 6 +- web/core/modules/path/path.install | 9 - web/core/modules/path/path.module | 26 +- .../path/src/Controller/PathController.php | 52 +- web/core/modules/path/src/Form/AddForm.php | 4 +- web/core/modules/path/src/Form/DeleteForm.php | 6 +- web/core/modules/path/src/Form/EditForm.php | 20 +- .../modules/path/src/Form/PathFilterForm.php | 28 +- .../modules/path/src/Form/PathFormBase.php | 26 +- .../src/Plugin/Field/FieldType/PathItem.php | 4 +- .../Plugin/Field/FieldWidget/PathWidget.php | 32 +- .../Plugin/migrate/destination/UrlAlias.php | 4 +- .../Plugin/migrate/source/UrlAliasBase.php | 4 +- .../modules/path/src/Tests/PathTestBase.php | 9 +- .../src/Functional}/PathAdminTest.php | 36 +- .../src/Functional}/PathAliasTest.php | 52 +- .../src/Functional}/PathLanguageTest.php | 36 +- .../src/Functional}/PathLanguageUiTest.php | 22 +- .../src/Functional}/PathNodeFormTest.php | 6 +- .../src/Functional}/PathTaxonomyTermTest.php | 18 +- .../tests/src/Functional/PathTestBase.php | 29 + .../Kernel/Migrate/d6/MigrateUrlAliasTest.php | 20 +- .../Kernel/Migrate/d7/MigrateUrlAliasTest.php | 52 +- .../src/Kernel/PathNoCanonicalLinkTest.php | 2 +- .../Unit/Field/PathFieldDefinitionTest.php | 4 +- .../quickedit/js/views/EntityToolbarView.js | 4 +- web/core/modules/quickedit/quickedit.api.php | 4 +- web/core/modules/quickedit/quickedit.module | 11 +- .../src/Ajax/FieldFormSavedCommand.php | 6 +- .../modules/quickedit/src/EditorSelector.php | 4 +- .../quickedit/src/Form/QuickEditFieldForm.php | 14 +- .../quickedit/src/MetadataGenerator.php | 12 +- .../src/Plugin/InPlaceEditor/FormEditor.php | 8 +- .../Plugin/InPlaceEditor/PlainTextEditor.php | 8 +- .../src/Plugin/InPlaceEditorBase.php | 4 +- .../quickedit/src/QuickEditController.php | 14 +- .../Tests/QuickEditAutocompleteTermTest.php | 32 +- .../src/Tests/QuickEditLoadingTest.php | 144 +- .../tests/modules/quickedit_test.module | 4 +- .../Plugin/InPlaceEditor/WysiwygEditor.php | 8 +- .../tests/src/Kernel/EditorSelectionTest.php | 20 +- .../src/Kernel/MetadataGeneratorTest.php | 46 +- .../tests/src/Kernel/QuickEditTestBase.php | 16 +- .../Access/EditEntityFieldAccessCheckTest.php | 36 +- web/core/modules/rdf/rdf.api.php | 4 +- web/core/modules/rdf/rdf.module | 82 +- .../modules/rdf/src/Entity/RdfMapping.php | 26 +- .../modules/rdf/src/RdfMappingInterface.php | 2 +- .../rdf/src/SchemaOrgDataConverter.php | 2 +- .../rdf/src/Tests/CommentAttributesTest.php | 140 +- .../rdf/src/Tests/Field/TestDataConverter.php | 2 +- .../rdf/src/Tests/GetNamespacesTest.php | 20 +- .../src/Tests/ImageFieldAttributesTest.php | 26 +- .../rdf_conflicting_namespaces.module | 4 +- .../rdf_test_namespaces.module | 4 +- .../EntityReferenceFieldAttributesTest.php | 68 +- .../Functional}/FileFieldAttributesTest.php | 18 +- .../src/Functional}/GetRdfNamespacesTest.php | 12 +- .../src/Functional}/NodeAttributesTest.php | 50 +- .../src/Functional}/StandardProfileTest.php | 132 +- .../Functional}/TaxonomyAttributesTest.php | 26 +- .../src/Functional}/UserAttributesTest.php | 54 +- .../modules/rdf/tests/src/Kernel/CrudTest.php | 32 +- .../Kernel/Field/DateTimeFieldRdfaTest.php | 12 +- .../src/Kernel/Field/EmailFieldRdfaTest.php | 14 +- .../Kernel/Field/EntityReferenceRdfaTest.php | 16 +- .../Field/FieldRdfaDatatypeCallbackTest.php | 16 +- .../src/Kernel/Field/FieldRdfaTestBase.php | 16 +- .../src/Kernel/Field/LinkFieldRdfaTest.php | 78 +- .../src/Kernel/Field/NumberFieldRdfaTest.php | 92 +- .../src/Kernel/Field/StringFieldRdfaTest.php | 8 +- .../Kernel/Field/TelephoneFieldRdfaTest.php | 24 +- .../src/Kernel/Field/TextFieldRdfaTest.php | 16 +- .../tests/src/Kernel/RdfaAttributesTest.php | 64 +- .../Unit/RdfMappingConfigEntityUnitTest.php | 22 +- .../responsive_image/responsive_image.module | 100 +- .../responsive_image.post_update.php | 9 - .../src/Entity/ResponsiveImageStyle.php | 14 +- .../ResponsiveImageFormatter.php | 45 +- .../src/ResponsiveImageStyleForm.php | 128 +- .../src/ResponsiveImageStyleInterface.php | 10 + .../src/ResponsiveImageStyleListBuilder.php | 4 +- .../src/Tests/ResponsiveImageAdminUITest.php | 28 +- .../Tests/ResponsiveImageFieldDisplayTest.php | 158 +- .../src/Tests/ResponsiveImageFieldUiTest.php | 54 +- ...sponsiveImageStyleConfigEntityUnitTest.php | 228 +- .../rest/config/install/rest.settings.yml | 4 - .../rest/config/schema/rest.schema.yml | 1 + web/core/modules/rest/rest.api.php | 14 +- web/core/modules/rest/rest.install | 16 +- web/core/modules/rest/rest.module | 6 +- web/core/modules/rest/rest.post_update.php | 10 - web/core/modules/rest/rest.services.yml | 21 +- .../rest/src/Entity/RestResourceConfig.php | 19 + .../ResourceResponseSubscriber.php | 204 + .../EventSubscriber/RestConfigSubscriber.php | 53 + .../ConfigurableLinkManagerInterface.php | 19 +- .../rest/src/LinkManager/LinkManager.php | 72 +- .../rest/src/LinkManager/LinkManagerBase.php | 57 +- .../src/LinkManager/LinkManagerInterface.php | 17 +- .../src/LinkManager/RelationLinkManager.php | 143 +- .../RelationLinkManagerInterface.php | 40 +- .../rest/src/LinkManager/TypeLinkManager.php | 149 +- .../LinkManager/TypeLinkManagerInterface.php | 41 +- .../rest/src/Plugin/Deriver/EntityDeriver.php | 8 +- .../modules/rest/src/Plugin/ResourceBase.php | 32 +- .../Plugin/rest/resource/EntityResource.php | 176 +- .../resource/EntityResourceAccessTrait.php | 35 + .../EntityResourceValidationTrait.php | 47 + .../src/Plugin/views/display/RestExport.php | 41 +- .../src/Plugin/views/row/DataFieldRow.php | 34 +- .../src/Plugin/views/style/Serializer.php | 14 +- web/core/modules/rest/src/RequestHandler.php | 125 +- .../modules/rest/src/ResourceResponse.php | 2 +- .../modules/rest/src/RestServiceProvider.php | 48 + .../rest/src/Routing/ResourceRoutes.php | 13 +- .../modules/rest/src/Tests/RESTTestBase.php | 265 +- .../modules/rest/src/Tests/ResourceTest.php | 2 +- .../Tests/Views/ExcludedFieldTokenTest.php | 1 - .../src/Tests/Views/StyleSerializerTest.php | 136 +- .../tests/modules/rest_test/rest_test.module | 18 - .../modules/rest_test/rest_test.services.yml | 9 + .../src/Authentication/Provider/TestAuth.php | 27 + .../Provider/TestAuthGlobal.php | 27 + .../Functional/CookieResourceTestTrait.php | 13 +- .../Action/ActionJsonAnonTest.php | 24 + .../Action/ActionJsonBasicAuthTest.php | 34 + .../Action/ActionJsonCookieTest.php | 29 + .../Action/ActionResourceTestBase.php | 89 + .../Block/BlockJsonAnonTest.php | 5 - .../Block/BlockJsonBasicAuthTest.php | 11 - .../Block/BlockJsonCookieTest.php | 5 - .../Block/BlockResourceTestBase.php | 22 +- .../Comment/CommentJsonAnonTest.php | 5 - .../Comment/CommentJsonBasicAuthTest.php | 11 - .../Comment/CommentJsonCookieTest.php | 5 - .../Comment/CommentResourceTestBase.php | 46 +- .../CommentType/CommentTypeJsonAnonTest.php | 24 + .../CommentTypeJsonBasicAuthTest.php | 34 + .../CommentType/CommentTypeJsonCookieTest.php | 29 + .../CommentTypeResourceTestBase.php | 77 + .../ConfigTest/ConfigTestJsonAnonTest.php | 5 - .../ConfigTestJsonBasicAuthTest.php | 11 - .../ConfigTest/ConfigTestJsonCookieTest.php | 5 - .../ConfigurableLanguageJsonAnonTest.php | 24 + .../ConfigurableLanguageJsonBasicAuthTest.php | 34 + .../ConfigurableLanguageJsonCookieTest.php | 29 + .../ConfigurableLanguageResourceTestBase.php | 77 + .../EntityResource/EntityResourceTestBase.php | 413 +- .../EntityTest/EntityTestJsonAnonTest.php | 5 - .../EntityTestJsonBasicAuthTest.php | 11 - .../EntityTest/EntityTestJsonCookieTest.php | 5 - .../EntityTest/EntityTestResourceTestBase.php | 24 +- .../EntityTestLabelJsonAnonTest.php | 24 + .../EntityTestLabelJsonBasicAuthTest.php | 34 + .../EntityTestLabelJsonCookieTest.php | 29 + .../EntityTestLabelResourceTestBase.php | 156 + .../FilterFormat/FilterFormatJsonAnonTest.php | 24 + .../FilterFormatJsonBasicAuthTest.php | 34 + .../FilterFormatJsonCookieTest.php | 29 + .../FilterFormatResourceTestBase.php | 88 + .../ImageStyle/ImageStyleJsonAnonTest.php | 24 + .../ImageStyleJsonBasicAuthTest.php | 34 + .../ImageStyle/ImageStyleJsonCookieTest.php | 29 + .../ImageStyle/ImageStyleResourceTestBase.php | 113 + .../EntityResource/Item/ItemJsonAnonTest.php | 24 + .../Item/ItemJsonBasicAuthTest.php | 34 + .../Item/ItemJsonCookieTest.php | 29 + .../Item/ItemResourceTestBase.php | 177 + .../MenuLinkContentJsonAnonTest.php | 24 + .../MenuLinkContentJsonBasicAuthTest.php | 34 + .../MenuLinkContentJsonCookieTest.php | 29 + .../MenuLinkContentResourceTestBase.php | 193 + .../EntityResource/Node/NodeJsonAnonTest.php | 5 - .../Node/NodeJsonBasicAuthTest.php | 11 - .../Node/NodeJsonCookieTest.php | 5 - .../Node/NodeResourceTestBase.php | 33 +- .../NodeType/NodeTypeJsonAnonTest.php | 24 + .../NodeType/NodeTypeJsonBasicAuthTest.php | 34 + .../NodeType/NodeTypeJsonCookieTest.php | 29 + .../NodeType/NodeTypeResourceTestBase.php | 90 + .../EntityResource/Role/RoleJsonAnonTest.php | 5 - .../Role/RoleJsonBasicAuthTest.php | 14 - .../Role/RoleJsonCookieTest.php | 5 - .../SearchPage/SearchPageJsonAnonTest.php | 24 + .../SearchPageJsonBasicAuthTest.php | 34 + .../SearchPage/SearchPageJsonCookieTest.php | 29 + .../SearchPage/SearchPageResourceTestBase.php | 102 + .../Shortcut/ShortcutJsonAnonTest.php | 24 + .../Shortcut/ShortcutJsonBasicAuthTest.php | 34 + .../Shortcut/ShortcutJsonCookieTest.php | 29 + .../Shortcut/ShortcutResourceTestBase.php | 159 + .../EntityResource/Term/TermJsonAnonTest.php | 5 - .../Term/TermJsonBasicAuthTest.php | 11 - .../Term/TermJsonCookieTest.php | 5 - .../Term/TermResourceTestBase.php | 24 +- .../EntityResource/User/UserJsonAnonTest.php | 5 - .../User/UserJsonBasicAuthTest.php | 11 - .../User/UserJsonCookieTest.php | 5 - .../User/UserResourceTestBase.php | 44 +- .../Vocabulary/VocabularyJsonAnonTest.php | 5 - .../VocabularyJsonBasicAuthTest.php | 11 - .../Vocabulary/VocabularyJsonCookieTest.php | 5 - ...JsonBasicAuthWorkaroundFor2805281Trait.php | 25 - .../tests/src/Functional/ResourceTestBase.php | 127 +- .../tests/src/Kernel/RequestHandlerTest.php | 258 +- .../tests/src/Kernel/RestLinkManagerTest.php | 85 - .../rest/tests/src/Unit/CollectRoutesTest.php | 22 +- .../EntityResourceValidationTraitTest.php | 72 + .../ResourceResponseSubscriberTest.php | 371 ++ web/core/modules/search/search.install | 104 +- web/core/modules/search/search.module | 82 +- web/core/modules/search/search.pages.inc | 10 +- .../src/Controller/SearchController.php | 38 +- .../modules/search/src/Entity/SearchPage.php | 4 +- .../search/src/Form/SearchBlockForm.php | 18 +- .../search/src/Form/SearchPageAddForm.php | 2 +- .../search/src/Form/SearchPageEditForm.php | 2 +- .../search/src/Form/SearchPageForm.php | 34 +- .../search/src/Form/SearchPageFormBase.php | 40 +- .../Plugin/ConfigurableSearchPluginBase.php | 4 +- .../src/Plugin/Derivative/SearchLocalTask.php | 6 +- .../search/src/Plugin/SearchPluginBase.php | 18 +- .../process/SearchConfigurationRankings.php | 2 +- .../d6/SearchConfigurationRankings.php | 2 +- .../src/Plugin/views/argument/Search.php | 10 +- .../search/src/Plugin/views/filter/Search.php | 24 +- .../search/src/Plugin/views/row/SearchRow.php | 10 +- .../search/src/Plugin/views/sort/Score.php | 2 +- .../search/src/Routing/SearchPageRoutes.php | 62 +- .../src/SearchPageAccessControlHandler.php | 2 +- .../search/src/SearchPageListBuilder.php | 126 +- .../search/src/SearchPageRepository.php | 2 +- web/core/modules/search/src/SearchQuery.php | 28 +- .../Tests/SearchAdvancedSearchFormTest.php | 28 +- .../search/src/Tests/SearchBlockTest.php | 20 +- .../search/src/Tests/SearchCommentTest.php | 86 +- .../Tests/SearchConfigSettingsFormTest.php | 96 +- .../search/src/Tests/SearchEmbedFormTest.php | 14 +- .../search/src/Tests/SearchLanguageTest.php | 46 +- .../Tests/SearchNodeUpdateAndDeletionTest.php | 30 +- .../src/Tests/SearchNumberMatchingTest.php | 22 +- .../search/src/Tests/SearchNumbersTest.php | 20 +- .../src/Tests/SearchPageCacheTagsTest.php | 19 +- .../search/src/Tests/SearchPageTextTest.php | 42 +- .../Tests/SearchPreprocessLangcodeTest.php | 24 +- .../search/src/Tests/SearchQueryAlterTest.php | 14 +- .../search/src/Tests/SearchRankingTest.php | 66 +- .../search/src/Tests/SearchTestBase.php | 21 +- .../modules/search/src/ViewsSearchQuery.php | 2 +- .../src/Form/SearchEmbeddedForm.php | 12 +- .../Plugin/Search/SearchExtraTypeSearch.php | 36 +- .../SearchCommentCountToggleTest.php | 16 +- .../Functional}/SearchDateIntervalTest.php | 6 +- .../src/Functional}/SearchExactTest.php | 24 +- .../SearchKeywordsConditionsTest.php | 16 +- .../SearchMultilingualEntityTest.php | 84 +- .../Functional}/SearchNodeDiacriticsTest.php | 24 +- .../Functional}/SearchNodePunctuationTest.php | 16 +- .../Functional}/SearchPageOverrideTest.php | 10 +- .../src/Functional}/SearchSetLocaleTest.php | 8 +- .../src/Functional}/SearchSimplifyTest.php | 20 +- .../tests/src/Functional/SearchTestBase.php | 92 + .../src/Functional}/SearchTokenizerTest.php | 20 +- .../Migrate/d6/MigrateSearchPageTest.php | 6 +- .../Migrate/d6/MigrateSearchSettingsTest.php | 2 +- .../Migrate/d7/MigrateSearchPageTest.php | 8 +- .../tests/src/Kernel/SearchExcerptTest.php | 6 +- .../tests/src/Kernel/SearchMatchTest.php | 150 +- .../src/Unit/SearchPageRepositoryTest.php | 26 +- .../src/Unit/SearchPluginCollectionTest.php | 2 +- .../config/install/serialization.settings.yml | 4 + .../config/schema/serialization.schema.yml | 7 + .../serialization/serialization.install | 48 + .../serialization/serialization.module | 4 +- .../serialization/serialization.services.yml | 32 +- .../serialization/src/Encoder/JsonEncoder.php | 16 +- .../serialization/src/Encoder/XmlEncoder.php | 6 +- .../EntityResolver/ChainEntityResolver.php | 4 +- .../EventSubscriber/BcConfigSubscriber.php | 55 + .../DefaultExceptionSubscriber.php | 87 +- .../UserRouteAlterSubscriber.php | 13 +- .../src/Normalizer/ComplexDataNormalizer.php | 5 +- .../src/Normalizer/ConfigEntityNormalizer.php | 4 +- .../Normalizer/ContentEntityNormalizer.php | 10 +- .../src/Normalizer/EntityNormalizer.php | 67 +- .../src/Normalizer/FieldItemNormalizer.php | 57 + .../src/Normalizer/FieldNormalizer.php | 57 + .../FieldableEntityNormalizerTrait.php | 140 + .../src/Normalizer/ListNormalizer.php | 4 +- .../src/Normalizer/MarkupNormalizer.php | 4 +- .../src/Normalizer/NullNormalizer.php | 2 +- .../Normalizer/PrimitiveDataNormalizer.php | 32 + .../src/Normalizer/TypedDataNormalizer.php | 2 +- .../RegisterEntityResolversCompilerPass.php | 6 +- ...gisterSerializationClassesCompilerPass.php | 23 +- .../field_normalization_test.info.yml | 6 + .../field_normalization_test.services.yml | 6 + .../Normalization/TextItemSillyNormalizer.php | 36 + .../src/SerializationTestEncoder.php | 2 +- .../src/SerializationTestNormalizer.php | 2 +- .../tests/src/Kernel/EntityResolverTest.php | 62 +- .../src/Kernel/EntitySerializationTest.php | 103 +- .../src/Kernel/FieldItemSerializationTest.php | 135 + .../tests/src/Kernel/NormalizerTestBase.php | 16 +- .../tests/src/Kernel/SerializationTest.php | 2 +- ...erSerializationClassesCompilerPassTest.php | 2 +- .../tests/src/Unit/Encoder/XmlEncoderTest.php | 6 +- .../ChainEntityResolverTest.php | 16 +- .../Unit/EntityResolver/UuidResolverTest.php | 14 +- .../DefaultExceptionSubscriberTest.php | 42 + .../Normalizer/ConfigEntityNormalizerTest.php | 2 +- .../ContentEntityNormalizerTest.php | 12 +- .../Unit/Normalizer/EntityNormalizerTest.php | 84 +- .../Unit/Normalizer/ListNormalizerTest.php | 4 +- .../Unit/Normalizer/NormalizerBaseTest.php | 16 +- .../PrimitiveDataNormalizerTest.php | 101 + web/core/modules/shortcut/shortcut.install | 40 +- web/core/modules/shortcut/shortcut.module | 110 +- .../src/Controller/ShortcutController.php | 6 +- .../src/Controller/ShortcutSetController.php | 12 +- .../modules/shortcut/src/Entity/Shortcut.php | 16 +- .../shortcut/src/Entity/ShortcutSet.php | 4 +- .../shortcut/src/Form/SetCustomize.php | 58 +- .../shortcut/src/Form/ShortcutDeleteForm.php | 4 +- .../src/Form/ShortcutSetDeleteForm.php | 4 +- .../shortcut/src/Form/SwitchShortcutSet.php | 72 +- .../src/Plugin/Block/ShortcutsBlock.php | 4 +- .../migrate/destination/ShortcutSetUsers.php | 16 +- .../src/Plugin/migrate/source/d7/Shortcut.php | 6 +- .../Plugin/migrate/source/d7/ShortcutSet.php | 4 +- .../migrate/source/d7/ShortcutSetUsers.php | 16 +- .../modules/shortcut/src/ShortcutForm.php | 6 +- .../modules/shortcut/src/ShortcutSetForm.php | 18 +- .../shortcut/src/ShortcutSetListBuilder.php | 4 +- .../shortcut/src/ShortcutSetStorage.php | 8 +- .../shortcut/src/Tests/ShortcutLinksTest.php | 64 +- .../shortcut/src/Tests/ShortcutSetsTest.php | 42 +- .../shortcut/src/Tests/ShortcutTestBase.php | 38 +- .../src/Tests/ShortcutTranslationUITest.php | 26 +- .../src/Functional}/ShortcutCacheTagsTest.php | 8 +- .../Migrate/d7/MigrateShortcutSetTest.php | 4 +- .../d7/MigrateShortcutSetUsersTest.php | 4 +- .../Kernel/Migrate/d7/MigrateShortcutTest.php | 4 +- .../src/Unit/Menu/ShortcutLocalTasksTest.php | 20 +- .../modules/simpletest/simpletest.install | 104 +- web/core/modules/simpletest/simpletest.module | 119 +- .../simpletest/src/AssertContentTrait.php | 104 +- .../simpletest/src/BlockCreationTrait.php | 10 +- .../src/ContentTypeCreationTrait.php | 10 +- .../src/Form/SimpletestResultsForm.php | 112 +- .../src/Form/SimpletestSettingsForm.php | 32 +- .../src/Form/SimpletestTestForm.php | 148 +- .../simpletest/src/InstallerTestBase.php | 20 +- .../modules/simpletest/src/KernelTestBase.php | 53 +- .../simpletest/src/NodeCreationTrait.php | 12 +- web/core/modules/simpletest/src/TestBase.php | 248 +- .../modules/simpletest/src/TestDiscovery.php | 26 +- .../simpletest/src/TestServiceProvider.php | 2 +- .../simpletest/src/Tests/BrokenSetUpTest.php | 6 +- .../simpletest/src/Tests/BrowserTest.php | 18 +- .../InstallationProfileModuleTestsTest.php | 10 +- .../src/Tests/KernelTestBaseTest.php | 86 +- .../Tests/MissingCheckedRequirementsTest.php | 8 +- .../src/Tests/SimpleTestBrowserTest.php | 34 +- .../src/Tests/SimpleTestInstallBatchTest.php | 2 +- .../simpletest/src/Tests/SimpleTestTest.php | 46 +- .../simpletest/src/Tests/TimeZoneTest.php | 2 +- .../src/Tests/UiPhpUnitOutputTest.php | 43 + .../simpletest/src/UserCreationTrait.php | 22 +- .../modules/simpletest/src/WebTestBase.php | 657 +- .../simpletest_phpunit_browsertest.php | 24 + .../simpletest_test/simpletest_test.install | 10 +- .../src/Functional}/FolderTest.php | 10 +- .../src/Functional}/MailCaptureTest.php | 40 +- .../MissingDependentModuleUnitTest.php | 8 +- .../OtherInstallationProfileTestsTest.php | 12 +- .../src/Functional}/UserHelpersTest.php | 8 +- .../JavascriptGetDrupalSettingsTest.php | 2 +- .../d6/MigrateSimpletestConfigsTest.php | 4 +- .../simpletest/tests/src/Traits/TestTrait.php | 32 + .../tests/src/Unit/TestBaseTest.php | 112 +- .../tests/src/Unit/TestInfoParsingTest.php | 4 +- .../tests/src/Unit/TraitAccessTest.php | 25 + .../tests/src/Unit/WebTestBaseTest.php | 48 +- .../config/install/statistics.settings.yml | 3 - .../config/schema/statistics.schema.yml | 10 - .../statistics_settings.yml | 2 - .../src/NodeStatisticsDatabaseStorage.php | 148 + .../Plugin/Block/StatisticsPopularBlock.php | 147 +- .../statistics/src/StatisticsSettingsForm.php | 8 +- .../src/StatisticsStorageInterface.php | 85 + .../statistics/src/StatisticsViewsResult.php | 60 + .../src/Tests/StatisticsAdminTest.php | 40 +- .../src/Tests/StatisticsLoggingTest.php | 22 +- .../src/Tests/StatisticsReportsTest.php | 32 +- .../src/Tests/StatisticsTestBase.php | 11 +- .../src/Tests/Views/IntegrationTest.php | 19 +- .../modules/statistics/statistics.install | 35 +- web/core/modules/statistics/statistics.module | 86 +- web/core/modules/statistics/statistics.php | 15 +- .../statistics/statistics.services.yml | 6 + .../modules/statistics/statistics.tokens.inc | 22 +- .../modules/statistics/statistics.views.inc | 68 +- .../Functional}/StatisticsAttachedTest.php | 10 +- .../src/Functional/StatisticsTestBase.php | 51 + .../StatisticsTokenReplaceTest.php | 20 +- .../d6/MigrateStatisticsConfigsTest.php | 6 +- .../d7/MigrateStatisticsConfigsTest.php | 6 +- web/core/modules/syslog/src/Logger/SysLog.php | 6 +- .../modules/syslog/src/Tests/SyslogTest.php | 41 - web/core/modules/syslog/syslog.module | 18 +- .../tests/src/Functional/SyslogTest.php | 40 + .../Migrate/d6/MigrateSyslogConfigsTest.php | 4 +- .../Migrate/d7/MigrateSyslogConfigsTest.php | 2 +- .../system/config/install/system.cron.yml | 1 + .../system/config/schema/system.schema.yml | 3 + .../css/components/system-status-counter.css | 30 + .../system-status-report-counters.css | 27 + .../system-status-report-general-info.css | 14 + web/core/modules/system/css/system.admin.css | 9 +- .../system/src/Controller/AdminController.php | 10 +- .../src/Controller/DbUpdateController.php | 158 +- .../EntityAutocompleteController.php | 2 +- .../src/Controller/Http4xxController.php | 2 +- .../src/Controller/SystemController.php | 92 +- .../src/Controller/SystemInfoController.php | 4 +- .../system/src/Controller/ThemeController.php | 28 +- .../src/DateFormatAccessControlHandler.php | 2 +- .../system/src/Element/StatusReportPage.php | 139 + web/core/modules/system/src/Entity/Action.php | 4 +- .../EventSubscriber/AdminRouteSubscriber.php | 2 +- .../system/src/FileDownloadController.php | 2 +- web/core/modules/system/src/Form/CronForm.php | 60 +- .../system/src/Form/DateFormatDeleteForm.php | 4 +- .../system/src/Form/DateFormatEditForm.php | 2 +- .../system/src/Form/DateFormatFormBase.php | 22 +- .../system/src/Form/FileSystemForm.php | 30 +- .../system/src/Form/ImageToolkitForm.php | 26 +- .../modules/system/src/Form/LoggingForm.php | 8 +- .../src/Form/ModulesListConfirmForm.php | 14 +- .../system/src/Form/ModulesListForm.php | 145 +- .../src/Form/ModulesUninstallConfirmForm.php | 6 +- .../system/src/Form/ModulesUninstallForm.php | 36 +- .../system/src/Form/PerformanceForm.php | 36 +- .../modules/system/src/Form/RegionalForm.php | 54 +- .../modules/system/src/Form/RssFeedsForm.php | 18 +- .../system/src/Form/SiteInformationForm.php | 42 +- .../src/Form/SiteMaintenanceModeForm.php | 28 +- .../system/src/Form/ThemeAdminForm.php | 16 +- .../system/src/Form/ThemeSettingsForm.php | 134 +- .../system/src/PathBasedBreadcrumbBuilder.php | 8 +- .../src/Plugin/Block/SystemBrandingBlock.php | 44 +- .../src/Plugin/Block/SystemMenuBlock.php | 28 +- .../src/Plugin/Block/SystemMessagesBlock.php | 4 +- .../src/Plugin/Block/SystemPoweredByBlock.php | 2 +- .../Condition/CurrentThemeCondition.php | 10 +- .../src/Plugin/Condition/RequestPath.php | 14 +- .../src/Plugin/Derivative/SystemMenuBlock.php | 2 +- .../src/Plugin/Derivative/ThemeLocalTask.php | 2 +- .../src/Plugin/ImageToolkit/GDToolkit.php | 20 +- .../ImageToolkit/Operation/gd/Convert.php | 12 +- .../ImageToolkit/Operation/gd/CreateNew.php | 24 +- .../Plugin/ImageToolkit/Operation/gd/Crop.php | 26 +- .../ImageToolkit/Operation/gd/Desaturate.php | 4 +- .../ImageToolkit/Operation/gd/Resize.php | 18 +- .../ImageToolkit/Operation/gd/Rotate.php | 18 +- .../ImageToolkit/Operation/gd/Scale.php | 18 +- .../Operation/gd/ScaleAndCrop.php | 18 +- .../system/src/Plugin/migrate/source/Menu.php | 4 +- .../src/Plugin/views/field/BulkForm.php | 71 +- .../system/src/SystemConfigSubscriber.php | 6 +- web/core/modules/system/src/SystemManager.php | 22 +- .../system/src/Tests/Ajax/AjaxInGroupTest.php | 4 +- .../system/src/Tests/Ajax/AjaxTestBase.php | 2 +- .../system/src/Tests/Ajax/CommandsTest.php | 44 +- .../system/src/Tests/Ajax/DialogTest.php | 76 +- .../src/Tests/Ajax/ElementValidationTest.php | 6 +- .../system/src/Tests/Ajax/FormValuesTest.php | 22 +- .../system/src/Tests/Ajax/FrameworkTest.php | 56 +- .../system/src/Tests/Ajax/MultiFormTest.php | 16 +- .../system/src/Tests/Batch/PageTest.php | 14 +- .../system/src/Tests/Batch/ProcessingTest.php | 53 +- .../AssertPageCacheContextsAndTagsTrait.php | 10 +- .../system/src/Tests/Cache/CacheTestBase.php | 5 +- .../Cache/GenericCacheBackendUnitTestBase.php | 88 +- .../src/Tests/Cache/PageCacheTagsTestBase.php | 7 +- .../Cache/SessionExistsCacheContextTest.php | 2 +- .../system/src/Tests/Common/AddFeedTest.php | 48 +- .../system/src/Tests/Common/AlterTest.php | 20 +- .../Common/EarlyRenderingControllerTest.php | 2 +- .../src/Tests/Common/FormatDateTest.php | 24 +- .../Common/NoJavaScriptAnonymousTest.php | 9 +- .../system/src/Tests/Common/RenderWebTest.php | 108 +- .../Common/SimpleTestErrorCollectorTest.php | 22 +- .../system/src/Tests/Common/UrlTest.php | 138 +- .../src/Tests/Condition/ConditionFormTest.php | 10 +- .../Tests/Database/DatabaseWebTestBase.php | 2 +- .../Tests/Database/SelectPagerDefaultTest.php | 38 +- .../Database/SelectTableSortDefaultTest.php | 38 +- .../src/Tests/Database/TemporaryQueryTest.php | 12 +- .../Tests/Entity/EntityCacheTagsTestBase.php | 73 +- .../Entity/EntityDefinitionTestTrait.php | 26 +- .../src/Tests/Entity/EntityFormTest.php | 44 +- .../Entity/EntityTranslationFormTest.php | 26 +- .../src/Tests/Entity/EntityUnitTestBase.php | 20 +- .../Entity/EntityWithUriCacheTagsTestBase.php | 2 +- .../UpdateApiEntityDefinitionUpdateTest.php | 2 +- .../system/src/Tests/Form/AlterTest.php | 10 +- .../src/Tests/Form/ArbitraryRebuildTest.php | 22 +- .../system/src/Tests/Form/CheckboxTest.php | 30 +- .../system/src/Tests/Form/ConfirmFormTest.php | 24 +- .../system/src/Tests/Form/ElementTest.php | 58 +- .../src/Tests/Form/ElementsLabelsTest.php | 14 +- .../Tests/Form/ElementsTableSelectTest.php | 64 +- .../Tests/Form/ElementsVerticalTabsTest.php | 12 +- .../system/src/Tests/Form/EmailTest.php | 14 +- .../Tests/Form/FormStoragePageCacheTest.php | 2 +- .../system/src/Tests/Form/FormTest.php | 252 +- .../Tests/Form/LanguageSelectElementTest.php | 38 +- .../src/Tests/Form/ProgrammaticTest.php | 34 +- .../system/src/Tests/Form/RebuildTest.php | 26 +- .../system/src/Tests/Form/ResponseTest.php | 2 +- .../Form/StateValuesCleanAdvancedTest.php | 6 +- .../src/Tests/Form/StateValuesCleanTest.php | 28 +- .../system/src/Tests/Form/StorageTest.php | 30 +- .../src/Tests/Form/SystemConfigFormTest.php | 8 +- .../src/Tests/Form/TriggeringElementTest.php | 24 +- .../modules/system/src/Tests/Form/UrlTest.php | 14 +- .../system/src/Tests/Form/ValidationTest.php | 98 +- .../src/Tests/Image/ToolkitSetupFormTest.php | 18 +- .../system/src/Tests/Image/ToolkitTest.php | 24 +- .../src/Tests/Image/ToolkitTestBase.php | 48 +- ...istributionProfileExistingSettingsTest.php | 132 + .../Installer/DistributionProfileTest.php | 18 +- ...istributionProfileTranslationQueryTest.php | 12 +- .../DistributionProfileTranslationTest.php | 12 +- ...ConfigDirectorySetNoDirectoryErrorTest.php | 4 +- ...allerConfigDirectorySetNoDirectoryTest.php | 8 +- .../InstallerExistingConfigDirectoryTest.php | 4 +- .../InstallerExistingDatabaseSettingsTest.php | 14 +- ...stingSettingsMismatchProfileBrokenTest.php | 108 + ...lerExistingSettingsMismatchProfileTest.php | 101 + ...InstallerExistingSettingsNoProfileTest.php | 19 +- .../InstallerExistingSettingsTest.php | 24 +- .../src/Tests/Installer/InstallerTest.php | 6 +- ...stallerTranslationMultipleLanguageTest.php | 10 +- .../Installer/InstallerTranslationTest.php | 6 +- .../MultipleDistributionsProfileTest.php | 91 + .../Installer/SingleVisibleProfileTest.php | 4 +- .../src/Tests/Installer/SiteNameTest.php | 2 +- .../Tests/Installer/StandardInstallerTest.php | 4 +- .../src/Tests/Menu/AssertBreadcrumbTrait.php | 14 +- .../Tests/Menu/AssertMenuActiveTrailTrait.php | 12 +- .../system/src/Tests/Menu/BreadcrumbTest.php | 174 +- .../system/src/Tests/Menu/LocalActionTest.php | 4 +- .../system/src/Tests/Menu/LocalTasksTest.php | 14 +- .../system/src/Tests/Menu/MenuRouterTest.php | 16 +- .../src/Tests/Module/DependencyTest.php | 102 +- .../src/Tests/Module/HookRequirementsTest.php | 10 +- .../src/Tests/Module/InstallUninstallTest.php | 53 +- .../src/Tests/Module/ModuleTestBase.php | 37 +- .../system/src/Tests/Module/RequiredTest.php | 6 +- .../system/src/Tests/Module/VersionTest.php | 8 +- .../system/src/Tests/Pager/PagerTest.php | 26 +- .../src/Tests/Path/UrlAliasFixtures.php | 22 +- .../src/Tests/Routing/MockAliasManager.php | 6 +- .../src/Tests/Routing/MockRouteProvider.php | 6 +- .../system/src/Tests/Routing/RouterTest.php | 46 +- .../src/Tests/Session/SessionHttpsTest.php | 24 +- .../system/src/Tests/Session/SessionTest.php | 52 +- .../StackSessionHandlerIntegrationTest.php | 2 +- .../src/Tests/System/AccessDeniedTest.php | 17 +- .../system/src/Tests/System/AdminTest.php | 28 +- .../system/src/Tests/System/CronRunTest.php | 16 +- .../System/DefaultMobileMetaTagsTest.php | 10 +- .../src/Tests/System/ErrorHandlerTest.php | 44 +- .../system/src/Tests/System/FrontPageTest.php | 18 +- .../system/src/Tests/System/HtaccessTest.php | 2 +- .../src/Tests/System/PageNotFoundTest.php | 12 +- .../system/src/Tests/System/PageTitleTest.php | 20 +- .../Tests/System/ResponseGeneratorTest.php | 6 +- .../Tests/System/ShutdownFunctionsTest.php | 8 +- .../src/Tests/System/SiteMaintenanceTest.php | 47 +- .../Tests/System/SystemConfigFormTestBase.php | 6 +- .../system/src/Tests/System/ThemeTest.php | 118 +- .../Tests/System/UncaughtExceptionTest.php | 12 +- .../system/src/Tests/Theme/EngineTwigTest.php | 19 +- .../Tests/Theme/EntityFilteringThemeTest.php | 23 +- .../system/src/Tests/Theme/FunctionsTest.php | 430 +- .../src/Tests/Theme/HtmlAttributesTest.php | 4 +- .../Tests/Theme/ThemeSuggestionsAlterTest.php | 34 +- .../system/src/Tests/Theme/ThemeTest.php | 100 +- .../src/Tests/Theme/TwigDebugMarkupTest.php | 12 +- .../system/src/Tests/Theme/TwigFilterTest.php | 94 +- .../src/Tests/Theme/TwigNamespaceTest.php | 6 +- .../system/src/Tests/Theme/TwigRawTest.php | 6 +- .../system/src/Tests/Theme/TwigTransTest.php | 28 +- .../Update/DependencyHookInvocationTest.php | 4 +- .../Tests/Update/DependencyMissingTest.php | 8 +- .../Tests/Update/DependencyOrderingTest.php | 18 +- .../InstallProfileSystemInstall8300Test.php | 40 + .../Tests/Update/InvalidUpdateHookTest.php | 6 +- .../Tests/Update/UpdateEntityDisplayTest.php | 49 + .../UpdatePathRC1TestBaseFilledTest.php | 4 +- .../src/Tests/Update/UpdatePathTestBase.php | 6 +- .../Update/UpdatePathTestBaseFilledTest.php | 4 +- .../src/Tests/Update/UpdateScriptTest.php | 112 +- .../src/Tests/Update/UpdatesWith7xTest.php | 8 +- web/core/modules/system/system.admin.inc | 122 +- web/core/modules/system/system.api.php | 6 +- web/core/modules/system/system.install | 549 +- web/core/modules/system/system.libraries.yml | 3 + web/core/modules/system/system.module | 356 +- .../modules/system/system.post_update.php | 34 +- web/core/modules/system/system.routing.yml | 2 - web/core/modules/system/system.tokens.inc | 86 +- .../templates/datetime-wrapper.html.twig | 6 +- .../templates/status-report-counter.html.twig | 16 + .../status-report-general-info.html.twig | 81 + .../templates/status-report-grouped.html.twig | 49 + .../templates/status-report-page.html.twig | 28 + .../system/templates/status-report.html.twig | 66 +- .../block.block.secondtestfor2513534.yml | 18 + .../update/block.block.testfor2513534.yml | 18 + .../drupal-8-rc1.filled.standard.php.gz | Bin 623241 -> 624313 bytes ...-filled.standard.entity_test_update.php.gz | Bin 0 -> 146909 bytes ...led.standard.entity_test_update_mul.php.gz | Bin 0 -> 172839 bytes ...drupal-8.block-context-manager-2354889.php | 8 +- ...-8.field-schema-data-uninstall-2573667.php | 48 +- .../update/drupal-8.filled.standard.php.gz | Bin 567461 -> 581986 bytes ...local-actions-tasks-into-blocks-507488.php | 10 +- ...en-secondary-local-tasks-block-2569529.php | 10 +- ...l-8.update-test-block-disabled-2513534.php | 50 + .../drupal-8.update-test-schema-enabled.php | 16 +- ...upal-8.views-entity-views-data-2455125.php | 8 +- .../src/Routing/AcceptHeaderMatcher.php | 2 +- .../ajax_forms_test/ajax_forms_test.module | 8 +- .../modules/ajax_forms_test/src/Callbacks.php | 6 +- .../src/Form/AjaxFormsTestCommandsForm.php | 134 +- .../src/Form/AjaxFormsTestLazyLoadForm.php | 12 +- .../src/Form/AjaxFormsTestSimpleForm.php | 44 +- .../src/Form/AjaxFormsTestValidationForm.php | 24 +- .../src/Controller/AjaxTestController.php | 114 +- .../ajax_test/src/Form/AjaxTestDialogForm.php | 20 +- .../ajax_test/src/Form/AjaxTestForm.php | 22 +- .../batch_test/batch_test.callbacks.inc | 2 +- .../modules/batch_test/batch_test.module | 58 +- .../src/Controller/BatchTestController.php | 34 +- .../src/Form/BatchTestChainedForm.php | 12 +- .../batch_test/src/Form/BatchTestMockForm.php | 8 +- .../src/Form/BatchTestMultiStepForm.php | 8 +- .../src/Form/BatchTestSimpleForm.php | 12 +- .../modules/common_test/common_test.module | 20 +- .../src/Controller/CommonTestController.php | 56 +- .../condition_test/src/FormController.php | 4 +- .../database_test/database_test.install | 262 +- .../src/Controller/DatabaseTestController.php | 54 +- .../src/Form/DatabaseTestForm.php | 22 +- .../TestPageDisplayVariantSubscriber.php | 4 +- .../src/TestDomainObjectViewSubscriber.php | 2 +- .../entity_reference_test.module | 6 +- ...reference_group_by_empty_relationships.yml | 128 + .../config/schema/entity_test.schema.yml | 16 - .../modules/entity_test/entity_test.install | 20 +- .../modules/entity_test/entity_test.module | 89 +- .../src/Controller/EntityTestController.php | 35 +- .../entity_test/src/Entity/EntityTest.php | 18 +- .../src/Entity/EntityTestBaseFieldDisplay.php | 24 +- .../Entity/EntityTestCompositeConstraint.php | 8 +- .../Entity/EntityTestConstraintViolation.php | 6 +- .../src/Entity/EntityTestMulChanged.php | 4 + .../src/Entity/EntityTestMulRev.php | 1 + ...EntityTestMulRevChangedWithRevisionLog.php | 46 + .../src/Entity/EntityTestMulRevPub.php | 64 + .../entity_test/src/Entity/EntityTestRev.php | 8 +- .../src/Entity/EntityTestUpdate.php | 4 +- .../src/EntityTestAccessControlHandler.php | 4 +- .../src/EntityTestDefinitionSubscriber.php | 2 +- .../entity_test/src/EntityTestForm.php | 10 +- .../entity_test/src/EntityTestViewBuilder.php | 12 +- .../Derivative/EntityTestLocalTasks.php | 6 +- .../Plugin/Field/FieldType/FieldTestItem.php | 12 +- .../src/Plugin/Field/FieldType/ShapeItem.php | 32 +- .../ShapeOnlyColorEditableWidget.php | 2 +- .../src/Routing/EntityTestRoutes.php | 8 +- .../entity_test_extra.module | 6 +- ...t_update.field_test_configurable_field.yml | 21 + ...t_update.field_test_configurable_field.yml | 17 + .../schema/entity_test_update.schema.yml | 9 + .../entity_test_update.info.yml | 6 + .../entity_test_update.module | 172 + .../src/Entity/EntityTestUpdate.php | 160 + .../src/EntityTestUpdateStorageSchema.php} | 6 +- .../Field/FieldType/MultiValueTestItem.php | 66 + .../error_service_test/src/Logger/TestLog.php | 2 +- .../tests/modules/form_test/form_test.module | 30 +- .../form_test/src/AutocompleteController.php | 2 +- .../tests/modules/form_test/src/Callbacks.php | 2 +- .../src/ConfirmFormArrayPathTestForm.php | 8 +- .../form_test/src/ConfirmFormTestForm.php | 2 +- .../src/Controller/FormTestController.php | 4 +- .../FormTestEventSubscriber.php | 4 +- .../src/Form/FormTestButtonClassForm.php | 8 +- .../src/Form/FormTestCheckboxForm.php | 32 +- .../Form/FormTestCheckboxTypeJugglingForm.php | 4 +- .../src/Form/FormTestCheckboxesRadiosForm.php | 42 +- .../src/Form/FormTestCheckboxesZeroForm.php | 26 +- .../src/Form/FormTestClickedButtonForm.php | 10 +- .../form_test/src/Form/FormTestColorForm.php | 8 +- .../src/Form/FormTestDescriptionForm.php | 12 +- .../src/Form/FormTestDisabledElementsForm.php | 120 +- .../form_test/src/Form/FormTestEmailForm.php | 12 +- .../src/Form/FormTestEmptySelectForm.php | 4 +- ...rmTestFormStateValuesCleanAdvancedForm.php | 8 +- .../Form/FormTestFormStateValuesCleanForm.php | 14 +- .../src/Form/FormTestGroupContainerForm.php | 12 +- .../src/Form/FormTestGroupDetailsForm.php | 12 +- .../src/Form/FormTestGroupFieldsetForm.php | 12 +- .../Form/FormTestGroupVerticalTabsForm.php | 20 +- .../src/Form/FormTestInputForgeryForm.php | 12 +- .../form_test/src/Form/FormTestLabelForm.php | 76 +- .../src/Form/FormTestLanguageSelectForm.php | 24 +- .../FormTestLimitValidationErrorsForm.php | 66 +- .../form_test/src/Form/FormTestNumberForm.php | 84 +- .../src/Form/FormTestPatternForm.php | 24 +- .../src/Form/FormTestPlaceholderForm.php | 6 +- .../src/Form/FormTestProgrammaticForm.php | 42 +- .../form_test/src/Form/FormTestRangeForm.php | 20 +- .../src/Form/FormTestRangeInvalidForm.php | 8 +- .../FormTestRebuildPreserveValuesForm.php | 44 +- .../src/Form/FormTestRedirectForm.php | 22 +- .../Form/FormTestRequiredAttributeForm.php | 10 +- .../src/Form/FormTestResponseForm.php | 12 +- .../form_test/src/Form/FormTestSelectForm.php | 74 +- .../src/Form/FormTestStatePersistForm.php | 8 +- .../src/Form/FormTestStorageForm.php | 26 +- .../src/Form/FormTestStoragePageCacheForm.php | 24 +- .../Form/FormTestTableSelectColspanForm.php | 10 +- .../src/Form/FormTestTableSelectEmptyForm.php | 2 +- .../src/Form/FormTestTableSelectFormBase.php | 14 +- .../Form/FormTestTableSelectJsSelectForm.php | 8 +- .../FormTestTableSelectMultipleFalseForm.php | 4 +- .../FormTestTableSelectMultipleTrueForm.php | 4 +- .../form_test/src/Form/FormTestUrlForm.php | 12 +- .../src/Form/FormTestValidateForm.php | 12 +- .../src/Form/FormTestValidateRequiredForm.php | 32 +- .../FormTestValidateRequiredNoTitleForm.php | 8 +- .../Form/FormTestVerticalTabsAccessForm.php | 64 +- .../src/Form/FormTestVerticalTabsForm.php | 16 +- .../form_test/src/Form/RedirectBlockForm.php | 6 +- .../form_test/src/FormTestArgumentsObject.php | 10 +- .../src/FormTestAutocompleteForm.php | 10 +- .../src/FormTestControllerObject.php | 10 +- .../modules/form_test/src/FormTestObject.php | 15 +- .../form_test/src/FormTestServiceObject.php | 10 +- .../Operation/test/OperationBase.php | 2 +- .../src/Plugin/ImageToolkit/TestToolkit.php | 14 +- .../keyvalue_test/keyvalue_test.module | 2 +- .../config/schema/layout_test.schema.yml | 7 + .../layout_test/css/layout-test-2col.css | 16 + .../modules/layout_test/layout_test.info.yml | 6 + .../layout_test/layout_test.layouts.yml | 29 + .../layout_test/layout_test.libraries.yml | 5 + .../src/Plugin/Layout/LayoutTestPlugin.php | 61 + .../templates/layout-test-1col.html.twig | 14 + .../templates/layout-test-2col.html.twig | 14 + .../templates/layout-test-plugin.html.twig | 15 + .../tests/modules/menu_test/menu_test.module | 26 +- .../src/Controller/MenuTestController.php | 4 +- .../src/Plugin/Derivative/LocalTaskTest.php | 4 +- .../Menu/LocalAction/TestLocalAction4.php | 2 +- .../Menu/LocalTask/TestTasksSettingsSub1.php | 6 +- .../modules/menu_test/src/TestControllers.php | 2 +- .../module_autoload_test/src/SomeClass.php | 2 +- .../modules/module_test/module_test.file.inc | 2 +- .../modules/module_test/module_test.install | 16 +- .../modules/module_test/module_test.module | 4 +- .../src/Controller/PagerTestController.php | 24 +- .../path_encoded_test.info.yml | 6 + .../path_encoded_test.routing.yml | 23 + .../Controller/PathEncodedTestController.php | 21 + .../tests/modules/path_test/path_test.module | 4 +- .../src/Plugin/Annotation/PluginExample.php | 4 +- .../src/Plugin/DefaultsTestPluginManager.php | 24 +- .../src/Plugin/MockBlockManager.php | 52 +- .../src/Plugin/TestLazyPluginCollection.php | 4 +- .../src/Plugin/TestPluginManager.php | 4 +- .../mock_block/MockLayoutBlockDeriver.php | 8 +- .../mock_block/MockMenuBlockDeriver.php | 16 +- ...RenderPlaceholderMessageTestController.php | 18 +- .../requirements1_test.install | 6 +- .../router_test.routing.yml | 35 + .../src/RouterTestServiceProvider.php | 2 +- .../router_test_directory/src/TestContent.php | 2 +- .../src/TestControllers.php | 7 + .../service_provider_test/src/TestClass.php | 6 +- .../src/Controller/SessionTestController.php | 8 +- .../EventSubscriber/SessionTestSubscriber.php | 4 +- .../session_test/src/Form/SessionTestForm.php | 12 +- .../src/Controller/SystemTestController.php | 49 +- .../system_test/src/MockFileTransfer.php | 6 +- .../modules/system_test/system_test.module | 20 +- .../system_test/system_test.routing.yml | 14 + .../test_page_test/src/Controller/Test.php | 18 +- .../test_page_test/src/Form/TestForm.php | 77 + .../test_page_test/test_page_test.routing.yml | 16 + .../theme_suggestions_test.module | 6 +- .../EventSubscriber/ThemeTestSubscriber.php | 16 +- .../theme_test/src/ThemeTestController.php | 52 +- .../modules/theme_test/theme_test.module | 78 +- .../src/TwigExtension/TestExtension.php | 17 +- .../src/TwigExtensionTestController.php | 6 +- .../twig_extension_test.module | 14 +- .../src/TwigThemeTestController.php | 20 +- .../twig_theme_test.link_generator.html.twig | 1 + .../twig_theme_test/twig_theme_test.module | 126 +- .../Controller/UpdateScriptTestController.php | 4 +- .../update_script_test.install | 10 +- .../update_test_1/update_test_1.install | 8 +- .../update_test_2/update_test_2.install | 12 +- .../update_test_3/update_test_3.install | 4 +- .../url_alter_test/src/PathProcessor.php | 2 +- .../url_alter_test/src/PathProcessorTest.php | 11 +- .../Bootstrap/DrupalSetMessageTest.php | 10 +- .../src/Functional/Cache/CacheTestBase.php | 86 + .../src/Functional}/Cache/ClearTest.php | 6 +- .../Cache/PageCacheTagsTestBase.php | 62 + .../Datetime/DrupalDateTimeTest.php | 24 +- .../DrupalKernel/ContentNegotiationTest.php | 14 +- .../Entity/ConfigEntityImportTest.php | 16 +- .../Functional}/Entity/EntityAddUITest.php | 6 +- .../Entity/EntityCacheTagsTestBase.php | 720 ++ .../Entity/EntityListBuilderTest.php | 14 +- .../Entity/EntityOperationsTest.php | 12 +- .../EntityReferenceSelectionAccessTest.php | 533 +- .../Entity/EntityRevisionsTest.php | 47 +- .../Entity/EntityViewControllerTest.php | 30 +- .../src/Functional}/File/ConfigTest.php | 18 +- .../File/FileSaveHtaccessLoggingTest.php | 8 +- .../FileTransfer/FileTransferTest.php | 30 +- .../FileTransfer/MockTestConnection.php | 10 +- .../FileTransfer/TestFileTransfer.php | 20 +- .../Functional}/Form/ElementsAccessTest.php | 8 +- .../src/Functional}/Form/FormObjectTest.php | 20 +- .../Form/ModulesListFormWebTest.php | 10 +- .../src/Functional}/Form/RedirectTest.php | 52 +- .../Functional}/Lock/LockFunctionalTest.php | 8 +- .../src/Functional}/Mail/HtmlToTextTest.php | 34 +- .../src/Functional}/Mail/MailTest.php | 18 +- .../src/Functional}/Menu/MenuAccessTest.php | 10 +- .../Functional}/Menu/MenuLinkSecurityTest.php | 6 +- .../Functional}/Module/ClassLoaderTest.php | 24 +- .../Module/ExperimentalModuleTest.php | 22 +- .../src/Functional}/Module/InstallTest.php | 18 +- .../src/Functional/Module/ModuleTestBase.php | 194 + .../src/Functional}/Module/UninstallTest.php | 32 +- .../ParamConverter/UpcastingTest.php | 22 +- .../Path/UrlAlterFunctionalTest.php | 25 +- .../Functional}/Render/AjaxPageStateTest.php | 20 +- .../Functional}/Render/DisplayVariantTest.php | 10 +- .../src/Functional}/Routing/MockMatcher.php | 2 +- .../Routing/RouterPermissionTest.php | 10 +- .../ServiceProviderWebTest.php | 8 +- .../Functional}/System/AdminMetaTagTest.php | 6 +- .../System/DateFormatsLockedTest.php | 6 +- .../System/DateFormatsMachineNameTest.php | 28 +- .../src/Functional}/System/DateTimeTest.php | 71 +- .../src/Functional}/System/IndexPhpTest.php | 12 +- .../System/MainContentFallbackTest.php | 22 +- .../Functional}/System/RetrieveFileTest.php | 8 +- .../System/SitesDirectoryHardeningTest.php | 14 +- .../src/Functional}/System/StatusTest.php | 20 +- .../System/SystemAuthorizeTest.php | 16 +- .../src/Functional}/System/TokenScanTest.php | 8 +- .../Functional}/System/TrustedHostsTest.php | 22 +- .../Functional}/Theme/EngineNyanCatTest.php | 12 +- .../src/Functional}/Theme/FastTest.php | 14 +- .../Theme/ThemeEarlyInitializationTest.php | 10 +- .../src/Functional}/Theme/ThemeInfoTest.php | 30 +- .../src/Functional}/Theme/ThemeTokenTest.php | 6 +- .../Functional}/Theme/TwigExtensionTest.php | 16 +- .../src/Functional}/Theme/TwigLoaderTest.php | 10 +- .../Theme/TwigRegistryLoaderTest.php | 10 +- .../Functional}/Theme/TwigSettingsTest.php | 18 +- .../tests/src/Kernel/Action/ActionTest.php | 26 +- .../src/Kernel/Block/SystemMenuBlockTest.php | 72 +- .../src/Kernel/Common/PageRenderTest.php | 6 +- .../src/Kernel/Common/SystemListingTest.php | 22 +- .../Kernel/Extension/ModuleHandlerTest.php | 62 +- .../src/Kernel/Form/FormElementLabelTest.php | 10 + .../Migrate/d6/MigrateDateFormatTest.php | 2 +- .../src/Kernel/Migrate/d6/MigrateMenuTest.php | 6 +- .../d6/MigrateSystemConfigurationTest.php | 162 + .../Migrate/d6/MigrateSystemCronTest.php | 31 - .../Migrate/d6/MigrateSystemDateTest.php | 32 - .../Migrate/d6/MigrateSystemFileTest.php | 31 - .../Migrate/d6/MigrateSystemImageGdTest.php | 30 - .../Migrate/d6/MigrateSystemImageTest.php | 30 - .../Migrate/d6/MigrateSystemLoggingTest.php | 34 - .../d6/MigrateSystemMaintenanceTest.php | 30 - .../d6/MigrateSystemPerformanceTest.php | 32 - .../Migrate/d6/MigrateSystemRssTest.php | 31 - .../Migrate/d6/MigrateSystemSiteTest.php | 36 - .../src/Kernel/Migrate/d7/MigrateMenuTest.php | 6 +- .../d7/MigrateSystemConfigurationTest.php | 1 + .../PhpStorage/PhpStorageFactoryTest.php | 14 +- .../tests/src/Kernel/Render/ClassyTest.php | 8 +- .../src/Kernel/Scripts/DbCommandBaseTest.php | 4 +- .../Kernel/Scripts/DbImportCommandTest.php | 4 +- .../tests/src/Kernel/System/CronQueueTest.php | 2 +- .../tests/src/Kernel/System/InfoAlterTest.php | 6 +- .../Kernel/Token/TokenReplaceKernelTest.php | 50 +- .../Token/TokenReplaceKernelTestBase.php | 4 +- .../PathBasedBreadcrumbBuilderTest.php | 38 +- .../InstallTranslationFilePatternTest.php | 24 +- .../src/Unit/Menu/SystemLocalTasksTest.php | 24 +- .../MachineNameControllerTest.php | 24 +- .../themes/engines/nyan_cat/nyan_cat.engine | 2 +- .../themes/test_subtheme/test_subtheme.theme | 2 +- .../src/Controller/TaxonomyController.php | 2 +- web/core/modules/taxonomy/src/Entity/Term.php | 39 +- .../taxonomy/src/Entity/Vocabulary.php | 4 +- .../taxonomy/src/Form/OverviewTerms.php | 127 +- .../taxonomy/src/Form/TermDeleteForm.php | 4 +- .../src/Form/VocabularyDeleteForm.php | 4 +- .../taxonomy/src/Form/VocabularyResetForm.php | 6 +- .../TermSelection.php | 2 +- ...ntityReferenceTaxonomyTermRssFormatter.php | 12 +- .../Plugin/migrate/D7TaxonomyTermDeriver.php | 14 +- .../cckfield/TaxonomyTermReference.php | 10 +- .../src/Plugin/migrate/source/Term.php | 6 +- .../src/Plugin/migrate/source/d6/TermNode.php | 14 +- .../Plugin/migrate/source/d6/Vocabulary.php | 10 +- .../migrate/source/d6/VocabularyPerType.php | 2 +- .../Plugin/migrate/source/d7/Vocabulary.php | 8 +- .../src/Plugin/views/argument/IndexTid.php | 2 +- .../Plugin/views/argument/IndexTidDepth.php | 20 +- .../src/Plugin/views/argument/Taxonomy.php | 2 +- .../Plugin/views/argument/VocabularyVid.php | 2 +- .../src/Plugin/views/argument_default/Tid.php | 74 +- .../views/argument_validator/TermName.php | 8 +- .../Plugin/views/field/TaxonomyIndexTid.php | 42 +- .../src/Plugin/views/field/TermName.php | 10 +- .../Plugin/views/filter/TaxonomyIndexTid.php | 78 +- .../views/filter/TaxonomyIndexTidDepth.php | 10 +- .../views/relationship/NodeTermData.php | 10 +- .../taxonomy/src/TermBreadcrumbBuilder.php | 2 +- web/core/modules/taxonomy/src/TermForm.php | 36 +- web/core/modules/taxonomy/src/TermStorage.php | 84 +- .../taxonomy/src/TermStorageInterface.php | 2 +- .../taxonomy/src/TermStorageSchema.php | 94 +- .../taxonomy/src/TermTranslationHandler.php | 4 +- .../modules/taxonomy/src/TermViewBuilder.php | 8 +- .../modules/taxonomy/src/TermViewsData.php | 138 +- .../modules/taxonomy/src/Tests/RssTest.php | 33 +- .../taxonomy/src/Tests/TaxonomyImageTest.php | 34 +- .../src/Tests/TaxonomyQueryAlterTest.php | 2 +- .../src/Tests/TaxonomyTermIndentationTest.php | 12 +- .../taxonomy/src/Tests/TaxonomyTestBase.php | 7 +- .../taxonomy/src/Tests/TaxonomyTestTrait.php | 4 +- .../Tests/TaxonomyTranslationTestTrait.php | 16 +- .../modules/taxonomy/src/Tests/TermTest.php | 118 +- .../src/Tests/TermTranslationTest.php | 26 +- .../src/Tests/TermTranslationUITest.php | 26 +- .../modules/taxonomy/src/Tests/ThemeTest.php | 6 +- .../Views/RelationshipNodeTermDataTest.php | 22 +- .../RelationshipRepresentativeNodeTest.php | 16 +- .../Views/TaxonomyDefaultArgumentTest.php | 6 +- .../Tests/Views/TaxonomyFieldAllTermsTest.php | 2 +- .../Tests/Views/TaxonomyFieldFilterTest.php | 38 +- .../src/Tests/Views/TaxonomyFieldTidTest.php | 4 +- .../Views/TaxonomyIndexTidFilterTest.php | 2 +- .../Tests/Views/TaxonomyIndexTidUiTest.php | 4 +- .../src/Tests/Views/TaxonomyParentUITest.php | 6 +- .../Tests/Views/TaxonomyRelationshipTest.php | 4 +- .../src/Tests/Views/TaxonomyTermViewTest.php | 22 +- .../src/Tests/Views/TaxonomyTestBase.php | 32 +- .../Views/TaxonomyVocabularyArgumentTest.php | 76 + .../src/Tests/Views/TermNameFieldTest.php | 2 +- .../taxonomy/src/Tests/VocabularyUiTest.php | 37 +- .../modules/taxonomy/src/VocabularyForm.php | 48 +- .../taxonomy/src/VocabularyListBuilder.php | 14 +- .../taxonomy/src/VocabularyStorage.php | 2 +- web/core/modules/taxonomy/taxonomy.module | 68 +- web/core/modules/taxonomy/taxonomy.tokens.inc | 72 +- web/core/modules/taxonomy/taxonomy.views.inc | 32 +- ...view.test_argument_taxonomy_vocabulary.yml | 174 + .../src/Functional}/EfqTest.php | 18 +- .../src/Functional}/LegacyTest.php | 20 +- .../src/Functional}/LoadMultipleTest.php | 12 +- .../tests/src/Functional/TaxonomyTestBase.php | 37 + .../src/Functional}/TermCacheTagsTest.php | 4 +- .../Functional}/TermEntityReferenceTest.php | 36 +- .../src/Functional}/TermIndexTest.php | 86 +- .../src/Functional}/TermLanguageTest.php | 67 +- .../TermTranslationFieldViewTest.php | 15 +- .../src/Functional}/TokenReplaceTest.php | 54 +- .../src/Functional}/VocabularyCrudTest.php | 42 +- .../Functional}/VocabularyLanguageTest.php | 28 +- .../Functional}/VocabularyPermissionsTest.php | 30 +- .../Functional}/VocabularyTranslationTest.php | 6 +- .../Migrate/MigrateTaxonomyConfigsTest.php | 4 +- .../Migrate/d6/MigrateTaxonomyTermTest.php | 46 +- .../d6/MigrateTaxonomyVocabularyTest.php | 4 +- .../d6/MigrateVocabularyEntityDisplayTest.php | 2 +- ...MigrateVocabularyEntityFormDisplayTest.php | 2 +- .../d6/MigrateVocabularyFieldInstanceTest.php | 2 +- .../Migrate/d6/MigrateVocabularyFieldTest.php | 2 +- .../Migrate/d7/MigrateNodeTaxonomyTest.php | 16 +- .../d7/MigrateTaxonomyVocabularyTest.php | 2 +- .../tests/src/Kernel/TermKernelTest.php | 22 +- .../tests/src/Kernel/TermValidationTest.php | 14 +- .../src/Unit/Menu/TaxonomyLocalTasksTest.php | 18 +- .../FieldFormatter/TelephoneLinkFormatter.php | 22 +- .../Plugin/Field/FieldType/TelephoneItem.php | 26 +- .../FieldWidget/TelephoneDefaultWidget.php | 16 +- web/core/modules/telephone/telephone.module | 4 +- .../src/Functional}/TelephoneFieldTest.php | 40 +- .../tests/src/Kernel/TelephoneItemTest.php | 6 +- .../FieldFormatter/TextDefaultFormatter.php | 6 +- .../FieldFormatter/TextTrimmedFormatter.php | 20 +- .../src/Plugin/Field/FieldType/TextItem.php | 46 +- .../Plugin/Field/FieldType/TextItemBase.php | 6 +- .../Plugin/Field/FieldType/TextLongItem.php | 22 +- .../Field/FieldType/TextWithSummaryItem.php | 36 +- .../Field/FieldWidget/TextareaWidget.php | 11 +- .../FieldWidget/TextareaWithSummaryWidget.php | 25 +- .../Field/FieldWidget/TextfieldWidget.php | 2 +- .../src/Plugin/migrate/cckfield/TextField.php | 4 +- .../modules/text/src/Tests/TextFieldTest.php | 70 +- .../Kernel/Migrate/MigrateTextConfigsTest.php | 2 +- .../tests/src/Kernel/TextFormatterTest.php | 34 +- .../text/tests/src/Kernel/TextSummaryTest.php | 44 +- .../src/Kernel/TextWithSummaryItemTest.php | 18 +- .../tests/src/Unit/Migrate/TextFieldTest.php | 58 +- web/core/modules/text/text.module | 14 +- .../modules/toolbar/src/Element/Toolbar.php | 34 +- .../toolbar/src/Element/ToolbarItem.php | 30 +- .../toolbar/src/Menu/ToolbarMenuLinkTree.php | 2 +- .../src/Tests/ToolbarAdminMenuTest.php | 58 +- .../src/Tests/ToolbarMenuTranslationTest.php | 18 +- .../modules/toolbar_test/toolbar_test.module | 44 +- .../Functional}/ToolbarHookToolbarTest.php | 12 +- web/core/modules/toolbar/toolbar.api.php | 92 +- web/core/modules/toolbar/toolbar.module | 124 +- web/core/modules/tour/src/Entity/Tour.php | 10 +- .../src/Plugin/tour/tip/TipPluginText.php | 2 +- web/core/modules/tour/src/Tests/TourTest.php | 58 +- .../modules/tour/src/Tests/TourTestBase.php | 8 +- .../modules/tour/src/Tests/TourTestBasic.php | 6 +- web/core/modules/tour/src/TourViewBuilder.php | 44 +- .../src/Functional}/TourCacheTagsTest.php | 6 +- .../tour/tests/src/Kernel/TourPluginTest.php | 4 +- .../tour/tests/src/Unit/Entity/TourTest.php | 122 +- .../src/Controller/TourTestController.php | 54 +- web/core/modules/tour/tour.module | 32 +- .../src/Access/ViewOwnTrackerAccessCheck.php | 30 - .../src/Controller/TrackerUserRecent.php | 18 + .../src/Plugin/Menu/UserTrackerTab.php | 2 +- .../modules/tracker/src/Tests/TrackerTest.php | 112 +- .../src/Tests/Views/TrackerTestBase.php | 16 +- .../src/Tests/Views/TrackerUserUidTest.php | 22 +- .../src/Functional}/TrackerNodeAccessTest.php | 24 +- .../Migrate/d7/MigrateTrackerNodeTest.php | 16 +- .../Migrate/d7/MigrateTrackerUserTest.php | 16 +- web/core/modules/tracker/tracker.install | 86 +- web/core/modules/tracker/tracker.module | 48 +- web/core/modules/tracker/tracker.pages.inc | 48 +- web/core/modules/tracker/tracker.routing.yml | 2 +- web/core/modules/tracker/tracker.services.yml | 5 - web/core/modules/tracker/tracker.views.inc | 158 +- .../src/Controller/UpdateController.php | 14 +- .../update/src/Form/UpdateManagerInstall.php | 46 +- .../update/src/Form/UpdateManagerUpdate.php | 98 +- .../modules/update/src/Form/UpdateReady.php | 24 +- .../Tests/FileTransferAuthorizeFormTest.php | 4 +- .../update/src/Tests/UpdateContribTest.php | 192 +- .../update/src/Tests/UpdateCoreTest.php | 96 +- .../src/Tests/UpdateDeleteFileIfStaleTest.php | 4 +- .../update/src/Tests/UpdateTestBase.php | 2 +- .../update/src/Tests/UpdateUploadTest.php | 56 +- web/core/modules/update/src/UpdateFetcher.php | 2 +- .../update/src/UpdateFetcherInterface.php | 20 + web/core/modules/update/src/UpdateManager.php | 14 +- .../update/src/UpdateManagerInterface.php | 25 + .../modules/update/src/UpdateProcessor.php | 16 +- .../modules/update/src/UpdateSettingsForm.php | 34 +- .../src/Controller/UpdateTestController.php | 2 +- .../Plugin/Archiver/UpdateTestArchiver.php | 4 +- .../src/TestFileTransferWithSettingsForm.php | 6 +- .../modules/update_test/update_test.module | 12 +- .../Migrate/d6/MigrateUpdateConfigsTest.php | 6 +- .../src/Unit/Menu/UpdateLocalTasksTest.php | 42 +- .../tests/src/Unit/UpdateFetcherTest.php | 14 +- web/core/modules/update/update.api.php | 22 +- web/core/modules/update/update.authorize.inc | 70 +- web/core/modules/update/update.compare.inc | 42 +- web/core/modules/update/update.fetch.inc | 4 +- web/core/modules/update/update.install | 15 +- web/core/modules/update/update.manager.inc | 32 +- web/core/modules/update/update.module | 127 +- web/core/modules/update/update.report.inc | 84 +- .../optional/views.view.user_admin_people.yml | 96 +- .../d6_user_picture_file.yml | 3 - web/core/modules/user/src/AccountForm.php | 110 +- .../modules/user/src/AccountSettingsForm.php | 218 +- .../user/src/Controller/UserController.php | 8 +- web/core/modules/user/src/Entity/Role.php | 10 +- web/core/modules/user/src/Entity/User.php | 42 +- .../modules/user/src/Form/UserCancelForm.php | 24 +- .../modules/user/src/Form/UserLoginForm.php | 38 +- .../src/Form/UserMultipleCancelConfirm.php | 34 +- .../user/src/Form/UserPasswordForm.php | 34 +- .../user/src/Form/UserPasswordResetForm.php | 12 +- .../user/src/Form/UserPermissionsForm.php | 72 +- .../Form/UserPermissionsRoleSpecificForm.php | 2 +- .../modules/user/src/PermissionHandler.php | 20 +- .../user/src/Plugin/Action/CancelUser.php | 2 +- .../src/Plugin/Action/ChangeUserRoleBase.php | 8 +- .../user/src/Plugin/Block/UserLoginBlock.php | 44 +- .../user/src/Plugin/Condition/UserRole.php | 14 +- .../UserSelection.php | 42 +- .../Field/FieldFormatter/AuthorFormatter.php | 17 +- .../user/src/Plugin/Search/UserSearch.php | 20 +- .../ProtectedUserFieldConstraintValidator.php | 2 +- .../Constraint/UserMailRequired.php | 45 +- .../Constraint/UserMailRequiredValidator.php | 39 + .../UserNameConstraintValidator.php | 2 +- .../Plugin/migrate/destination/EntityUser.php | 4 +- .../Plugin/migrate/destination/UserData.php | 2 +- .../Plugin/migrate/process/ConvertTokens.php | 4 +- .../migrate/process/ProfileFieldSettings.php | 2 +- .../Plugin/migrate/process/UserUpdate8002.php | 4 +- .../Plugin/migrate/source/ProfileField.php | 6 +- .../migrate/source/UserPictureInstance.php | 10 +- .../migrate/source/d6/ProfileFieldValues.php | 26 +- .../src/Plugin/migrate/source/d6/Role.php | 12 +- .../src/Plugin/migrate/source/d6/User.php | 18 +- .../Plugin/migrate/source/d6/UserPicture.php | 6 +- .../migrate/source/d6/UserPictureFile.php | 6 +- .../src/Plugin/migrate/source/d7/Role.php | 4 +- .../src/Plugin/migrate/source/d7/User.php | 22 +- .../resource/UserRegistrationResource.php | 190 + .../src/Plugin/views/access/Permission.php | 6 +- .../user/src/Plugin/views/access/Role.php | 10 +- .../src/Plugin/views/argument/RolesRid.php | 2 +- .../Plugin/views/argument_default/User.php | 6 +- .../Plugin/views/argument_validator/User.php | 26 +- .../views/argument_validator/UserName.php | 12 +- .../src/Plugin/views/field/Permissions.php | 15 +- .../user/src/Plugin/views/field/Roles.php | 10 +- .../src/Plugin/views/field/UserBulkForm.php | 2 +- .../user/src/Plugin/views/field/UserData.php | 14 +- .../user/src/Plugin/views/filter/Name.php | 12 +- .../src/Plugin/views/filter/Permissions.php | 2 +- .../user/src/Plugin/views/filter/Roles.php | 4 +- .../user/src/Plugin/views/wizard/Users.php | 8 +- .../modules/user/src/PrivateTempStore.php | 10 +- .../user/src/PrivateTempStoreFactory.php | 4 +- web/core/modules/user/src/ProfileForm.php | 20 +- .../user/src/ProfileTranslationHandler.php | 2 +- web/core/modules/user/src/RegisterForm.php | 12 +- web/core/modules/user/src/RoleForm.php | 24 +- web/core/modules/user/src/RoleListBuilder.php | 4 +- web/core/modules/user/src/SharedTempStore.php | 20 +- .../user/src/SharedTempStoreFactory.php | 4 +- .../user/src/Tests/RestRegisterUserTest.php | 172 + .../Update/UserUpdateOrderPermissionsTest.php | 38 + .../user/src/Tests/UserAccountLinksTest.php | 34 +- .../user/src/Tests/UserAdminLanguageTest.php | 28 +- .../user/src/Tests/UserAdminListingTest.php | 18 +- .../src/Tests/UserAdminSettingsFormTest.php | 24 +- .../modules/user/src/Tests/UserAdminTest.php | 70 +- .../modules/user/src/Tests/UserBlocksTest.php | 26 +- .../modules/user/src/Tests/UserCancelTest.php | 198 +- .../modules/user/src/Tests/UserCreateTest.php | 32 +- .../modules/user/src/Tests/UserEditTest.php | 39 +- .../src/Tests/UserLanguageCreationTest.php | 22 +- .../modules/user/src/Tests/UserLoginTest.php | 36 +- .../user/src/Tests/UserPasswordResetTest.php | 58 +- .../user/src/Tests/UserPermissionsTest.php | 22 +- .../user/src/Tests/UserPictureTest.php | 28 +- .../user/src/Tests/UserRegistrationTest.php | 72 +- .../user/src/Tests/UserRoleAdminTest.php | 34 +- .../user/src/Tests/UserTimeZoneTest.php | 43 +- .../user/src/Tests/UserTranslationUITest.php | 12 +- .../src/Tests/Views/AccessPermissionTest.php | 4 +- .../user/src/Tests/Views/AccessRoleTest.php | 16 +- .../user/src/Tests/Views/AccessRoleUITest.php | 16 +- .../user/src/Tests/Views/AccessTestBase.php | 6 +- .../src/Tests/Views/ArgumentDefaultTest.php | 2 +- .../src/Tests/Views/ArgumentValidateTest.php | 6 +- .../src/Tests/Views/BulkFormAccessTest.php | 34 +- .../user/src/Tests/Views/BulkFormTest.php | 38 +- .../Tests/Views/FilterPermissionUiTest.php | 2 +- .../Views/HandlerArgumentUserUidTest.php | 12 +- .../src/Tests/Views/HandlerFieldRoleTest.php | 8 +- .../Tests/Views/HandlerFieldUserNameTest.php | 4 +- .../Tests/Views/HandlerFilterUserNameTest.php | 60 +- .../RelationshipRepresentativeNodeTest.php | 16 +- .../src/Tests/Views/RolesRidArgumentTest.php | 2 +- .../user/src/Tests/Views/UserChangedTest.php | 8 +- .../user/src/Tests/Views/UserDataTest.php | 2 +- .../user/src/Tests/Views/UserTestBase.php | 12 +- .../user/src/UserAccessControlHandler.php | 8 +- web/core/modules/user/src/UserAuth.php | 2 +- web/core/modules/user/src/UserData.php | 14 +- web/core/modules/user/src/UserInterface.php | 37 + web/core/modules/user/src/UserListBuilder.php | 58 +- web/core/modules/user/src/UserStorage.php | 14 +- .../modules/user/src/UserStorageSchema.php | 6 +- web/core/modules/user/src/UserViewsData.php | 180 +- .../drupal-8.user-email-token-2587275.php | 6 +- .../user_hooks_test/user_hooks_test.module | 2 +- .../src/Functional}/UserCacheTagsTest.php | 4 +- .../Functional}/UserCreateFailMailTest.php | 16 +- .../src/Functional}/UserDeleteTest.php | 26 +- .../Functional}/UserEditedOwnAccountTest.php | 14 +- .../Functional}/UserEntityCallbacksTest.php | 10 +- .../src/Functional}/UserLanguageTest.php | 20 +- .../src/Functional}/UserMailNotifyTest.php | 4 +- .../Functional}/UserRolesAssignmentTest.php | 30 +- .../src/Functional}/UserSaveTest.php | 10 +- .../src/Functional}/UserSearchTest.php | 40 +- .../src/Functional}/UserTokenReplaceTest.php | 34 +- .../Condition/UserRoleConditionTest.php | 38 +- .../Migrate/MigrateUserProfileFieldTest.php | 4 +- .../Migrate/d6/MigrateUserConfigsTest.php | 10 +- .../d6/MigrateUserPictureD6FileTest.php | 69 + .../Migrate/d6/MigrateUserPictureFileTest.php | 2 +- .../Kernel/Migrate/d6/MigrateUserRoleTest.php | 3 +- .../src/Kernel/Migrate/d6/MigrateUserTest.php | 14 +- .../Kernel/Migrate/d7/MigrateUserRoleTest.php | 1 + .../src/Kernel/Migrate/d7/MigrateUserTest.php | 8 +- .../src/Kernel/TempStoreDatabaseTest.php | 10 +- .../src/Kernel/UserAccountFormFieldsTest.php | 20 +- .../src/Kernel/UserActionConfigSchemaTest.php | 8 +- .../src/Kernel/UserEntityReferenceTest.php | 22 +- .../user/tests/src/Kernel/UserEntityTest.php | 24 +- .../user/tests/src/Kernel/UserFieldsTest.php | 4 +- .../user/tests/src/Kernel/UserInstallTest.php | 2 +- .../tests/src/Kernel/UserRoleDeleteTest.php | 14 +- .../tests/src/Kernel/UserRoleEntityTest.php | 30 + .../tests/src/Kernel/UserSaveStatusTest.php | 8 +- .../tests/src/Kernel/UserValidationTest.php | 72 +- .../Views/HandlerFieldPermissionTest.php | 10 +- .../Views/HandlerFilterPermissionTest.php | 48 +- .../Kernel/Views/HandlerFilterRolesTest.php | 2 +- .../src/Kernel/Views/UserKernelTestBase.php | 24 +- .../src/Unit/Menu/UserLocalTasksTest.php | 46 +- .../src/Unit/PermissionAccessCheckTest.php | 9 +- .../tests/src/Unit/PermissionHandlerTest.php | 78 +- .../Unit/Plugin/Action/AddRoleUserTest.php | 8 +- .../Unit/Plugin/Action/RemoveRoleUserTest.php | 8 +- .../src/Unit/Plugin/Core/Entity/UserTest.php | 22 +- ...tectedUserFieldConstraintValidatorTest.php | 5 +- .../Plugin/views/field/UserBulkFormTest.php | 8 +- .../tests/src/Unit/PrivateTempStoreTest.php | 9 +- .../tests/src/Unit/SharedTempStoreTest.php | 9 +- .../src/Unit/UserAccessControlHandlerTest.php | 130 +- .../user/tests/src/Unit/UserAuthTest.php | 34 +- .../src/Unit/UserRegistrationResourceTest.php | 151 + .../src/Unit/Views/Argument/RolesRidTest.php | 32 +- web/core/modules/user/user.api.php | 18 +- web/core/modules/user/user.install | 61 +- web/core/modules/user/user.module | 277 +- web/core/modules/user/user.post_update.php | 22 + web/core/modules/user/user.tokens.inc | 60 +- .../modules/user/user.views_execution.inc | 2 +- .../config/schema/views.data_types.schema.yml | 2 +- .../config/schema/views.filter.schema.yml | 51 +- web/core/modules/views/js/ajax_view.js | 4 +- .../views/src/Ajax/HighlightCommand.php | 4 +- .../views/src/Ajax/ReplaceTitleCommand.php | 4 +- .../views/src/Ajax/ScrollTopCommand.php | 4 +- .../views/src/Ajax/ShowButtonsCommand.php | 4 +- .../views/src/Ajax/TriggerPreviewCommand.php | 4 +- .../views/src/Ajax/ViewAjaxResponse.php | 2 +- web/core/modules/views/src/Analyzer.php | 16 +- .../src/Controller/ViewAjaxController.php | 4 +- .../views/src/DisplayPluginCollection.php | 2 +- web/core/modules/views/src/Element/View.php | 14 +- .../src/Entity/Render/EntityFieldRenderer.php | 8 +- .../Render/EntityTranslationRenderTrait.php | 4 +- web/core/modules/views/src/Entity/View.php | 32 +- .../modules/views/src/EntityViewsData.php | 34 +- .../src/EventSubscriber/RouteSubscriber.php | 12 +- .../ViewsEntitySchemaSubscriber.php | 5 + .../modules/views/src/ExposedFormCache.php | 4 +- .../views/src/Form/ViewsExposedForm.php | 22 +- web/core/modules/views/src/Form/ViewsForm.php | 10 +- .../views/src/Form/ViewsFormMainForm.php | 22 +- .../modules/views/src/ManyToOneHelper.php | 48 +- .../views/src/Plugin/Block/ViewsBlock.php | 28 +- .../views/src/Plugin/Block/ViewsBlockBase.php | 46 +- .../Derivative/DefaultWizardDeriver.php | 6 +- .../src/Plugin/Derivative/ViewsBlock.php | 24 +- .../ViewsEntityArgumentValidator.php | 10 +- .../src/Plugin/Derivative/ViewsEntityRow.php | 12 +- .../Derivative/ViewsExposedFilterBlock.php | 16 +- .../src/Plugin/Derivative/ViewsLocalTask.php | 10 +- .../src/Plugin/Derivative/ViewsMenuLink.php | 2 +- .../ViewsSelection.php | 38 +- .../Plugin/Menu/Form/ViewsMenuLinkForm.php | 12 +- .../views/src/Plugin/Menu/ViewsMenuLink.php | 4 +- .../views/src/Plugin/ViewsHandlerManager.php | 12 +- .../views/src/Plugin/ViewsPluginManager.php | 4 +- .../src/Plugin/views/BrokenHandlerTrait.php | 26 +- .../views/src/Plugin/views/HandlerBase.php | 50 +- .../views/src/Plugin/views/PluginBase.php | 64 +- .../src/Plugin/views/PluginInterface.php | 3 + .../src/Plugin/views/ViewsPluginInterface.php | 4 +- .../src/Plugin/views/area/AreaPluginBase.php | 6 +- .../views/src/Plugin/views/area/Broken.php | 2 +- .../views/src/Plugin/views/area/Entity.php | 8 +- .../src/Plugin/views/area/HTTPStatusCode.php | 14 +- .../views/src/Plugin/views/area/Messages.php | 6 +- .../views/src/Plugin/views/area/Result.php | 22 +- .../views/src/Plugin/views/area/Text.php | 33 +- .../src/Plugin/views/area/TextCustom.php | 12 +- .../views/src/Plugin/views/area/Title.php | 8 +- .../views/area/TokenizeAreaPluginBase.php | 36 +- .../views/src/Plugin/views/area/View.php | 20 +- .../views/argument/ArgumentPluginBase.php | 379 +- .../views/src/Plugin/views/argument/Date.php | 10 +- .../src/Plugin/views/argument/DayDate.php | 2 +- .../src/Plugin/views/argument/Formula.php | 4 +- .../src/Plugin/views/argument/FullDate.php | 2 +- .../Plugin/views/argument/GroupByNumeric.php | 4 +- .../views/argument/LanguageArgument.php | 4 +- .../src/Plugin/views/argument/ManyToOne.php | 28 +- .../src/Plugin/views/argument/MonthDate.php | 2 +- .../Plugin/views/argument/NullArgument.php | 8 +- .../Plugin/views/argument/NumericArgument.php | 40 +- .../Plugin/views/argument/StringArgument.php | 96 +- .../src/Plugin/views/argument/WeekDate.php | 2 +- .../Plugin/views/argument/YearMonthDate.php | 2 +- .../ArgumentDefaultPluginBase.php | 4 +- .../Plugin/views/argument_default/Fixed.php | 6 +- .../views/argument_default/QueryParameter.php | 22 +- .../src/Plugin/views/argument_default/Raw.php | 12 +- .../ArgumentValidatorPluginBase.php | 13 +- .../views/argument_validator/Entity.php | 62 +- .../NumericArgumentValidator.php | 9 + .../Plugin/views/cache/CachePluginBase.php | 14 +- .../views/src/Plugin/views/cache/Time.php | 52 +- .../src/Plugin/views/display/Attachment.php | 76 +- .../views/src/Plugin/views/display/Block.php | 84 +- .../views/display/DisplayPluginBase.php | 797 ++- .../views/display/DisplayPluginInterface.php | 2 +- .../Plugin/views/display/EntityReference.php | 8 +- .../views/src/Plugin/views/display/Feed.php | 44 +- .../views/src/Plugin/views/display/Page.php | 304 +- .../Plugin/views/display/PathPluginBase.php | 125 +- .../exposed_form/ExposedFormPluginBase.php | 108 +- .../views/exposed_form/InputRequired.php | 24 +- .../views/src/Plugin/views/field/Boolean.php | 64 +- .../views/src/Plugin/views/field/Counter.php | 6 +- .../views/src/Plugin/views/field/Custom.php | 6 +- .../views/src/Plugin/views/field/Date.php | 62 +- .../src/Plugin/views/field/Dropbutton.php | 4 +- .../src/Plugin/views/field/EntityField.php | 1080 +++ .../src/Plugin/views/field/EntityLabel.php | 10 +- .../Plugin/views/field/EntityOperations.php | 14 +- .../views/src/Plugin/views/field/Field.php | 1070 +-- .../views/field/FieldHandlerInterface.php | 2 +- .../Plugin/views/field/FieldPluginBase.php | 730 +- .../views/src/Plugin/views/field/FileSize.php | 10 +- .../src/Plugin/views/field/LanguageField.php | 6 +- .../views/src/Plugin/views/field/LinkBase.php | 2 +- .../views/src/Plugin/views/field/Links.php | 20 +- .../src/Plugin/views/field/MachineName.php | 8 +- .../views/src/Plugin/views/field/Markup.php | 2 +- .../src/Plugin/views/field/NumericField.php | 76 +- .../src/Plugin/views/field/PrerenderList.php | 34 +- .../src/Plugin/views/field/Serialized.php | 28 +- .../src/Plugin/views/field/TimeInterval.php | 6 +- .../views/src/Plugin/views/field/Url.php | 6 +- .../Plugin/views/filter/BooleanOperator.php | 53 +- .../views/src/Plugin/views/filter/Bundle.php | 4 +- .../views/src/Plugin/views/filter/Combine.php | 38 +- .../views/src/Plugin/views/filter/Date.php | 31 +- .../src/Plugin/views/filter/Equality.php | 8 +- .../Plugin/views/filter/FilterPluginBase.php | 447 +- .../Plugin/views/filter/GroupByNumeric.php | 8 +- .../src/Plugin/views/filter/InOperator.php | 70 +- .../src/Plugin/views/filter/ManyToOne.php | 32 +- .../src/Plugin/views/filter/NumericFilter.php | 120 +- .../src/Plugin/views/filter/StringFilter.php | 100 +- .../src/Plugin/views/join/JoinPluginBase.php | 14 +- .../views/src/Plugin/views/join/Subquery.php | 4 +- .../views/src/Plugin/views/pager/Full.php | 30 +- .../views/src/Plugin/views/pager/Mini.php | 12 +- .../views/src/Plugin/views/pager/None.php | 8 +- .../views/src/Plugin/views/pager/Some.php | 16 +- .../views/src/Plugin/views/pager/SqlBase.php | 164 +- .../Plugin/views/query/QueryPluginBase.php | 14 +- .../views/src/Plugin/views/query/Sql.php | 248 +- .../views/relationship/EntityReverse.php | 8 +- .../views/relationship/GroupwiseMax.php | 42 +- .../relationship/RelationshipPluginBase.php | 6 +- .../src/Plugin/views/row/EntityReference.php | 2 +- .../views/src/Plugin/views/row/EntityRow.php | 6 +- .../views/src/Plugin/views/row/Fields.php | 50 +- .../views/src/Plugin/views/row/OpmlFields.php | 118 +- .../src/Plugin/views/row/RowPluginBase.php | 20 +- .../views/src/Plugin/views/row/RssFields.php | 74 +- .../src/Plugin/views/row/RssPluginBase.php | 8 +- .../views/src/Plugin/views/sort/Date.php | 10 +- .../src/Plugin/views/sort/GroupByNumeric.php | 4 +- .../src/Plugin/views/sort/SortPluginBase.php | 76 +- .../src/Plugin/views/style/DefaultSummary.php | 40 +- .../Plugin/views/style/EntityReference.php | 8 +- .../views/src/Plugin/views/style/Grid.php | 44 +- .../views/src/Plugin/views/style/HtmlList.php | 20 +- .../views/src/Plugin/views/style/Mapping.php | 34 +- .../views/src/Plugin/views/style/Opml.php | 14 +- .../views/src/Plugin/views/style/Rss.php | 22 +- .../Plugin/views/style/StylePluginBase.php | 124 +- .../views/src/Plugin/views/style/Table.php | 216 +- .../Plugin/views/style/UnformattedSummary.php | 12 +- .../Plugin/views/wizard/WizardPluginBase.php | 352 +- web/core/modules/views/src/ResultRow.php | 2 +- .../views/src/Routing/ViewPageController.php | 4 +- .../views/src/Tests/DefaultViewsTest.php | 74 +- .../src/Tests/Entity/BaseFieldAccessTest.php | 4 +- .../src/Tests/Entity/FieldEntityTest.php | 12 +- .../Tests/Entity/FilterEntityBundleTest.php | 18 +- .../Entity/ViewNonTranslatableEntityTest.php | 4 +- .../views/src/Tests/FieldApiDataTest.php | 38 +- .../modules/views/src/Tests/GlossaryTest.php | 15 +- .../Tests/Handler/AreaHTTPStatusCodeTest.php | 4 +- .../views/src/Tests/Handler/AreaTest.php | 34 +- .../src/Tests/Handler/ArgumentStringTest.php | 12 +- .../src/Tests/Handler/FieldDropButtonTest.php | 10 +- .../Handler/FieldEntityOperationsTest.php | 14 +- .../src/Tests/Handler/FieldGroupRowsTest.php | 22 +- .../views/src/Tests/Handler/FieldWebTest.php | 90 +- .../src/Tests/Handler/FilterDateTest.php | 224 +- .../src/Tests/Handler/HandlerAllTest.php | 20 +- .../views/src/Tests/Handler/HandlerTest.php | 86 +- .../views/src/Tests/Plugin/AccessTest.php | 14 +- .../src/Tests/Plugin/ArgumentDefaultTest.php | 42 +- .../views/src/Tests/Plugin/CacheTagTest.php | 14 +- .../views/src/Tests/Plugin/CacheWebTest.php | 12 +- .../ContextualFiltersBlockContextTest.php | 153 + .../src/Tests/Plugin/DisabledDisplayTest.php | 8 +- .../Tests/Plugin/DisplayAttachmentTest.php | 6 +- .../Plugin/DisplayEntityReferenceTest.php | 6 +- .../src/Tests/Plugin/DisplayExtenderTest.php | 4 +- .../src/Tests/Plugin/DisplayFeedTest.php | 10 +- .../src/Tests/Plugin/DisplayPageWebTest.php | 10 +- .../views/src/Tests/Plugin/DisplayTest.php | 54 +- .../src/Tests/Plugin/ExposedFormTest.php | 61 +- .../views/src/Tests/Plugin/FilterTest.php | 37 +- .../views/src/Tests/Plugin/MiniPagerTest.php | 18 +- .../Tests/Plugin/NumericFormatPluralTest.php | 10 +- .../views/src/Tests/Plugin/PagerTest.php | 118 +- .../views/src/Tests/Plugin/StyleGridTest.php | 12 +- .../views/src/Tests/Plugin/StyleOpmlTest.php | 10 +- .../views/src/Tests/Plugin/StyleTableTest.php | 22 +- .../views/src/Tests/Plugin/StyleTest.php | 66 +- .../views/src/Tests/Plugin/ViewsBulkTest.php | 84 + .../views/src/Tests/Plugin/ViewsFormTest.php | 2 +- .../Tests/Plugin/ViewsSqlExceptionTest.php | 10 +- .../views/src/Tests/SearchIntegrationTest.php | 14 +- .../src/Tests/SearchMultilingualTest.php | 21 +- .../Update/EntityViewsDataUpdateTest.php | 6 +- .../modules/views/src/Tests/ViewAjaxTest.php | 8 +- .../views/src/Tests/ViewElementTest.php | 26 +- .../views/src/Tests/ViewKernelTestBase.php | 12 +- .../views/src/Tests/ViewRenderTest.php | 2 +- .../src/Tests/ViewResultAssertionTrait.php | 18 +- .../modules/views/src/Tests/ViewTestBase.php | 12 +- .../modules/views/src/Tests/ViewTestData.php | 196 +- .../views/src/Tests/ViewsEscapingTest.php | 10 +- .../views/src/Tests/ViewsTemplateTest.php | 4 +- .../src/Tests/ViewsThemeIntegrationTest.php | 14 +- .../views/src/Tests/Wizard/BasicTest.php | 26 +- .../src/Tests/Wizard/ItemsPerPageTest.php | 18 +- .../views/src/Tests/Wizard/MenuTest.php | 8 +- .../views/src/Tests/Wizard/NodeWizardTest.php | 4 +- .../views/src/Tests/Wizard/PagerTest.php | 10 +- .../views/src/Tests/Wizard/SortingTest.php | 14 +- .../views/src/Tests/Wizard/TaggedWithTest.php | 52 +- .../views/src/Tests/Wizard/WizardTestBase.php | 4 +- web/core/modules/views/src/ViewExecutable.php | 79 +- web/core/modules/views/src/Views.php | 72 +- web/core/modules/views/src/ViewsData.php | 30 +- .../modules/views/src/ViewsDataHelper.php | 22 +- .../fixtures/update/argument-placeholder.php | 4 +- .../fixtures/update/boolean-filter-values.php | 4 +- .../update/duplicate-field-handler.php | 4 +- .../views_entity_test.module | 4 +- .../views.view.test_exposed_admin_ui.yml | 68 +- .../test_views/views.view.test_tokens.yml | 31 + .../Controller/ViewsTestDataController.php | 27 + .../Form/ViewsTestDataElementEmbedForm.php | 6 +- .../src/Form/ViewsTestDataElementForm.php | 6 +- .../src/Form/ViewsTestDataErrorForm.php | 48 + .../src/Plugin/views/access/StaticTest.php | 2 +- .../src/Plugin/views/area/TestExample.php | 10 +- .../argument_default/ArgumentDefaultTest.php | 3 +- .../src/Plugin/views/display/DisplayTest.php | 18 +- .../display_extender/DisplayExtenderTest.php | 18 +- .../FilterBooleanOperatorDefaultTest.php | 25 + .../src/Plugin/views/filter/FilterTest.php | 6 +- .../src/Plugin/views/query/QueryTest.php | 26 +- .../src/Plugin/views/row/RowTest.php | 6 +- .../src/Plugin/views/style/MappingTest.php | 16 +- .../src/Plugin/views/style/StyleTest.php | 6 +- .../views_test_data/views_test_data.install | 4 +- .../views_test_data/views_test_data.module | 30 +- .../views_test_data.routing.yml | 8 + .../views_test_data/views_test_data.views.inc | 2 +- .../views_test_data.views_execution.inc | 4 +- .../FunctionalJavascript/GlossaryViewTest.php | 2 +- .../Plugin/views/Handler/FieldTest.php | 2 +- .../Handler/GroupedExposedFilterTest.php | 105 + .../views/tests/src/Kernel/BasicTest.php | 60 +- .../Kernel/Entity/RowEntityRenderersTest.php | 38 +- .../Entity/ViewEntityDependenciesTest.php | 18 +- ...sEntitySchemaSubscriberIntegrationTest.php | 8 +- .../src/Kernel/Handler/AreaEntityTest.php | 33 +- .../src/Kernel/Handler/AreaMessagesTest.php | 2 +- .../src/Kernel/Handler/AreaOrderTest.php | 38 +- .../tests/src/Kernel/Handler/AreaTextTest.php | 20 +- .../src/Kernel/Handler/AreaTitleTest.php | 6 +- .../tests/src/Kernel/Handler/AreaViewTest.php | 6 +- .../src/Kernel/Handler/ArgumentDateTest.php | 180 +- .../src/Kernel/Handler/ArgumentNullTest.php | 22 +- .../src/Kernel/Handler/FieldBooleanTest.php | 16 +- .../src/Kernel/Handler/FieldCounterTest.php | 44 +- .../src/Kernel/Handler/FieldCustomTest.php | 28 +- .../src/Kernel/Handler/FieldDateTest.php | 62 +- .../Kernel/Handler/FieldEntityLinkTest.php | 4 +- .../src/Kernel/Handler/FieldFieldTest.php | 42 +- .../src/Kernel/Handler/FieldFileSizeTest.php | 14 +- .../src/Kernel/Handler/FieldKernelTest.php | 38 +- .../tests/src/Kernel/Handler/FieldUrlTest.php | 22 +- .../FilterBooleanOperatorDefaultTest.php | 56 + .../FilterBooleanOperatorStringTest.php | 96 +- .../Handler/FilterBooleanOperatorTest.php | 124 +- .../src/Kernel/Handler/FilterCombineTest.php | 160 +- .../src/Kernel/Handler/FilterEqualityTest.php | 114 +- .../Kernel/Handler/FilterInOperatorTest.php | 118 +- .../src/Kernel/Handler/FilterNumericTest.php | 317 +- .../src/Kernel/Handler/FilterStringTest.php | 574 +- .../src/Kernel/Handler/HandlerAliasTest.php | 12 +- .../tests/src/Kernel/Handler/SortDateTest.php | 204 +- .../src/Kernel/Handler/SortRandomTest.php | 26 +- .../tests/src/Kernel/Handler/SortTest.php | 50 +- .../views/tests/src/Kernel/ModuleTest.php | 86 +- .../Kernel/Plugin/ArgumentValidatorTest.php | 2 +- .../Kernel/Plugin/BlockDependenciesTest.php | 34 +- .../tests/src/Kernel/Plugin/CacheTest.php | 122 +- .../Plugin/Display/ViewsMenuLinkTest.php | 4 +- .../src/Kernel/Plugin/DisplayKernelTest.php | 12 +- .../src/Kernel/Plugin/DisplayPageTest.php | 4 +- .../tests/src/Kernel/Plugin/JoinTest.php | 72 +- .../tests/src/Kernel/Plugin/QueryTest.php | 2 +- .../Plugin/RelationshipJoinTestBase.php | 16 +- .../src/Kernel/Plugin/RelationshipTest.php | 52 +- .../tests/src/Kernel/Plugin/RowEntityTest.php | 6 +- .../src/Kernel/Plugin/RowRenderCacheTest.php | 4 +- .../tests/src/Kernel/Plugin/SqlQueryTest.php | 8 +- .../src/Kernel/Plugin/StyleHtmlListTest.php | 4 +- .../src/Kernel/Plugin/StyleMappingTest.php | 6 +- .../src/Kernel/Plugin/StyleTableUnitTest.php | 6 +- .../tests/src/Kernel/Plugin/StyleTestBase.php | 2 +- .../Kernel/Plugin/StyleUnformattedTest.php | 4 +- .../src/Kernel/Plugin/ViewsBlockTest.php | 24 +- .../tests/src/Kernel/PluginInstanceTest.php | 10 +- .../tests/src/Kernel/QueryGroupByTest.php | 34 +- .../views/tests/src/Kernel/TestViewsTest.php | 4 +- .../tests/src/Kernel/TokenReplaceTest.php | 79 +- .../tests/src/Kernel/ViewExecutableTest.php | 34 +- .../tests/src/Kernel/ViewStorageTest.php | 88 +- .../views/tests/src/Kernel/ViewsHooksTest.php | 18 +- .../Wizard/WizardPluginBaseKernelTest.php | 8 +- .../Controller/ViewAjaxControllerTest.php | 19 +- .../tests/src/Unit/EntityViewsDataTest.php | 27 +- .../EventSubscriber/RouteSubscriberTest.php | 40 +- .../src/Unit/Plugin/Block/ViewsBlockTest.php | 24 +- .../Plugin/Derivative/ViewsLocalTaskTest.php | 42 +- .../tests/src/Unit/Plugin/area/EntityTest.php | 2 +- .../src/Unit/Plugin/area/MessagesTest.php | 8 +- .../tests/src/Unit/Plugin/area/ResultTest.php | 42 +- .../tests/src/Unit/Plugin/area/ViewTest.php | 6 +- .../argument_default/QueryParameterTest.php | 2 +- .../Unit/Plugin/argument_default/RawTest.php | 48 +- .../Plugin/argument_validator/EntityTest.php | 78 +- .../src/Unit/Plugin/display/PageTest.php | 2 +- .../Plugin/display/PathPluginBaseTest.php | 181 +- .../src/Unit/Plugin/field/CounterTest.php | 44 +- .../tests/src/Unit/Plugin/field/FieldTest.php | 36 +- .../Unit/Plugin/pager/PagerPluginBaseTest.php | 20 +- .../Unit/Plugin/views/display/BlockTest.php | 6 +- .../views/field/EntityOperationsUnitTest.php | 30 +- .../views/tests/src/Unit/PluginBaseTest.php | 294 +- .../tests/src/Unit/PluginTypeListTest.php | 4 +- .../Unit/Routing/ViewPageControllerTest.php | 2 +- .../tests/src/Unit/ViewExecutableTest.php | 9 +- .../tests/src/Unit/ViewsDataHelperTest.php | 38 +- .../views/tests/src/Unit/ViewsDataTest.php | 44 +- .../src/Unit/ViewsHandlerManagerTest.php | 4 +- .../views/tests/src/Unit/ViewsTest.php | 11 +- web/core/modules/views/views.api.php | 214 +- web/core/modules/views/views.install | 45 - web/core/modules/views/views.module | 144 +- web/core/modules/views/views.post_update.php | 46 +- web/core/modules/views/views.services.yml | 2 +- web/core/modules/views/views.theme.inc | 82 +- web/core/modules/views/views.tokens.inc | 56 +- web/core/modules/views/views.views.inc | 328 +- .../modules/views/views.views_execution.inc | 4 +- web/core/modules/views_ui/admin.inc | 48 +- .../views_ui/css/views_ui.admin.theme.css | 29 +- web/core/modules/views_ui/js/ajax.js | 9 +- web/core/modules/views_ui/js/views-admin.js | 9 +- .../views_ui/src/Ajax/SetFormCommand.php | 4 +- .../src/Controller/ViewsUIController.php | 26 +- .../src/Form/AdvancedSettingsForm.php | 32 +- .../views_ui/src/Form/Ajax/AddHandler.php | 92 +- .../views_ui/src/Form/Ajax/Analyze.php | 4 +- .../views_ui/src/Form/Ajax/ConfigHandler.php | 46 +- .../src/Form/Ajax/ConfigHandlerExtra.php | 18 +- .../src/Form/Ajax/ConfigHandlerGroup.php | 18 +- .../views_ui/src/Form/Ajax/Display.php | 10 +- .../views_ui/src/Form/Ajax/EditDetails.php | 24 +- .../views_ui/src/Form/Ajax/Rearrange.php | 56 +- .../src/Form/Ajax/RearrangeFilter.php | 102 +- .../src/Form/Ajax/ReorderDisplays.php | 76 +- .../views_ui/src/Form/Ajax/ViewsFormBase.php | 10 +- .../views_ui/src/Form/BasicSettingsForm.php | 78 +- .../views_ui/src/Form/BreakLockForm.php | 10 +- .../views_ui/src/Tests/AnalyzeTest.php | 16 +- .../src/Tests/ArgumentValidatorTest.php | 8 +- .../views_ui/src/Tests/CachedDataUITest.php | 20 +- .../views_ui/src/Tests/CustomBooleanTest.php | 54 +- .../views_ui/src/Tests/DefaultViewsTest.php | 47 +- .../src/Tests/DisplayAttachmentTest.php | 57 +- .../views_ui/src/Tests/DisplayCRUDTest.php | 42 +- .../src/Tests/DisplayExtenderUITest.php | 8 +- .../views_ui/src/Tests/DisplayFeedTest.php | 12 +- .../views_ui/src/Tests/DisplayPathTest.php | 54 +- .../views_ui/src/Tests/DisplayTest.php | 66 +- .../views_ui/src/Tests/DuplicateTest.php | 4 +- .../views_ui/src/Tests/ExposedFormUITest.php | 106 +- .../views_ui/src/Tests/FieldUITest.php | 10 +- .../src/Tests/FilterBooleanWebTest.php | 12 +- .../src/Tests/FilterNumericWebTest.php | 34 +- .../views_ui/src/Tests/FilterUITest.php | 28 +- .../views_ui/src/Tests/GroupByTest.php | 12 +- .../views_ui/src/Tests/HandlerTest.php | 56 +- .../src/Tests/NewViewConfigSchemaTest.php | 10 +- .../src/Tests/OverrideDisplaysTest.php | 42 +- .../views_ui/src/Tests/PreviewTest.php | 68 +- .../modules/views_ui/src/Tests/QueryTest.php | 6 +- .../src/Tests/RearrangeFieldsTest.php | 8 +- .../views_ui/src/Tests/RedirectTest.php | 12 +- .../modules/views_ui/src/Tests/ReportTest.php | 4 +- .../modules/views_ui/src/Tests/RowUITest.php | 12 +- .../views_ui/src/Tests/SettingsTest.php | 42 +- .../views_ui/src/Tests/StorageTest.php | 14 +- .../views_ui/src/Tests/StyleTableTest.php | 2 +- .../views_ui/src/Tests/StyleUITest.php | 16 +- .../modules/views_ui/src/Tests/UITestBase.php | 14 +- .../views_ui/src/Tests/UnsavedPreviewTest.php | 2 +- .../views_ui/src/Tests/ViewEditTest.php | 48 +- .../views_ui/src/Tests/ViewsListTest.php | 2 +- .../views_ui/src/Tests/ViewsUITourTest.php | 16 +- .../modules/views_ui/src/Tests/WizardTest.php | 4 +- .../modules/views_ui/src/Tests/XssTest.php | 5 +- web/core/modules/views_ui/src/ViewAddForm.php | 72 +- .../views_ui/src/ViewDuplicateForm.php | 22 +- .../modules/views_ui/src/ViewEditForm.php | 392 +- .../modules/views_ui/src/ViewFormBase.php | 12 +- .../modules/views_ui/src/ViewListBuilder.php | 226 +- .../modules/views_ui/src/ViewPreviewForm.php | 50 +- web/core/modules/views_ui/src/ViewUI.php | 234 +- .../views-ui-view-displays-list.html.twig | 24 + .../views-ui-views-listing-table.html.twig | 49 + .../views_ui_test_field.info.yml | 8 + .../views_ui_test_field.module | 18 + .../views_ui_test_field.views.inc | 29 + .../FilterOptionsTest.php | 76 + .../views_ui/tests/src/Kernel/TagTest.php | 12 +- .../Unit/Form/Ajax/RearrangeFilterTest.php | 4 +- .../tests/src/Unit/ViewListBuilderTest.php | 93 +- .../tests/src/Unit/ViewUIObjectTest.php | 36 +- web/core/modules/views_ui/views_ui.module | 127 +- web/core/modules/views_ui/views_ui.theme.inc | 274 +- .../config/schema/workflows.schema.yml | 51 + .../workflows/src/Annotation/WorkflowType.php | 53 + .../modules/workflows/src/Entity/Workflow.php | 533 ++ .../RequiredStateMissingException.php | 11 + .../workflows/src/Form/WorkflowAddForm.php | 118 + .../src/Form/WorkflowDeleteForm.php} | 12 +- .../workflows/src/Form/WorkflowEditForm.php | 215 + .../src/Form/WorkflowStateAddForm.php | 122 + .../src/Form/WorkflowStateDeleteForm.php | 99 + .../src/Form/WorkflowStateEditForm.php | 174 + .../src/Form/WorkflowTransitionAddForm.php | 158 + .../src/Form/WorkflowTransitionDeleteForm.php | 102 + .../src/Form/WorkflowTransitionEditForm.php | 178 + .../workflows/src/Plugin/WorkflowTypeBase.php | 148 + web/core/modules/workflows/src/State.php | 118 + .../modules/workflows/src/StateInterface.php | 73 + web/core/modules/workflows/src/Transition.php | 116 + .../workflows/src/TransitionInterface.php | 54 + .../src/WorkflowAccessControlHandler.php | 87 + .../src/WorkflowDeleteAccessCheck.php | 53 + .../workflows/src/WorkflowInterface.php | 289 + .../workflows/src/WorkflowListBuilder.php | 101 + .../workflows/src/WorkflowTypeInterface.php | 162 + .../workflows/src/WorkflowTypeManager.php | 40 + ...kflow_third_party_settings_test.schema.yml | 2 + ...orkflow_third_party_settings_test.info.yml | 8 + .../schema/workflow_type_test.schema.yml | 42 + .../workflow_type_test/src/DecoratedState.php | 90 + .../src/DecoratedTransition.php | 83 + .../Plugin/WorkflowType/ComplexTestType.php | 91 + .../WorkflowType/RequiredStateTestType.php | 45 + .../src/Plugin/WorkflowType/TestType.php | 34 + .../workflow_type_test.info.yml | 8 + .../src/Functional/WorkflowUiNoTypeTest.php | 54 + .../tests/src/Functional/WorkflowUiTest.php | 302 + .../src/Kernel/ComplexWorkflowTypeTest.php | 55 + .../tests/src/Kernel/RequiredStatesTest.php | 120 + .../src/Kernel/WorkflowDependenciesTest.php | 40 + .../workflows/tests/src/Unit/StateTest.php | 131 + .../tests/src/Unit/TransitionTest.php | 71 + .../workflows/tests/src/Unit/WorkflowTest.php | 679 ++ web/core/modules/workflows/workflows.info.yml | 7 + .../workflows/workflows.links.action.yml | 5 + .../workflows/workflows.links.menu.yml | 7 + web/core/modules/workflows/workflows.module | 58 + .../workflows/workflows.permissions.yml | 4 + .../modules/workflows/workflows.routing.yml | 47 + .../modules/workflows/workflows.services.yml | 10 + web/core/package.json | 23 + web/core/phpcs.xml.dist | 11 + .../minimal/src/Tests/MinimalTest.php | 4 +- ...rm_display.block_content.basic.default.yml | 2 + ...y_form_display.comment.comment.default.yml | 3 + ...tity_form_display.node.article.default.yml | 10 + ....entity_form_display.node.page.default.yml | 7 + ....entity_form_display.user.user.default.yml | 5 + ...ew_display.block_content.basic.default.yml | 1 + ...y_view_display.comment.comment.default.yml | 2 + ...tity_view_display.node.article.default.yml | 5 + ...e.entity_view_display.node.article.rss.yml | 1 + ...ntity_view_display.node.article.teaser.yml | 4 + ....entity_view_display.node.page.default.yml | 2 + ...e.entity_view_display.node.page.teaser.yml | 2 + ....entity_view_display.user.user.compact.yml | 1 + ....entity_view_display.user.user.default.yml | 2 + .../standard/config/install/system.cron.yml | 1 + web/core/profiles/standard/standard.install | 28 +- .../tests/src/Functional/StandardTest.php | 36 +- .../src/Tests/SystemListingCompatibleTest.php | 4 +- .../config/install/system.cron.yml | 1 + web/core/rebuild.php | 12 +- web/core/scripts/js/.eslintrc.json | 5 + web/core/scripts/js/babel-es6-build.js | 54 + web/core/scripts/js/babel-es6-watch.js | 67 + web/core/scripts/js/rename-js-files-to-es6.sh | 12 + .../Core/MachineNameTest.php | 4 +- .../EntityReferenceAutocompleteWidgetTest.php | 8 +- .../FunctionalJavascriptTests/JSWebAssert.php | 8 +- .../Tests/JSWebAssertTest.php | 2 +- .../FunctionalTests/AssertLegacyTrait.php | 210 +- .../FunctionalTests/BrowserTestBaseTest.php | 180 +- .../Core/Config/SchemaConfigListenerTest.php | 2 +- .../Datetime/TimestampTest.php | 149 + ...erInputMappingOnFieldDeltaElementsTest.php | 8 +- .../GetTestMethodCallerExtendsTest.php | 31 + .../GetTestMethodCallerTest.php | 31 + .../Routing/CaseInsensitivePathTest.php | 113 + .../Routing/PathEncodedTest.php | 54 + .../Utility/SafeMarkupKernelTest.php | 2 +- .../KernelTests/Config/DefaultConfigTest.php | 28 +- .../Core/Asset/AttachedAssetsTest.php | 58 +- .../Core/Bootstrap/GetFilenameTest.php | 19 +- .../Core/Bootstrap/ResettableStaticTest.php | 2 +- .../Core/Cache/BackendChainTest.php | 6 +- .../Core/Cache/DatabaseBackendTagTest.php | 14 +- .../Core/Cache/DatabaseBackendTest.php | 2 +- .../Cache/GenericCacheBackendUnitTestBase.php | 88 +- .../Core/Cache/MemoryBackendTest.php | 2 +- .../KernelTests/Core/Common/SizeTest.php | 14 +- .../KernelTests/Core/Common/XssUnitTest.php | 12 +- .../Core/Config/ConfigCRUDTest.php | 50 +- .../Core/Config/ConfigDependencyTest.php | 234 +- .../Core/Config/ConfigDiffTest.php | 16 +- .../Core/Config/ConfigEntityNormalizeTest.php | 8 +- .../Config/ConfigEntityStaticCacheTest.php | 4 +- .../Core/Config/ConfigEntityStatusTest.php | 8 +- .../Core/Config/ConfigEntityStorageTest.php | 4 +- .../Core/Config/ConfigEntityUnitTest.php | 18 +- .../Core/Config/ConfigEventsTest.php | 48 +- .../Core/Config/ConfigFileContentTest.php | 36 +- .../Core/Config/ConfigImportRecreateTest.php | 2 +- .../ConfigImportRenameValidationTest.php | 26 +- .../ConfigImporterMissingContentTest.php | 12 +- .../Core/Config/ConfigImporterTest.php | 158 +- .../Core/Config/ConfigInstallTest.php | 56 +- .../Config/ConfigLanguageOverrideTest.php | 22 +- .../Core/Config/ConfigModuleOverridesTest.php | 2 +- .../Core/Config/ConfigOverrideTest.php | 14 +- .../Config/ConfigOverridesPriorityTest.php | 6 +- .../Core/Config/ConfigSchemaTest.php | 165 +- .../Core/Config/ConfigSnapshotTest.php | 6 +- .../Core/Config/DefaultConfigTest.php | 4 +- .../Core/Config/SchemaCheckTraitTest.php | 12 +- .../Core/Config/SchemaConfigListenerTest.php | 2 +- .../Core/Config/Storage/CachedStorageTest.php | 2 +- .../Config/Storage/ConfigStorageTestBase.php | 52 +- .../Config/Storage/DatabaseStorageTest.php | 8 +- .../Core/Config/Storage/FileStorageTest.php | 6 +- .../Storage/StorageReplaceDataWrapperTest.php | 4 +- .../KernelTests/Core/Database/AlterTest.php | 14 +- .../Core/Database/BasicSyntaxTest.php | 42 +- .../Core/Database/CaseSensitivityTest.php | 8 +- .../Core/Database/ConnectionTest.php | 14 +- .../Core/Database/ConnectionUnitTest.php | 26 +- .../Core/Database/DatabaseTestBase.php | 78 +- .../Core/Database/DeleteTruncateTest.php | 12 +- .../KernelTests/Core/Database/FetchTest.php | 42 +- .../Core/Database/InsertDefaultsTest.php | 16 +- .../Core/Database/InsertLobTest.php | 16 +- .../KernelTests/Core/Database/InsertTest.php | 84 +- .../Core/Database/InvalidDataTest.php | 20 +- .../Core/Database/LargeQueryTest.php | 4 +- .../KernelTests/Core/Database/LoggingTest.php | 34 +- .../KernelTests/Core/Database/MergeTest.php | 70 +- .../KernelTests/Core/Database/NextIdTest.php | 4 +- .../Core/Database/PrefixInfoTest.php | 2 +- .../KernelTests/Core/Database/QueryTest.php | 24 +- .../Core/Database/RangeQueryTest.php | 9 +- .../Core/Database/RegressionTest.php | 16 +- .../KernelTests/Core/Database/SchemaTest.php | 394 +- .../Core/Database/SelectCloneTest.php | 2 +- .../Core/Database/SelectComplexTest.php | 56 +- .../Core/Database/SelectOrderedTest.php | 18 +- .../Core/Database/SelectSubqueryTest.php | 127 +- .../KernelTests/Core/Database/SelectTest.php | 145 +- .../Core/Database/SerializeQueryTest.php | 2 +- .../KernelTests/Core/Database/TaggingTest.php | 18 +- .../Core/Database/TransactionTest.php | 106 +- .../Core/Database/UpdateComplexTest.php | 64 +- .../Core/Database/UpdateLobTest.php | 20 +- .../KernelTests/Core/Database/UpdateTest.php | 60 +- .../KernelTests/Core/Database/UpsertTest.php | 4 +- .../Core/Datetime/FormatDateTest.php | 20 +- .../Core/DrupalKernel/DrupalKernelTest.php | 12 +- .../DrupalKernel/ServiceDestructionTest.php | 4 +- .../Core/Element/PathElementFormTest.php | 62 +- .../Entity/BundleConstraintValidatorTest.php | 10 +- .../Core/Entity/ConfigEntityQueryTest.php | 184 +- .../Core/Entity/ContentEntityChangedTest.php | 32 +- .../Core/Entity/ContentEntityCloneTest.php | 170 +- .../Entity/ContentEntityHasChangesTest.php | 101 + .../ContentEntityNonRevisionableFieldTest.php | 16 +- .../Entity/ContentEntityNullStorageTest.php | 2 +- .../EntityAutocompleteElementFormTest.php | 100 +- .../Entity/EntityAccessControlHandlerTest.php | 80 +- .../KernelTests/Core/Entity/EntityApiTest.php | 68 +- .../Core/Entity/EntityAutocompleteTest.php | 16 +- .../Core/Entity/EntityBundleFieldTest.php | 4 +- .../Core/Entity/EntityCrudHookTest.php | 226 +- .../Entity/EntityDefinitionUpdateTest.php | 130 +- .../Core/Entity/EntityDisplayBaseTest.php | 40 +- .../Core/Entity/EntityDisplayFormBaseTest.php | 144 + .../Core/Entity/EntityDuplicateTest.php | 55 + .../Entity/EntityFieldDefaultValueTest.php | 18 +- .../Core/Entity/EntityFieldTest.php | 267 +- .../Core/Entity/EntityKernelTestBase.php | 24 +- .../Core/Entity/EntityLanguageTestBase.php | 22 +- .../Core/Entity/EntityLoadedRevisionTest.php | 170 + ...tyNonRevisionableTranslatableFieldTest.php | 4 +- .../Core/Entity/EntityQueryAggregateTest.php | 346 +- .../Entity/EntityQueryRelationshipTest.php | 36 +- .../Core/Entity/EntityQueryTest.php | 166 +- .../Core/Entity/EntityReferenceFieldTest.php | 60 +- .../EntityReferenceSelectionSortTest.php | 72 +- .../Core/Entity/EntitySchemaTest.php | 20 +- .../Core/Entity/EntityTranslationTest.php | 278 +- .../EntityTypeConstraintValidatorTest.php | 10 +- .../Entity/EntityTypedDataDefinitionTest.php | 8 +- .../Core/Entity/EntityUUIDTest.php | 8 +- .../Core/Entity/EntityValidationTest.php | 14 +- .../Core/Entity/EntityViewBuilderTest.php | 8 +- .../Core/Entity/FieldSqlStorageTest.php | 132 +- .../Entity/FieldTranslationSqlStorageTest.php | 8 +- .../FieldWidgetConstraintValidatorTest.php | 6 +- .../ValidReferenceConstraintValidatorTest.php | 16 +- .../IgnoreReplicaSubscriberTest.php | 2 +- .../Extension/ModuleConfigureRouteTest.php | 57 + .../Extension/ModuleImplementsAlterTest.php | 8 +- .../Core/Field/FieldAccessTest.php | 14 +- .../FieldModuleUninstallValidatorTest.php | 4 +- .../Core/Field/FieldSettingsTest.php | 2 +- .../KernelTests/Core/File/DirectoryTest.php | 14 +- .../KernelTests/Core/File/FileTestBase.php | 24 +- .../KernelTests/Core/File/HtaccessTest.php | 6 +- .../KernelTests/Core/File/MimeTypeTest.php | 28 +- .../KernelTests/Core/File/NameMungingTest.php | 22 +- .../Core/File/ReadOnlyStreamWrapperTest.php | 2 +- .../Core/File/RemoteFileDirectoryTest.php | 2 +- .../Core/File/RemoteFileScanDirectoryTest.php | 2 +- .../Core/File/RemoteFileUnmanagedCopyTest.php | 2 +- ...RemoteFileUnmanagedDeleteRecursiveTest.php | 2 +- .../File/RemoteFileUnmanagedDeleteTest.php | 2 +- .../Core/File/RemoteFileUnmanagedMoveTest.php | 2 +- .../File/RemoteFileUnmanagedSaveDataTest.php | 2 +- .../Core/File/ScanDirectoryTest.php | 44 +- .../Core/File/StreamWrapperTest.php | 16 +- .../Core/File/UnmanagedCopyTest.php | 6 +- .../File/UnmanagedDeleteRecursiveTest.php | 8 +- .../Core/File/UnmanagedDeleteTest.php | 6 +- .../Core/File/UnmanagedMoveTest.php | 6 +- .../Core/File/UnmanagedSaveDataTest.php | 2 +- .../Core/File/UrlRewritingTest.php | 8 +- .../KernelTests/Core/Form/FormCacheTest.php | 14 +- .../Core/Form/FormDefaultHandlersTest.php | 6 +- .../Form/TriggeringElementProgrammedTest.php | 24 +- .../Core/Http/LinkRelationsTest.php | 52 + .../HttpKernel/StackKernelIntegrationTest.php | 2 +- .../KernelTests/Core/Image/ToolkitGdTest.php | 200 +- .../Core/Installer/InstallerLanguageTest.php | 20 +- .../Installer/InstallerRedirectTraitTest.php | 128 + .../DatabaseStorageExpirableTest.php | 22 +- .../KeyValueStore/DatabaseStorageTest.php | 4 +- .../KeyValueStore/GarbageCollectionTest.php | 16 +- .../KeyValueContentEntityStorageTest.php | 18 +- .../Core/KeyValueStore/StorageTestBase.php | 22 +- .../Menu/MenuLinkDefaultIntegrationTest.php | 6 +- .../Core/Menu/MenuLinkTreeTest.php | 34 +- .../Core/Menu/MenuTreeStorageTest.php | 100 +- .../KernelTests/Core/Path/AliasTest.php | 52 +- .../Core/Path/PathUnitTestBase.php | 2 +- .../Core/Path/PathValidatorTest.php | 68 + .../KernelTests/Core/Path/UrlAlterTest.php | 28 + .../Condition/CurrentThemeConditionTest.php | 14 +- .../Core/Plugin/Condition/RequestPathTest.php | 4 +- .../Core/Plugin/ContextPluginTest.php | 4 +- .../Core/Plugin/DerivativeTest.php | 2 +- .../Discovery/AnnotatedClassDiscoveryTest.php | 42 +- .../CustomAnnotationClassDiscoveryTest.php | 14 +- ...omDirectoryAnnotatedClassDiscoveryTest.php | 46 +- .../Plugin/Discovery/DiscoveryTestBase.php | 4 +- .../Plugin/Discovery/StaticDiscoveryTest.php | 16 +- .../KernelTests/Core/Plugin/FactoryTest.php | 12 +- .../Core/Plugin/InspectionTest.php | 8 +- .../Core/Plugin/PluginTestBase.php | 98 +- .../Core/Queue/QueueSerializationTest.php | 6 +- .../KernelTests/Core/Queue/QueueTest.php | 8 +- .../Core/Render/Element/ActionsTest.php | 70 + .../Render/Element/RenderElementTypesTest.php | 170 +- .../Render/Element/TableSortExtenderTest.php | 76 +- .../Core/Render/Element/TableTest.php | 200 +- .../KernelTests/Core/Render/RenderTest.php | 4 +- .../Routing/ContentNegotiationRoutingTest.php | 2 +- .../Core/Routing/MatcherDumperTest.php | 20 +- .../Core/Routing/RouteProviderTest.php | 145 +- .../Core/Routing/UrlIntegrationTest.php | 2 +- .../ServiceProvider/ServiceProviderTest.php | 10 +- .../Core/Session/AccountSwitcherTest.php | 4 +- .../Core/Site/SettingsRewriteTest.php | 104 +- .../KernelTests/Core/Theme/ImageTest.php | 58 +- .../KernelTests/Core/Theme/MessageTest.php | 10 +- .../KernelTests/Core/Theme/RegistryTest.php | 45 +- .../Core/Theme/StableThemeTest.php | 4 +- .../Core/Theme/ThemeInstallerTest.php | 76 +- .../Theme/ThemeRenderAndAutoescapeTest.php | 3 +- .../Core/Theme/ThemeSettingsTest.php | 12 +- .../Core/Theme/TwigEnvironmentTest.php | 42 +- .../Core/Theme/TwigMarkupInterfaceTest.php | 2 +- .../Core/Theme/TwigWhiteListTest.php | 30 +- .../AllowedValuesConstraintValidatorTest.php | 2 +- .../ComplexDataConstraintValidatorTest.php | 28 +- .../TypedData/TypedDataDefinitionTest.php | 2 +- .../Core/TypedData/TypedDataTest.php | 122 +- .../Core/Update/CompatibilityFixTest.php | 2 +- .../Core/Url/LinkGenerationTest.php | 2 +- ...SystemModuleDiscoveryDataProviderTrait.php | 30 + .../Drupal/KernelTests/KernelTestBase.php | 73 +- .../Drupal/KernelTests/KernelTestBaseTest.php | 68 +- .../tests/Drupal/Tests/BrowserTestBase.php | 754 +-- .../AnnotationBridgeDecoratorTest.php | 61 + .../ZfExtensionManagerSfContainerTest.php | 36 +- .../Component/Datetime/DateTimePlusTest.php | 318 +- .../Tests/Component/Datetime/TimeTest.php | 123 + .../DependencyInjection/ContainerTest.php | 338 +- .../Dumper/OptimizedPhpArrayDumperTest.php | 314 +- .../Component/Discovery/YamlDiscoveryTest.php | 8 +- .../Tests/Component/DrupalComponentTest.php | 22 +- .../FileCache/FileCacheFactoryTest.php | 8 +- .../Tests/Component/Gettext/PoHeaderTest.php | 92 +- .../Tests/Component/Graph/GraphTest.php | 94 +- .../PhpStorage/FileStorageReadOnlyTest.php | 8 +- .../Component/PhpStorage/FileStorageTest.php | 4 +- .../MTimeProtectedFastFileStorageTest.php | 2 +- .../MTimeProtectedFileStorageBase.php | 10 +- .../MTimeProtectedFileStorageTest.php | 2 +- .../Component/Plugin/Context/ContextTest.php | 6 +- .../Component/Plugin/DefaultFactoryTest.php | 23 +- .../Discovery/DiscoveryCachedTraitTest.php | 4 +- .../Plugin/Discovery/DiscoveryTraitTest.php | 33 +- .../StaticDiscoveryDecoratorTest.php | 22 +- .../Plugin/Factory/ReflectionFactoryTest.php | 2 +- .../Tests/Component/Plugin/PluginBaseTest.php | 58 +- .../Plugin/PluginManagerBaseTest.php | 12 +- .../Plugin/StubFallbackPluginManager.php | 2 +- .../ProxyBuilder/ProxyBuilderTest.php | 2 +- .../Component/Render/HtmlEscapedTextTest.php | 16 +- .../Component/Serialization/JsonTest.php | 6 +- .../Component/Serialization/YamlPeclTest.php | 3 +- .../Serialization/YamlSymfonyTest.php | 3 +- .../PhpTransliterationTest.php | 78 +- .../Utility/ArgumentsResolverTest.php | 21 +- .../Tests/Component/Utility/BytesTest.php | 30 +- .../Tests/Component/Utility/ColorTest.php | 48 +- .../Utility/CryptRandomFallbackTest.php | 71 + .../Tests/Component/Utility/CryptTest.php | 78 +- .../Component/Utility/EnvironmentTest.php | 12 +- .../Tests/Component/Utility/HtmlTest.php | 138 +- .../Tests/Component/Utility/ImageTest.php | 102 +- .../Component/Utility/NestedArrayTest.php | 108 +- .../Tests/Component/Utility/NumberTest.php | 74 +- .../Tests/Component/Utility/RandomTest.php | 10 +- .../Tests/Component/Utility/RectangleTest.php | 6 +- .../Component/Utility/SafeMarkupTest.php | 32 +- .../Tests/Component/Utility/SortArrayTest.php | 184 +- .../Tests/Component/Utility/UnicodeTest.php | 302 +- .../Tests/Component/Utility/UrlHelperTest.php | 270 +- .../Tests/Component/Utility/UserAgentTest.php | 126 +- .../Tests/Component/Utility/VariableTest.php | 62 +- .../Tests/Component/Utility/XssTest.php | 330 +- .../Drupal/Tests/Component/Uuid/UuidTest.php | 16 +- .../Tests/Core/Access/AccessManagerTest.php | 166 +- .../Core/Access/AccessResultNeutralTest.php | 44 + .../Tests/Core/Access/AccessResultTest.php | 73 +- .../Tests/Core/Access/CsrfAccessCheckTest.php | 32 +- .../Core/Access/CsrfTokenGeneratorTest.php | 34 +- .../Core/Access/CustomAccessCheckTest.php | 18 +- .../Core/Access/DefaultAccessCheckTest.php | 8 +- .../Core/Access/RouteProcessorCsrfTest.php | 21 +- .../Tests/Core/Ajax/AjaxCommandsTest.php | 166 +- .../Tests/Core/Ajax/AjaxResponseTest.php | 16 +- .../Tests/Core/Annotation/TranslationTest.php | 28 +- .../Core/Assert/AssertLegacyTraitTest.php | 11 + .../Tests/Core/Asset/AssetResolverTest.php | 2 +- .../Asset/CssCollectionGrouperUnitTest.php | 48 +- .../Asset/CssCollectionRendererUnitTest.php | 136 +- .../Tests/Core/Asset/CssOptimizerUnitTest.php | 137 +- .../Tests/Core/Asset/JsOptimizerUnitTest.php | 58 +- .../Asset/LibraryDependencyResolverTest.php | 4 +- .../Asset/LibraryDiscoveryCollectorTest.php | 22 +- .../Core/Asset/LibraryDiscoveryParserTest.php | 45 +- .../Core/Asset/css_test_files/quotes.css | 31 + .../css_test_files/quotes.css.optimized.css | 9 + .../Tests/Core/Batch/PercentagesTest.php | 42 +- .../Drupal/Tests/Core/Block/BlockBaseTest.php | 14 +- .../Core/Breadcrumb/BreadcrumbManagerTest.php | 13 +- .../Tests/Core/Breadcrumb/BreadcrumbTest.php | 3 +- .../BackendChainImplementationUnitTest.php | 30 +- .../Tests/Core/Cache/CacheCollectorHelper.php | 2 +- .../Tests/Core/Cache/CacheCollectorTest.php | 38 +- .../Tests/Core/Cache/CacheFactoryTest.php | 30 +- .../Core/Cache/CacheTagsInvalidatorTest.php | 11 +- .../Core/Cache/ChainedFastBackendTest.php | 20 +- .../Context/CacheContextsManagerTest.php | 12 +- .../Context/IsFrontPathCacheContextTest.php | 46 + .../Tests/Core/Cache/NullBackendTest.php | 2 +- .../Tests/Core/Common/AttributesTest.php | 34 +- .../Tests/Core/Common/DiffArrayTest.php | 28 +- .../Drupal/Tests/Core/Common/TagsTest.php | 4 +- .../ConditionAccessResolverTraitTest.php | 68 +- .../Tests/Core/Config/CachedStorageTest.php | 2 +- .../Drupal/Tests/Core/Config/ConfigTest.php | 108 +- .../Entity/ConfigDependencyManagerTest.php | 8 +- .../Entity/ConfigEntityBaseUnitTest.php | 116 +- .../Entity/ConfigEntityDependencyTest.php | 30 +- .../Config/Entity/ConfigEntityStorageTest.php | 46 +- .../Config/Entity/ConfigEntityTypeTest.php | 29 +- .../Entity/EntityDisplayModeBaseUnitTest.php | 10 +- .../Config/Entity/Query/QueryFactoryTest.php | 5 +- .../Tests/Core/Config/ImmutableConfigTest.php | 13 +- .../Tests/Core/Config/StorageComparerTest.php | 76 +- .../Core/Controller/AjaxRendererTest.php | 2 +- .../Core/Controller/ControllerBaseTest.php | 12 +- .../Controller/ControllerResolverTest.php | 49 +- .../Core/Controller/TitleResolverTest.php | 26 +- .../Tests/Core/Database/ConditionTest.php | 71 +- .../Tests/Core/Database/ConnectionTest.php | 130 +- .../Driver/pgsql/PostgresqlConnectionTest.php | 58 +- .../Core/Database/EmptyStatementTest.php | 8 +- .../Core/Database/Stub/StubConnection.php | 4 +- .../Drupal/Tests/Core/Datetime/DateTest.php | 220 +- .../Core/Datetime/DrupalDateTimeTest.php | 48 +- .../Compiler/BackendCompilerPassTest.php | 12 +- .../Compiler/ProxyServicesPassTest.php | 4 +- .../Compiler/TaggedHandlersPassTest.php | 70 +- .../ContainerBuilderTest.php | 13 +- .../DependencyInjection/ContainerTest.php | 3 +- .../Tests/Core/Display/DisplayVariantTest.php | 44 +- .../DiscoverServiceProvidersTest.php | 20 +- .../Core/DrupalKernel/DrupalKernelTest.php | 4 +- .../tests/Drupal/Tests/Core/DrupalTest.php | 83 +- .../Enhancer/ParamConversionEnhancerTest.php | 14 +- .../Core/Entity/BaseFieldDefinitionTest.php | 47 +- .../Core/Entity/ContentEntityBaseUnitTest.php | 60 +- .../Enhancer/EntityRouteEnhancerTest.php | 14 +- .../Core/Entity/EntityAccessCheckTest.php | 51 +- .../Entity/EntityCreateAccessCheckTest.php | 20 +- .../Core/Entity/EntityFieldManagerTest.php | 21 +- .../Tests/Core/Entity/EntityFormTest.php | 26 +- .../Core/Entity/EntityListBuilderTest.php | 14 +- .../Core/Entity/EntityRepositoryTest.php | 2 +- .../Core/Entity/EntityResolverManagerTest.php | 122 +- .../Core/Entity/EntityTypeManagerTest.php | 17 +- .../Core/Entity/EntityTypeRepositoryTest.php | 10 +- .../Tests/Core/Entity/EntityTypeTest.php | 135 +- .../Tests/Core/Entity/EntityUnitTest.php | 60 +- .../KeyValueEntityStorageTest.php | 120 +- .../Tests/Core/Entity/Query/Sql/QueryTest.php | 9 +- .../Routing/DefaultHtmlRouteProviderTest.php | 23 +- .../Entity/Sql/DefaultTableMappingTest.php | 9 +- .../Sql/SqlContentEntityStorageSchemaTest.php | 1140 ++-- .../Sql/SqlContentEntityStorageTest.php | 439 +- .../TypedData/EntityAdapterUnitTest.php | 37 +- .../ActiveLinkResponseFilterTest.php | 260 +- .../CustomPageExceptionHtmlSubscriberTest.php | 4 +- .../DefaultExceptionSubscriberTest.php | 6 +- .../ExceptionJsonSubscriberTest.php | 38 + .../ModuleRouteSubscriberTest.php | 34 +- .../PathRootsSubscriberTest.php | 2 +- .../RedirectResponseSubscriberTest.php | 42 +- .../SpecialAttributesRouteSubscriberTest.php | 4 +- .../Core/Extension/DefaultConfigTest.php | 9 +- .../Core/Extension/InfoParserUnitTest.php | 12 +- .../Core/Extension/ModuleHandlerTest.php | 179 +- .../Tests/Core/Extension/ThemeHandlerTest.php | 120 +- .../module_handler_test/hook_include.inc | 3 + .../module_handler_test.module | 6 +- .../module_handler_test_added.hook.inc | 7 +- .../module_handler_test_added.module | 7 +- .../module_handler_test_all1.module | 2 +- .../module_handler_test_all2.module | 7 +- .../Field/FieldDefinitionListenerTest.php | 2 +- .../Core/Form/ConfigFormBaseTraitTest.php | 6 +- .../Tests/Core/Form/ConfirmFormHelperTest.php | 10 +- .../Core/Form/FormAjaxResponseBuilderTest.php | 11 +- .../Tests/Core/Form/FormBuilderTest.php | 49 +- .../Tests/Core/Form/FormErrorHandlerTest.php | 81 + .../Drupal/Tests/Core/Form/FormHelperTest.php | 102 +- .../Core/Form/FormStateDecoratorBaseTest.php | 6 +- .../Drupal/Tests/Core/Form/FormStateTest.php | 70 +- .../Tests/Core/Form/FormSubmitterTest.php | 38 +- .../Drupal/Tests/Core/Form/FormTestBase.php | 28 +- .../Tests/Core/Form/FormValidatorTest.php | 232 +- .../Drupal/Tests/Core/Form/OptGroupTest.php | 22 +- .../Tests/Core/Form/SubformStateTest.php | 9 +- .../Core/Form/fixtures/form_base_test.inc | 24 +- .../Drupal/Tests/Core/Image/ImageTest.php | 18 +- .../Tests/Core/Language/LanguageUnitTest.php | 70 +- .../Tests/Core/Layout/LayoutDefaultTest.php | 87 + .../Core/Layout/LayoutPluginManagerTest.php | 390 ++ .../Core/Logger/LogMessageParserTest.php | 44 +- .../Tests/Core/Logger/LoggerChannelTest.php | 16 +- .../Tests/Core/Mail/MailManagerTest.php | 42 +- .../Core/Menu/ContextualLinkDefaultTest.php | 12 +- .../Core/Menu/ContextualLinkManagerTest.php | 122 +- .../DefaultMenuLinkTreeManipulatorsTest.php | 141 +- .../Core/Menu/LocalActionDefaultTest.php | 10 +- .../Core/Menu/LocalActionManagerTest.php | 248 +- .../Tests/Core/Menu/LocalTaskDefaultTest.php | 88 +- .../Menu/LocalTaskIntegrationTestBase.php | 10 +- .../Tests/Core/Menu/LocalTaskManagerTest.php | 86 +- .../Tests/Core/Menu/MenuActiveTrailTest.php | 34 +- .../Drupal/Tests/Core/Menu/MenuLinkMock.php | 12 +- .../Core/Menu/MenuLinkTreeElementTest.php | 14 +- .../Core/Menu/MenuTreeParametersTest.php | 44 +- .../Core/Menu/StaticMenuLinkOverridesTest.php | 66 +- .../Core/PageCache/ChainRequestPolicyTest.php | 2 +- .../PageCache/ChainResponsePolicyTest.php | 5 +- .../CommandLineOrUnsafeMethodTest.php | 2 +- .../ParamConverter/EntityConverterTest.php | 8 +- .../ParamConverterManagerTest.php | 112 +- .../Core/Password/PasswordHashingTest.php | 12 +- .../Tests/Core/Path/AliasManagerTest.php | 38 +- .../Tests/Core/Path/PathMatcherTest.php | 84 +- .../PathProcessor/PathProcessorAliasTest.php | 16 +- .../PathProcessor/PathProcessorFrontTest.php | 3 +- .../Core/PathProcessor/PathProcessorTest.php | 69 +- .../Plugin/Context/ContextDefinitionTest.php | 65 +- .../Tests/Core/Plugin/Context/ContextTest.php | 4 +- .../Plugin/Context/ContextTypedDataTest.php | 2 +- .../Context/LazyContextRepositoryTest.php | 3 +- .../Tests/Core/Plugin/ContextHandlerTest.php | 151 +- .../DefaultLazyPluginCollectionTest.php | 34 +- .../Core/Plugin/DefaultPluginManagerTest.php | 105 +- .../DefaultSingleLazyPluginCollectionTest.php | 2 +- ...tainerDerivativeDiscoveryDecoratorTest.php | 12 +- .../DerivativeDiscoveryDecoratorTest.php | 126 +- .../Plugin/Discovery/HookDiscoveryTest.php | 34 +- .../Discovery/TestDerivativeDiscovery.php | 2 +- .../TestDerivativeDiscoveryWithObject.php | 2 +- .../Discovery/YamlDirectoryDiscoveryTest.php | 2 +- .../Discovery/YamlDiscoveryDecoratorTest.php | 22 +- .../Plugin/Discovery/YamlDiscoveryTest.php | 10 +- .../Fixtures/TestConfigurablePlugin.php | 4 +- .../Plugin/LazyPluginCollectionTestBase.php | 38 +- .../Core/Plugin/PluginDependencyTraitTest.php | 123 + .../Core/ProxyBuilder/ProxyBuilderTest.php | 2 +- .../Core/Render/BubbleableMetadataTest.php | 76 +- .../Tests/Core/Render/Element/HtmlTagTest.php | 104 +- .../Core/Render/ElementInfoManagerTest.php | 46 +- .../Drupal/Tests/Core/Render/ElementTest.php | 96 +- .../ChainedPlaceholderStrategyTest.php | 8 +- .../Core/Render/RendererBubblingTest.php | 11 +- .../Core/Render/RendererPlaceholdersTest.php | 29 +- .../Core/Render/RendererRecursionTest.php | 3 +- .../Drupal/Tests/Core/Render/RendererTest.php | 22 +- .../Tests/Core/Render/RendererTestBase.php | 2 +- .../Tests/Core/Route/RoleAccessCheckTest.php | 88 +- .../RouteProcessorManagerTest.php | 6 +- .../Core/Routing}/AcceptHeaderMatcherTest.php | 10 +- .../Core/Routing/AccessAwareRouterTest.php | 12 +- .../Core/Routing/RedirectDestinationTest.php | 3 +- .../Routing/RequestFormatRouteFilterTest.php | 47 +- .../Tests/Core/Routing/RouteBuilderTest.php | 26 +- .../Tests/Core/Routing/RouteCompilerTest.php | 22 +- .../Tests/Core/Routing/RouteMatchTest.php | 14 +- .../Tests/Core/Routing/RouteMatchTestBase.php | 26 +- .../Tests/Core/Routing/RoutePreloaderTest.php | 26 +- .../Tests/Core/Routing/RoutingFixtures.php | 162 +- .../Routing/TrustedRedirectResponseTest.php | 2 +- .../Tests/Core/Routing/UrlGeneratorTest.php | 77 +- .../Tests/Core/Session/AccountProxyTest.php | 53 + .../Core/Session/AnonymousUserSessionTest.php | 4 +- .../Session/PermissionsHashGeneratorTest.php | 22 +- .../Tests/Core/Session/UserSessionTest.php | 80 +- .../Drupal/Tests/Core/Site/SettingsTest.php | 43 +- .../ReverseProxyMiddlewareTest.php | 20 +- .../TranslatableMarkupTest.php | 9 +- .../TranslationManagerTest.php | 20 +- .../Tests/Core/Template/AttributeTest.php | 118 +- .../Tests/Core/Template/TwigExtensionTest.php | 258 +- .../Tests/Core/Template/TwigSandboxTest.php | 2 +- .../Drupal/Tests/Core/Theme/RegistryTest.php | 341 +- .../Tests/Core/Theme/ThemeNegotiatorTest.php | 8 +- .../PhpTransliterationTest.php | 10 +- .../RecursiveContextualValidatorTest.php | 15 +- .../Drupal/Tests/Core/UnroutedUrlTest.php | 18 +- web/core/tests/Drupal/Tests/Core/UrlTest.php | 95 +- .../Drupal/Tests/Core/Utility/ErrorTest.php | 38 +- .../Tests/Core/Utility/LinkGeneratorTest.php | 237 +- .../Drupal/Tests/Core/Utility/TokenTest.php | 12 +- .../Core/Utility/UnroutedUrlAssemblerTest.php | 4 +- .../PrimitiveTypeConstraintValidatorTest.php | 3 +- .../Drupal/Tests/HiddenFieldSelector.php | 23 + .../Tests/Listeners/SimpletestUiPrinter.php | 26 + .../Drupal/Tests/RandomGeneratorTrait.php | 4 +- .../Drupal/Tests/SchemaCheckTestTrait.php | 59 + .../Config/SchemaConfigListenerTestTrait.php | 2 +- .../Drupal/Tests/Traits/Core/CronRunTrait.php | 17 + web/core/tests/Drupal/Tests/UnitTestCase.php | 18 +- web/core/tests/Drupal/Tests/WebAssert.php | 103 +- .../tests/Drupal/Tests/XdebugRequestTrait.php | 48 + web/core/tests/TestSuites/TestSuiteBase.php | 2 +- web/core/tests/bootstrap.php | 29 +- web/core/themes/bartik/bartik.theme | 8 +- web/core/themes/bartik/color/color.inc | 72 +- web/core/themes/classy/README.txt | 7 +- web/core/themes/classy/classy.info.yml | 2 +- web/core/themes/classy/classy.libraries.yml | 6 + .../classy/css/components/image-widget.css | 14 +- .../content-edit/image-widget.html.twig | 1 - .../templates/form/datetime-wrapper.html.twig | 4 +- .../templates/views/views-view-opml.html.twig | 2 +- .../templates/views/views-view-rss.html.twig | 2 +- web/core/themes/engines/twig/twig.engine | 2 +- .../css/components/system-status-counter.css | 87 + .../system-status-report-counters.css | 26 + .../system-status-report-general-info.css | 161 + .../css/components/system-status-report.css | 148 +- .../themes/seven/css/components/tables.css | 2 +- .../seven/css/theme/maintenance-page.css | 22 +- .../seven/images/icons/cccccc/clock.svg | 3 + .../seven/images/icons/cccccc/d8-logo.svg | 6 + .../seven/images/icons/cccccc/database.svg | 6 + .../seven/images/icons/cccccc/php-logo.svg | 7 + .../seven/images/icons/cccccc/server.svg | 3 + .../themes/seven/js/responsive-details.js | 57 + web/core/themes/seven/seven.info.yml | 6 + web/core/themes/seven/seven.libraries.yml | 15 + web/core/themes/seven/seven.theme | 52 +- .../seven/templates/image-widget.html.twig | 12 + .../templates/status-report-counter.html.twig | 26 + .../status-report-general-info.html.twig | 99 + .../templates/status-report-grouped.html.twig | 50 + .../templates/status-report-page.html.twig | 28 + web/core/themes/stable/README.txt | 2 +- .../themes/stable/css/image/editors/image.css | 52 + .../stable/css/image/editors/image.theme.css | 100 + .../components/system-status-counter.css | 28 + .../system-status-report-counters.css | 27 + .../system-status-report-general-info.css | 14 + .../themes/stable/css/system/system.admin.css | 9 +- .../css/views_ui/views_ui.admin.theme.css | 31 +- web/core/themes/stable/images/image/error.svg | 4 + .../themes/stable/images/image/upload.svg | 4 + web/core/themes/stable/stable.info.yml | 9 + .../admin/status-report-counter.html.twig | 15 + .../status-report-general-info.html.twig | 81 + .../admin/status-report-grouped.html.twig | 49 + .../admin/status-report-page.html.twig | 28 + .../views-ui-view-displays-list.html.twig | 22 + .../views-ui-views-listing-table.html.twig | 47 + .../templates/views/views-view-opml.html.twig | 2 +- .../templates/views/views-view-rss.html.twig | 2 +- web/core/themes/stark/README.txt | 2 +- web/core/themes/stark/stark.info.yml | 2 +- web/sites/default/default.services.yml | 174 + web/sites/default/default.settings.php | 23 +- web/sites/example.settings.local.php | 8 + web/vendor/asm89/stack-cors/.gitignore | 4 - web/vendor/asm89/stack-cors/.travis.yml | 13 - web/vendor/asm89/stack-cors/LICENSE | 19 + web/vendor/asm89/stack-cors/README.md | 47 +- web/vendor/asm89/stack-cors/composer.json | 29 +- web/vendor/asm89/stack-cors/phpunit.xml.dist | 26 - .../asm89/stack-cors/src/Asm89/Stack/Cors.php | 14 +- .../src/Asm89/Stack/CorsService.php | 48 +- .../stack-cors/test/Asm89/Stack/CorsTest.php | 395 -- .../asm89/stack-cors/test/bootstrap.php | 10 - web/vendor/composer/autoload_classmap.php | 8 - web/vendor/composer/autoload_files.php | 4 +- web/vendor/composer/autoload_namespaces.php | 4 - web/vendor/composer/autoload_psr4.php | 11 +- web/vendor/composer/autoload_static.php | 62 +- web/vendor/composer/installed.json | 4564 +++++++------ web/vendor/composer/semver/CHANGELOG.md | 40 +- web/vendor/composer/semver/README.md | 4 +- web/vendor/composer/semver/composer.json | 13 +- .../src/Constraint/AbstractConstraint.php | 10 +- .../semver/src/Constraint/Constraint.php | 44 +- .../src/Constraint/ConstraintInterface.php | 5 - .../semver/src/Constraint/MultiConstraint.php | 24 + .../composer/semver/src/VersionParser.php | 70 +- web/vendor/doctrine/cache/.travis.yml | 33 +- web/vendor/doctrine/cache/LICENSE | 2 +- web/vendor/doctrine/cache/composer.json | 11 +- .../lib/Doctrine/Common/Cache/ApcCache.php | 32 +- .../lib/Doctrine/Common/Cache/ApcuCache.php | 106 + .../lib/Doctrine/Common/Cache/ArrayCache.php | 64 +- .../cache/lib/Doctrine/Common/Cache/Cache.php | 14 +- .../Doctrine/Common/Cache/CacheProvider.php | 75 +- .../Doctrine/Common/Cache/ClearableCache.php | 2 +- .../lib/Doctrine/Common/Cache/FileCache.php | 91 +- .../Doctrine/Common/Cache/FilesystemCache.php | 4 +- .../Doctrine/Common/Cache/FlushableCache.php | 2 +- .../Doctrine/Common/Cache/MemcacheCache.php | 3 +- .../Doctrine/Common/Cache/MemcachedCache.php | 20 +- .../Doctrine/Common/Cache/MongoDBCache.php | 32 +- .../Doctrine/Common/Cache/MultiPutCache.php | 41 + .../lib/Doctrine/Common/Cache/PredisCache.php | 43 +- .../lib/Doctrine/Common/Cache/RedisCache.php | 44 +- .../lib/Doctrine/Common/Cache/RiakCache.php | 2 +- .../Doctrine/Common/Cache/SQLite3Cache.php | 7 +- .../lib/Doctrine/Common/Cache/Version.php | 2 +- .../Doctrine/Common/Cache/WinCacheCache.php | 20 +- web/vendor/doctrine/cache/phpunit.xml.dist | 20 +- web/vendor/doctrine/collections/.gitignore | 1 - web/vendor/doctrine/collections/.travis.yml | 21 - .../doctrine/collections/CONTRIBUTING.md | 67 + web/vendor/doctrine/collections/README.md | 2 + web/vendor/doctrine/collections/composer.json | 12 +- .../Common/Collections/ArrayCollection.php | 35 +- .../Expr/ClosureExpressionVisitor.php | 38 + .../Common/Collections/Expr/Comparison.php | 24 +- .../Common/Collections/ExpressionBuilder.php | 36 +- .../doctrine/collections/phpunit.xml.dist | 31 - web/vendor/doctrine/common/.gitignore | 10 - web/vendor/doctrine/common/.gitmodules | 3 - web/vendor/doctrine/common/.travis.yml | 26 - web/vendor/doctrine/common/LICENSE | 2 +- web/vendor/doctrine/common/build.properties | 3 - web/vendor/doctrine/common/build.xml | 101 - web/vendor/doctrine/common/composer.json | 14 +- web/vendor/doctrine/common/humbug.json.dist | 11 + .../lib/Doctrine/Common/ClassLoader.php | 6 +- .../lib/Doctrine/Common/EventManager.php | 2 +- .../Persistence/AbstractManagerRegistry.php | 13 +- .../Mapping/AbstractClassMetadataFactory.php | 12 +- .../Mapping/Driver/AnnotationDriver.php | 10 +- .../Mapping/Driver/DefaultFileLocator.php | 4 +- .../Persistence/Mapping/Driver/FileDriver.php | 15 +- .../Mapping/Driver/MappingDriverChain.php | 8 +- .../Persistence/Mapping/Driver/PHPDriver.php | 6 +- .../Mapping/Driver/StaticPHPDriver.php | 6 +- .../Mapping/Driver/SymfonyFileLocator.php | 14 +- .../Mapping/StaticReflectionService.php | 2 +- .../Common/Persistence/ObjectRepository.php | 4 +- .../Common/Persistence/PersistentObject.php | 2 +- .../Common/Proxy/AbstractProxyFactory.php | 2 +- .../lib/Doctrine/Common/Proxy/Autoloader.php | 8 +- .../Exception/UnexpectedValueException.php | 36 +- .../Doctrine/Common/Proxy/ProxyGenerator.php | 171 +- .../Reflection/StaticReflectionClass.php | 2 +- .../Reflection/StaticReflectionParser.php | 10 +- .../Reflection/StaticReflectionProperty.php | 6 +- .../common/lib/Doctrine/Common/Util/Debug.php | 124 +- .../common/lib/Doctrine/Common/Version.php | 2 +- web/vendor/doctrine/common/phpunit.xml.dist | 25 - web/vendor/doctrine/inflector/.travis.yml | 12 +- web/vendor/doctrine/inflector/LICENSE | 2 +- web/vendor/doctrine/inflector/composer.json | 2 +- .../Doctrine/Common/Inflector/Inflector.php | 83 +- .../egulias/email-validator/.travis.yml | 11 +- web/vendor/egulias/email-validator/README.md | 2 +- .../egulias/email-validator/composer.json | 5 +- .../egulias/email-validator/composer.lock | 746 +-- .../src/Egulias/EmailValidator/EmailLexer.php | 2 - .../Egulias/EmailValidator/EmailValidator.php | 112 +- .../EmailValidatorInterface.php | 62 + .../EmailValidator/Parser/DomainPart.php | 38 +- .../EmailValidator/Parser/LocalPart.php | 20 +- .../Egulias/EmailValidator/Parser/Parser.php | 27 +- web/vendor/guzzlehttp/guzzle/.travis.yml | 2 +- web/vendor/guzzlehttp/guzzle/CHANGELOG.md | 13 +- web/vendor/guzzlehttp/guzzle/UPGRADING.md | 8 +- web/vendor/guzzlehttp/guzzle/composer.json | 2 +- web/vendor/guzzlehttp/guzzle/src/Client.php | 28 +- .../guzzle/src/Exception/RequestException.php | 24 +- .../guzzle/src/Handler/StreamHandler.php | 2 +- .../guzzle/src/RedirectMiddleware.php | 4 +- .../guzzlehttp/guzzle/src/RequestOptions.php | 4 +- .../guzzlehttp/guzzle/src/RetryMiddleware.php | 11 +- web/vendor/guzzlehttp/promises/.gitignore | 11 - web/vendor/guzzlehttp/promises/.travis.yml | 19 - web/vendor/guzzlehttp/promises/CHANGELOG.md | 48 +- web/vendor/guzzlehttp/promises/LICENSE | 2 +- web/vendor/guzzlehttp/promises/README.md | 9 +- web/vendor/guzzlehttp/promises/composer.json | 9 +- .../guzzlehttp/promises/phpunit.xml.dist | 17 - .../guzzlehttp/promises/src/Coroutine.php | 151 + .../guzzlehttp/promises/src/Promise.php | 13 +- .../guzzlehttp/promises/src/TaskQueue.php | 16 +- .../promises/src/TaskQueueInterface.php | 25 + .../guzzlehttp/promises/src/functions.php | 77 +- web/vendor/guzzlehttp/psr7/.gitignore | 11 - web/vendor/guzzlehttp/psr7/.travis.yml | 20 - web/vendor/guzzlehttp/psr7/CHANGELOG.md | 40 + web/vendor/guzzlehttp/psr7/Makefile | 29 - web/vendor/guzzlehttp/psr7/README.md | 214 +- web/vendor/guzzlehttp/psr7/composer.json | 8 +- web/vendor/guzzlehttp/psr7/phpunit.xml.dist | 17 - .../guzzlehttp/psr7/src/LimitStream.php | 2 +- .../guzzlehttp/psr7/src/MultipartStream.php | 4 +- web/vendor/guzzlehttp/psr7/src/Request.php | 2 +- web/vendor/guzzlehttp/psr7/src/Response.php | 3 +- .../guzzlehttp/psr7/src/ServerRequest.php | 26 +- web/vendor/guzzlehttp/psr7/src/Stream.php | 14 +- web/vendor/guzzlehttp/psr7/src/Uri.php | 412 +- .../guzzlehttp/psr7/src/UriNormalizer.php | 216 + .../guzzlehttp/psr7/src/UriResolver.php | 219 + web/vendor/guzzlehttp/psr7/src/functions.php | 32 +- web/vendor/masterminds/html5/RELEASE.md | 13 +- web/vendor/masterminds/html5/composer.json | 2 +- web/vendor/masterminds/html5/src/HTML5.php | 10 +- .../html5/src/HTML5/Parser/Tokenizer.php | 14 +- .../src/HTML5/Parser/TreeBuildingRules.php | 1 - .../src/HTML5/Serializer/OutputRules.php | 6 +- web/vendor/paragonie/random_compat/.gitignore | 4 - .../paragonie/random_compat/.scrutinizer.yml | 4 - .../paragonie/random_compat/.travis.yml | 26 - web/vendor/paragonie/random_compat/ERRATA.md | 40 - web/vendor/paragonie/random_compat/README.md | 149 - .../paragonie/random_compat/SECURITY.md | 108 - .../paragonie/random_compat/build-phar.sh | 5 + .../paragonie/random_compat/composer.json | 66 +- .../dist/random_compat.phar.pubkey | 5 + .../dist/random_compat.phar.pubkey.asc | 11 + .../random_compat/lib/byte_safe_strings.php | 41 +- .../random_compat/lib/cast_to_int.php | 36 +- .../random_compat/lib/error_polyfill.php | 17 +- .../paragonie/random_compat/lib/random.php | 274 +- .../lib/random_bytes_com_dotnet.php | 105 +- .../lib/random_bytes_dev_urandom.php | 215 +- .../lib/random_bytes_libsodium.php | 114 +- .../lib/random_bytes_libsodium_legacy.php | 92 + .../random_compat/lib/random_bytes_mcrypt.php | 79 +- .../lib/random_bytes_openssl.php | 76 - .../random_compat/lib/random_int.php | 337 +- .../random_compat/other/build_phar.php | 57 + web/vendor/paragonie/random_compat/phpunit.sh | 62 - .../paragonie/random_compat/phpunit.xml.dist | 29 - .../random_compat/psalm-autoload.php | 9 + web/vendor/paragonie/random_compat/psalm.xml | 15 + web/vendor/psr/http-message/CHANGELOG.md | 36 + web/vendor/psr/http-message/composer.json | 1 + .../psr/http-message/src/MessageInterface.php | 12 +- .../psr/http-message/src/RequestInterface.php | 10 +- .../http-message/src/ResponseInterface.php | 2 +- .../src/ServerRequestInterface.php | 14 +- .../src/UploadedFileInterface.php | 2 +- .../psr/http-message/src/UriInterface.php | 14 +- web/vendor/psr/log/Psr/Log/AbstractLogger.php | 40 +- web/vendor/psr/log/Psr/Log/LogLevel.php | 16 +- .../psr/log/Psr/Log/LoggerAwareInterface.php | 7 +- .../psr/log/Psr/Log/LoggerAwareTrait.php | 8 +- .../psr/log/Psr/Log/LoggerInterface.php | 51 +- web/vendor/psr/log/Psr/Log/LoggerTrait.php | 51 +- web/vendor/psr/log/Psr/Log/NullLogger.php | 9 +- .../log/Psr/Log/Test/LoggerInterfaceTest.php | 46 +- web/vendor/psr/log/composer.json | 13 +- web/vendor/symfony/class-loader/composer.json | 2 +- web/vendor/symfony/console/Application.php | 12 +- web/vendor/symfony/console/Helper/Helper.php | 7 +- .../symfony/console/Helper/QuestionHelper.php | 4 +- web/vendor/symfony/console/Helper/Table.php | 12 +- .../symfony/console/Helper/TableCell.php | 4 + .../symfony/console/Output/BufferedOutput.php | 2 +- .../symfony/console/Tester/CommandTester.php | 4 +- web/vendor/symfony/console/composer.json | 2 +- web/vendor/symfony/debug/ErrorHandler.php | 21 +- .../ClassNotFoundFatalErrorHandler.php | 2 +- web/vendor/symfony/debug/composer.json | 2 +- .../Compiler/AutowirePass.php | 42 +- .../Compiler/CheckCircularReferencesPass.php | 1 - .../MergeExtensionConfigurationPass.php | 4 + .../ReplaceAliasByActualDefinitionPass.php | 2 +- .../dependency-injection/ContainerBuilder.php | 10 +- .../dependency-injection/Definition.php | 6 +- .../dependency-injection/Dumper/PhpDumper.php | 28 +- .../Loader/YamlFileLoader.php | 14 +- web/vendor/symfony/dom-crawler/Crawler.php | 336 +- .../dom-crawler/Field/ChoiceFormField.php | 4 +- web/vendor/symfony/dom-crawler/Form.php | 4 +- .../symfony/dom-crawler/FormFieldRegistry.php | 4 +- web/vendor/symfony/dom-crawler/LICENSE | 2 +- web/vendor/symfony/dom-crawler/composer.json | 6 +- .../event-dispatcher/EventDispatcher.php | 2 +- .../Tests/AbstractEventDispatcherTest.php | 3 +- .../Debug/TraceableEventDispatcherTest.php | 9 +- .../RegisterListenersPassTest.php | 3 +- .../event-dispatcher/Tests/EventTest.php | 3 +- .../Tests/GenericEventTest.php | 5 +- .../Tests/ImmutableEventDispatcherTest.php | 3 +- .../symfony/event-dispatcher/composer.json | 2 +- .../http-foundation/BinaryFileResponse.php | 2 +- .../symfony/http-foundation/Request.php | 138 +- .../symfony/http-foundation/Response.php | 11 + .../Storage/MockArraySessionStorage.php | 4 +- web/vendor/symfony/http-kernel/Client.php | 23 +- .../DataCollector/DumpDataCollector.php | 2 +- .../DataCollector/Util/ValueExporter.php | 2 +- .../AddRequestFormatsListener.php | 2 +- .../EventListener/SessionListener.php | 1 + .../EventListener/TestSessionListener.php | 1 + .../symfony/http-kernel/HttpCache/Store.php | 23 +- web/vendor/symfony/http-kernel/Kernel.php | 9 +- .../Profiler/MemcacheProfilerStorage.php | 2 +- web/vendor/symfony/http-kernel/composer.json | 14 +- .../symfony/process/ExecutableFinder.php | 2 +- web/vendor/symfony/process/Process.php | 1 - web/vendor/symfony/process/ProcessUtils.php | 2 +- .../psr-http-message-bridge/.travis.yml | 11 +- .../symfony/psr-http-message-bridge/CHANGELOG | 3 + .../psr-http-message-bridge/CHANGELOG.md | 7 - .../Factory/DiactorosFactory.php | 12 +- .../Factory/HttpFoundationFactory.php | 27 +- .../symfony/psr-http-message-bridge/LICENSE | 2 +- .../psr-http-message-bridge/composer.json | 8 +- .../routing/Loader/AnnotationClassLoader.php | 2 +- .../Loader/AnnotationDirectoryLoader.php | 41 +- web/vendor/symfony/routing/composer.json | 2 +- .../symfony/serializer/Encoder/XmlEncoder.php | 17 +- .../Mapping/Loader/YamlFileLoader.php | 46 +- .../CamelCaseToSnakeCaseNameConverter.php | 11 +- web/vendor/symfony/serializer/composer.json | 2 +- .../Catalogue/AbstractOperation.php | 1 - .../translation/Loader/MoFileLoader.php | 2 +- .../translation/Util/ArrayConverter.php | 2 +- web/vendor/symfony/translation/composer.json | 2 +- .../validator/Constraints/BicValidator.php | 2 +- .../validator/Constraints/Composite.php | 4 + .../validator/Constraints/UrlValidator.php | 4 +- .../validator/Mapping/ClassMetadata.php | 44 +- .../validator/Mapping/GetterMetadata.php | 33 +- .../Mapping/Loader/AnnotationLoader.php | 2 +- web/vendor/symfony/validator/composer.json | 6 +- web/vendor/symfony/yaml/Inline.php | 18 +- web/vendor/symfony/yaml/Parser.php | 121 +- web/vendor/twig/twig/.php_cs.dist | 15 + web/vendor/twig/twig/.travis.yml | 10 +- web/vendor/twig/twig/CHANGELOG | 114 + web/vendor/twig/twig/LICENSE | 2 +- web/vendor/twig/twig/composer.json | 7 +- web/vendor/twig/twig/lib/Twig/Autoloader.php | 6 +- .../twig/twig/lib/Twig/BaseNodeVisitor.php | 12 - .../twig/twig/lib/Twig/Cache/Filesystem.php | 27 +- web/vendor/twig/twig/lib/Twig/Cache/Null.php | 16 +- .../twig/twig/lib/Twig/CacheInterface.php | 2 +- web/vendor/twig/twig/lib/Twig/Compiler.php | 62 +- .../twig/twig/lib/Twig/CompilerInterface.php | 6 +- .../twig/lib/Twig/ContainerRuntimeLoader.php | 37 + web/vendor/twig/twig/lib/Twig/Environment.php | 408 +- web/vendor/twig/twig/lib/Twig/Error.php | 137 +- .../twig/twig/lib/Twig/Error/Loader.php | 13 +- .../twig/twig/lib/Twig/Error/Runtime.php | 4 +- .../twig/twig/lib/Twig/Error/Syntax.php | 4 +- .../twig/lib/Twig/ExistsLoaderInterface.php | 2 +- .../twig/twig/lib/Twig/ExpressionParser.php | 164 +- web/vendor/twig/twig/lib/Twig/Extension.php | 32 +- .../twig/twig/lib/Twig/Extension/Core.php | 299 +- .../twig/twig/lib/Twig/Extension/Debug.php | 6 +- .../twig/twig/lib/Twig/Extension/Escaper.php | 22 +- .../twig/lib/Twig/Extension/Optimizer.php | 6 +- .../twig/twig/lib/Twig/Extension/Profiler.php | 4 +- .../twig/twig/lib/Twig/Extension/Sandbox.php | 6 +- .../twig/twig/lib/Twig/Extension/Staging.php | 20 +- .../twig/lib/Twig/Extension/StringLoader.php | 8 +- .../twig/twig/lib/Twig/ExtensionInterface.php | 10 +- .../twig/lib/Twig/FactoryRuntimeLoader.php | 37 + .../Twig/FileExtensionEscapingStrategy.php | 16 +- web/vendor/twig/twig/lib/Twig/Filter.php | 2 +- .../twig/twig/lib/Twig/Filter/Function.php | 2 +- .../twig/twig/lib/Twig/Filter/Method.php | 4 +- web/vendor/twig/twig/lib/Twig/Filter/Node.php | 2 +- .../twig/lib/Twig/FilterCallableInterface.php | 2 +- .../twig/twig/lib/Twig/FilterInterface.php | 2 +- web/vendor/twig/twig/lib/Twig/Function.php | 2 +- .../twig/twig/lib/Twig/Function/Function.php | 4 +- .../twig/twig/lib/Twig/Function/Method.php | 6 +- .../twig/twig/lib/Twig/Function/Node.php | 2 +- .../lib/Twig/FunctionCallableInterface.php | 2 +- .../twig/twig/lib/Twig/FunctionInterface.php | 4 +- web/vendor/twig/twig/lib/Twig/Lexer.php | 47 +- .../twig/twig/lib/Twig/LexerInterface.php | 10 +- .../twig/twig/lib/Twig/Loader/Array.php | 34 +- .../twig/twig/lib/Twig/Loader/Chain.php | 57 +- .../twig/twig/lib/Twig/Loader/Filesystem.php | 80 +- .../twig/twig/lib/Twig/Loader/String.php | 23 +- .../twig/twig/lib/Twig/LoaderInterface.php | 4 +- web/vendor/twig/twig/lib/Twig/Markup.php | 2 +- web/vendor/twig/twig/lib/Twig/Node.php | 96 +- .../twig/twig/lib/Twig/Node/AutoEscape.php | 2 +- web/vendor/twig/twig/lib/Twig/Node/Block.php | 4 +- .../twig/lib/Twig/Node/BlockReference.php | 4 +- web/vendor/twig/twig/lib/Twig/Node/Body.php | 2 +- .../twig/twig/lib/Twig/Node/CheckSecurity.php | 8 +- web/vendor/twig/twig/lib/Twig/Node/Do.php | 2 +- web/vendor/twig/twig/lib/Twig/Node/Embed.php | 14 +- .../twig/twig/lib/Twig/Node/Expression.php | 4 +- .../twig/lib/Twig/Node/Expression/Array.php | 6 +- .../lib/Twig/Node/Expression/AssignName.php | 4 +- .../twig/lib/Twig/Node/Expression/Binary.php | 4 +- .../lib/Twig/Node/Expression/Binary/Add.php | 4 +- .../lib/Twig/Node/Expression/Binary/And.php | 4 +- .../Node/Expression/Binary/BitwiseAnd.php | 4 +- .../Twig/Node/Expression/Binary/BitwiseOr.php | 4 +- .../Node/Expression/Binary/BitwiseXor.php | 4 +- .../Twig/Node/Expression/Binary/Concat.php | 4 +- .../lib/Twig/Node/Expression/Binary/Div.php | 4 +- .../Twig/Node/Expression/Binary/EndsWith.php | 2 +- .../lib/Twig/Node/Expression/Binary/Equal.php | 2 +- .../Twig/Node/Expression/Binary/FloorDiv.php | 6 +- .../Twig/Node/Expression/Binary/Greater.php | 2 +- .../Node/Expression/Binary/GreaterEqual.php | 2 +- .../lib/Twig/Node/Expression/Binary/In.php | 2 +- .../lib/Twig/Node/Expression/Binary/Less.php | 2 +- .../Twig/Node/Expression/Binary/LessEqual.php | 2 +- .../Twig/Node/Expression/Binary/Matches.php | 2 +- .../lib/Twig/Node/Expression/Binary/Mod.php | 4 +- .../lib/Twig/Node/Expression/Binary/Mul.php | 4 +- .../Twig/Node/Expression/Binary/NotEqual.php | 2 +- .../lib/Twig/Node/Expression/Binary/NotIn.php | 2 +- .../lib/Twig/Node/Expression/Binary/Or.php | 4 +- .../lib/Twig/Node/Expression/Binary/Power.php | 6 +- .../lib/Twig/Node/Expression/Binary/Range.php | 2 +- .../Node/Expression/Binary/StartsWith.php | 2 +- .../lib/Twig/Node/Expression/Binary/Sub.php | 4 +- .../Twig/Node/Expression/BlockReference.php | 85 +- .../twig/lib/Twig/Node/Expression/Call.php | 78 +- .../lib/Twig/Node/Expression/Conditional.php | 4 +- .../lib/Twig/Node/Expression/Constant.php | 4 +- .../Node/Expression/ExtensionReference.php | 2 +- .../twig/lib/Twig/Node/Expression/Filter.php | 4 +- .../Twig/Node/Expression/Filter/Default.php | 10 +- .../lib/Twig/Node/Expression/Function.php | 11 +- .../twig/lib/Twig/Node/Expression/GetAttr.php | 19 +- .../lib/Twig/Node/Expression/MethodCall.php | 2 +- .../twig/lib/Twig/Node/Expression/Name.php | 22 +- .../lib/Twig/Node/Expression/NullCoalesce.php | 29 +- .../twig/lib/Twig/Node/Expression/Parent.php | 4 +- .../lib/Twig/Node/Expression/TempName.php | 2 +- .../twig/lib/Twig/Node/Expression/Test.php | 9 +- .../Twig/Node/Expression/Test/Constant.php | 2 +- .../lib/Twig/Node/Expression/Test/Defined.php | 11 +- .../Twig/Node/Expression/Test/Divisibleby.php | 2 +- .../lib/Twig/Node/Expression/Test/Even.php | 2 +- .../lib/Twig/Node/Expression/Test/Null.php | 2 +- .../lib/Twig/Node/Expression/Test/Odd.php | 2 +- .../lib/Twig/Node/Expression/Test/Sameas.php | 2 +- .../twig/lib/Twig/Node/Expression/Unary.php | 4 +- .../lib/Twig/Node/Expression/Unary/Neg.php | 4 +- .../lib/Twig/Node/Expression/Unary/Not.php | 4 +- .../lib/Twig/Node/Expression/Unary/Pos.php | 4 +- web/vendor/twig/twig/lib/Twig/Node/Flush.php | 2 +- web/vendor/twig/twig/lib/Twig/Node/For.php | 17 +- .../twig/twig/lib/Twig/Node/ForLoop.php | 2 +- web/vendor/twig/twig/lib/Twig/Node/If.php | 13 +- web/vendor/twig/twig/lib/Twig/Node/Import.php | 6 +- .../twig/twig/lib/Twig/Node/Include.php | 17 +- web/vendor/twig/twig/lib/Twig/Node/Macro.php | 13 +- web/vendor/twig/twig/lib/Twig/Node/Module.php | 106 +- web/vendor/twig/twig/lib/Twig/Node/Print.php | 4 +- .../twig/twig/lib/Twig/Node/Sandbox.php | 4 +- .../twig/lib/Twig/Node/SandboxedPrint.php | 8 +- web/vendor/twig/twig/lib/Twig/Node/Set.php | 6 +- .../twig/twig/lib/Twig/Node/SetTemp.php | 2 +- .../twig/twig/lib/Twig/Node/Spaceless.php | 2 +- web/vendor/twig/twig/lib/Twig/Node/Text.php | 4 +- web/vendor/twig/twig/lib/Twig/Node/With.php | 62 + .../twig/lib/Twig/NodeCaptureInterface.php | 19 + .../twig/twig/lib/Twig/NodeInterface.php | 7 +- .../twig/lib/Twig/NodeOutputInterface.php | 2 +- .../twig/twig/lib/Twig/NodeTraverser.php | 17 +- .../twig/lib/Twig/NodeVisitor/Escaper.php | 21 +- .../twig/lib/Twig/NodeVisitor/Optimizer.php | 44 +- .../lib/Twig/NodeVisitor/SafeAnalysis.php | 12 +- .../twig/lib/Twig/NodeVisitor/Sandbox.php | 15 +- .../twig/lib/Twig/NodeVisitorInterface.php | 8 +- web/vendor/twig/twig/lib/Twig/Parser.php | 75 +- .../twig/twig/lib/Twig/ParserInterface.php | 6 +- .../lib/Twig/Profiler/Dumper/Blackfire.php | 4 +- .../twig/lib/Twig/Profiler/Dumper/Html.php | 4 +- .../twig/lib/Twig/Profiler/Dumper/Text.php | 4 +- .../lib/Twig/Profiler/Node/EnterProfile.php | 5 +- .../lib/Twig/Profiler/Node/LeaveProfile.php | 5 +- .../Twig/Profiler/NodeVisitor/Profiler.php | 15 +- .../twig/twig/lib/Twig/Profiler/Profile.php | 4 +- .../twig/lib/Twig/RuntimeLoaderInterface.php | 27 + .../twig/lib/Twig/Sandbox/SecurityError.php | 2 +- .../Sandbox/SecurityNotAllowedFilterError.php | 2 +- .../SecurityNotAllowedFunctionError.php | 2 +- .../Sandbox/SecurityNotAllowedMethodError.php | 38 + .../SecurityNotAllowedPropertyError.php | 38 + .../Sandbox/SecurityNotAllowedTagError.php | 2 +- .../twig/lib/Twig/Sandbox/SecurityPolicy.php | 10 +- .../Twig/Sandbox/SecurityPolicyInterface.php | 2 +- .../twig/twig/lib/Twig/SimpleFilter.php | 4 +- .../twig/twig/lib/Twig/SimpleFunction.php | 4 +- web/vendor/twig/twig/lib/Twig/SimpleTest.php | 4 +- web/vendor/twig/twig/lib/Twig/Source.php | 51 + .../lib/Twig/SourceContextLoaderInterface.php | 31 + web/vendor/twig/twig/lib/Twig/Template.php | 319 +- .../twig/twig/lib/Twig/TemplateInterface.php | 4 +- .../twig/twig/lib/Twig/TemplateWrapper.php | 131 + web/vendor/twig/twig/lib/Twig/Test.php | 2 +- .../twig/twig/lib/Twig/Test/Function.php | 2 +- .../lib/Twig/Test/IntegrationTestCase.php | 30 +- web/vendor/twig/twig/lib/Twig/Test/Method.php | 4 +- web/vendor/twig/twig/lib/Twig/Test/Node.php | 2 +- .../twig/twig/lib/Twig/Test/NodeTestCase.php | 4 + .../twig/lib/Twig/TestCallableInterface.php | 2 +- .../twig/twig/lib/Twig/TestInterface.php | 2 +- web/vendor/twig/twig/lib/Twig/Token.php | 33 +- web/vendor/twig/twig/lib/Twig/TokenParser.php | 4 +- .../twig/lib/Twig/TokenParser/AutoEscape.php | 8 +- .../twig/twig/lib/Twig/TokenParser/Block.php | 10 +- .../twig/twig/lib/Twig/TokenParser/Do.php | 4 +- .../twig/twig/lib/Twig/TokenParser/Embed.php | 19 +- .../twig/lib/Twig/TokenParser/Extends.php | 14 +- .../twig/twig/lib/Twig/TokenParser/Filter.php | 6 +- .../twig/twig/lib/Twig/TokenParser/Flush.php | 4 +- .../twig/twig/lib/Twig/TokenParser/For.php | 16 +- .../twig/twig/lib/Twig/TokenParser/From.php | 6 +- .../twig/twig/lib/Twig/TokenParser/If.php | 8 +- .../twig/twig/lib/Twig/TokenParser/Import.php | 4 +- .../twig/lib/Twig/TokenParser/Include.php | 6 +- .../twig/twig/lib/Twig/TokenParser/Macro.php | 6 +- .../twig/lib/Twig/TokenParser/Sandbox.php | 11 +- .../twig/twig/lib/Twig/TokenParser/Set.php | 8 +- .../twig/lib/Twig/TokenParser/Spaceless.php | 4 +- .../twig/twig/lib/Twig/TokenParser/Use.php | 6 +- .../twig/twig/lib/Twig/TokenParser/With.php | 50 + .../twig/twig/lib/Twig/TokenParserBroker.php | 26 +- .../lib/Twig/TokenParserBrokerInterface.php | 8 +- .../twig/lib/Twig/TokenParserInterface.php | 8 +- web/vendor/twig/twig/lib/Twig/TokenStream.php | 87 +- .../lib/Twig/Util/DeprecationCollector.php | 12 +- web/vendor/twig/twig/phpunit.xml.dist | 10 +- .../zend-diactoros/.coveralls.yml | 1 - .../zendframework/zend-diactoros/CHANGELOG.md | 457 +- .../zendframework/zend-diactoros/CONDUCT.md | 43 + .../zend-diactoros/CONTRIBUTING.md | 11 +- .../zendframework/zend-diactoros/LICENSE.md | 2 +- .../zendframework/zend-diactoros/README.md | 12 +- .../zend-diactoros/composer.json | 25 +- .../zend-diactoros/composer.lock | 1494 +++++ .../zendframework/zend-diactoros/mkdocs.yml | 16 + .../zend-diactoros/src/AbstractSerializer.php | 2 +- .../zend-diactoros/src/CallbackStream.php | 181 + .../Exception/DeprecatedMethodException.php | 2 +- .../src/Exception/ExceptionInterface.php | 2 +- .../zend-diactoros/src/HeaderSecurity.php | 25 +- .../zend-diactoros/src/MessageTrait.php | 146 +- .../zend-diactoros/src/PhpInputStream.php | 8 +- .../zend-diactoros/src/RelativeStream.php | 12 +- .../zend-diactoros/src/Request.php | 15 +- .../src/Request/ArraySerializer.php | 85 + .../zend-diactoros/src/Request/Serializer.php | 8 +- .../zend-diactoros/src/RequestTrait.php | 106 +- .../zend-diactoros/src/Response.php | 88 +- .../src/Response/ArraySerializer.php | 84 + .../src/Response/EmitterInterface.php | 2 +- .../src/Response/EmptyResponse.php | 2 +- .../src/Response/HtmlResponse.php | 5 +- .../src/Response/InjectContentTypeTrait.php | 2 +- .../src/Response/JsonResponse.php | 23 +- .../src/Response/RedirectResponse.php | 3 +- .../src/Response/SapiEmitter.php | 81 +- .../src/Response/SapiEmitterTrait.php | 109 + .../src/Response/SapiStreamEmitter.php | 135 + .../src/Response/Serializer.php | 11 +- .../src/Response/TextResponse.php | 74 + .../zend-diactoros/src/Server.php | 2 +- .../zend-diactoros/src/ServerRequest.php | 57 +- .../src/ServerRequestFactory.php | 104 +- .../zend-diactoros/src/Stream.php | 4 +- .../zend-diactoros/src/UploadedFile.php | 30 +- .../zendframework/zend-diactoros/src/Uri.php | 39 +- .../zendframework/zend-escaper/CHANGELOG.md | 26 + .../zendframework/zend-escaper/CONDUCT.md | 43 + .../zend-escaper/CONTRIBUTING.md | 5 + .../zendframework/zend-escaper/README.md | 5 +- .../zendframework/zend-escaper/composer.json | 4 +- .../zend-escaper/doc/book/configuration.md | 21 + .../zend-escaper/doc/book/escaping-css.md | 74 + .../doc/book/escaping-html-attributes.md | 128 + .../zend-escaper/doc/book/escaping-html.md | 74 + .../doc/book/escaping-javascript.md | 93 + .../zend-escaper/doc/book/escaping-url.md | 57 + .../zend-escaper/doc/book/index.html | 10 + .../zend-escaper/doc/book/index.md | 1 + .../zend-escaper/doc/book/intro.md | 51 + .../doc/book/theory-of-operation.md | 147 + .../zendframework/zend-escaper/mkdocs.yml | 17 + .../zend-escaper/src/Escaper.php | 42 +- .../zendframework/zend-feed/CHANGELOG.md | 100 +- web/vendor/zendframework/zend-feed/CONDUCT.md | 43 + .../zendframework/zend-feed/CONTRIBUTING.md | 19 +- web/vendor/zendframework/zend-feed/README.md | 2 +- .../zendframework/zend-feed/composer.json | 49 +- .../zendframework/zend-feed/composer.lock | 2115 ++++++ .../doc/book/consuming-atom-entry.md | 23 + .../zend-feed/doc/book/consuming-atom.md | 62 + .../zend-feed/doc/book/consuming-rss.md | 99 + .../zend-feed/doc/book/find-feeds.md | 48 + .../zend-feed/doc/book/http-clients.md | 236 + .../zend-feed/doc/book/importing.md | 49 + .../zend-feed/doc/book/index.html | 10 + .../zendframework/zend-feed/doc/book/index.md | 1 + .../zendframework/zend-feed/doc/book/intro.md | 62 + .../zend-feed/doc/book/psr7-clients.md | 90 + .../zend-feed/doc/book/pubsubhubbub.md | 452 ++ .../zend-feed/doc/book/reader.md | 825 +++ .../zend-feed/doc/book/security.md | 161 + .../zend-feed/doc/book/writer.md | 280 + web/vendor/zendframework/zend-feed/mkdocs.yml | 21 + web/vendor/zendframework/zend-feed/phpcs.xml | 8 + .../src/PubSubHubbub/AbstractCallback.php | 24 +- .../src/PubSubHubbub/HttpResponse.php | 14 +- .../src/PubSubHubbub/Model/Subscription.php | 6 +- .../src/PubSubHubbub/PubSubHubbub.php | 2 +- .../zend-feed/src/PubSubHubbub/Publisher.php | 22 +- .../zend-feed/src/PubSubHubbub/Subscriber.php | 42 +- .../src/PubSubHubbub/Subscriber/Callback.php | 16 +- .../zend-feed/src/Reader/AbstractEntry.php | 4 +- .../src/Reader/Collection/Category.php | 2 +- .../src/Reader/Entry/AbstractEntry.php | 2 +- .../zend-feed/src/Reader/Entry/Atom.php | 8 +- .../src/Reader/Entry/EntryInterface.php | 4 +- .../zend-feed/src/Reader/Entry/Rss.php | 57 +- .../Exception/InvalidHttpClientException.php} | 9 +- .../src/Reader/Extension/AbstractEntry.php | 8 +- .../src/Reader/Extension/Atom/Entry.php | 30 +- .../src/Reader/Extension/Atom/Feed.php | 28 +- .../src/Reader/Extension/DublinCore/Entry.php | 20 +- .../src/Reader/Extension/DublinCore/Feed.php | 28 +- .../src/Reader/Extension/Podcast/Entry.php | 14 +- .../src/Reader/Extension/Podcast/Feed.php | 26 +- .../src/Reader/Extension/Slash/Entry.php | 6 +- .../src/Reader/Extension/Syndication/Feed.php | 9 +- .../src/Reader/Extension/Thread/Entry.php | 2 +- .../Reader/Extension/WellFormedWeb/Entry.php | 2 +- .../zend-feed/src/Reader/ExtensionManager.php | 2 +- .../src/Reader/ExtensionPluginManager.php | 145 +- .../src/Reader/Feed/AbstractFeed.php | 6 +- .../zend-feed/src/Reader/Feed/Atom.php | 16 +- .../src/Reader/Feed/FeedInterface.php | 4 +- .../zend-feed/src/Reader/Feed/Rss.php | 50 +- .../zend-feed/src/Reader/FeedSet.php | 90 +- .../Http/HeaderAwareClientInterface.php | 33 + .../Http/HeaderAwareResponseInterface.php | 28 + .../src/Reader/Http/Psr7ResponseDecorator.php | 68 + .../zend-feed/src/Reader/Http/Response.php | 175 + .../Reader/Http/ZendHttpClientDecorator.php | 118 + .../zend-feed/src/Reader/Reader.php | 103 +- .../zendframework/zend-feed/src/Uri.php | 16 +- .../zend-feed/src/Writer/AbstractFeed.php | 161 +- .../zend-feed/src/Writer/Deleted.php | 26 +- .../zend-feed/src/Writer/Entry.php | 117 +- .../src/Writer/Extension/AbstractRenderer.php | 2 + .../Writer/Extension/Atom/Renderer/Feed.php | 16 +- .../Extension/Content/Renderer/Entry.php | 12 +- .../Extension/DublinCore/Renderer/Entry.php | 12 +- .../Extension/DublinCore/Renderer/Feed.php | 12 +- .../src/Writer/Extension/ITunes/Entry.php | 18 +- .../src/Writer/Extension/ITunes/Feed.php | 34 +- .../Extension/ITunes/Renderer/Entry.php | 32 +- .../Writer/Extension/ITunes/Renderer/Feed.php | 50 +- .../Writer/Extension/Slash/Renderer/Entry.php | 12 +- .../Extension/Threading/Renderer/Entry.php | 18 +- .../WellFormedWeb/Renderer/Entry.php | 12 +- .../zend-feed/src/Writer/ExtensionManager.php | 14 +- .../src/Writer/ExtensionPluginManager.php | 138 +- .../zend-feed/src/Writer/Feed.php | 2 +- .../zend-feed/src/Writer/FeedFactory.php | 12 +- .../src/Writer/Renderer/AbstractRenderer.php | 8 +- .../src/Writer/Renderer/Entry/Atom.php | 68 +- .../Writer/Renderer/Entry/Atom/Deleted.php | 8 +- .../src/Writer/Renderer/Entry/AtomDeleted.php | 8 +- .../src/Writer/Renderer/Entry/Rss.php | 73 +- .../src/Writer/Renderer/Feed/AbstractAtom.php | 82 +- .../src/Writer/Renderer/Feed/Atom.php | 4 +- .../Renderer/Feed/Atom/AbstractAtom.php | 83 +- .../src/Writer/Renderer/Feed/Atom/Source.php | 6 +- .../src/Writer/Renderer/Feed/AtomSource.php | 6 +- .../src/Writer/Renderer/Feed/Rss.php | 86 +- .../src/Writer/StandaloneExtensionManager.php | 50 + .../zend-feed/src/Writer/Writer.php | 17 +- .../zendframework/zend-hydrator/CHANGELOG.md | 39 - .../zend-hydrator/CONTRIBUTING.md | 229 - .../zendframework/zend-hydrator/LICENSE.md | 28 - .../zendframework/zend-hydrator/README.md | 11 - .../zendframework/zend-hydrator/composer.json | 47 - .../zendframework/zend-hydrator/phpcs.xml | 21 - .../zend-hydrator/src/AbstractHydrator.php | 283 - .../src/Aggregate/AggregateHydrator.php | 85 - .../src/Aggregate/ExtractEvent.php | 98 - .../src/Aggregate/HydrateEvent.php | 84 - .../src/Aggregate/HydratorListener.php | 72 - .../zend-hydrator/src/ArraySerializable.php | 81 - .../zend-hydrator/src/ClassMethods.php | 268 - .../zend-hydrator/src/DelegatingHydrator.php | 57 - .../src/DelegatingHydratorFactory.php | 29 - .../src/Exception/BadMethodCallException.php | 17 - .../src/Exception/ExceptionInterface.php | 17 - .../Exception/ExtensionNotLoadedException.php | 17 - .../Exception/InvalidArgumentException.php | 17 - .../Exception/InvalidCallbackException.php | 17 - .../src/Exception/LogicException.php | 17 - .../src/Exception/RuntimeException.php | 17 - .../zend-hydrator/src/ExtractionInterface.php | 21 - .../src/Filter/FilterComposite.php | 198 - .../src/Filter/FilterInterface.php | 22 - .../src/Filter/FilterProviderInterface.php | 20 - .../zend-hydrator/src/Filter/GetFilter.php | 28 - .../zend-hydrator/src/Filter/HasFilter.php | 28 - .../zend-hydrator/src/Filter/IsFilter.php | 28 - .../src/Filter/MethodMatchFilter.php | 49 - .../src/Filter/NumberOfParameterFilter.php | 49 - .../src/Filter/OptionalParametersFilter.php | 55 - .../src/FilterEnabledInterface.php | 59 - .../zend-hydrator/src/HydrationInterface.php | 22 - .../src/HydratorAwareInterface.php | 28 - .../zend-hydrator/src/HydratorAwareTrait.php | 47 - .../zend-hydrator/src/HydratorInterface.php | 14 - .../src/HydratorOptionsInterface.php | 21 - .../src/HydratorPluginManager.php | 73 - .../src/Iterator/HydratingArrayIterator.php | 36 - .../Iterator/HydratingIteratorInterface.php | 33 - .../Iterator/HydratingIteratorIterator.php | 78 - .../NamingStrategy/ArrayMapNamingStrategy.php | 51 - .../CompositeNamingStrategy.php | 64 - .../NamingStrategy/IdentityNamingStrategy.php | 29 - .../src/NamingStrategy/MapNamingStrategy.php | 89 - .../NamingStrategyInterface.php | 34 - .../UnderscoreNamingStrategy.php | 80 - .../src/NamingStrategyEnabledInterface.php | 42 - .../zend-hydrator/src/ObjectProperty.php | 109 - .../zend-hydrator/src/Reflection.php | 95 - .../src/Strategy/BooleanStrategy.php | 104 - .../src/Strategy/ClosureStrategy.php | 113 - .../Strategy/DateTimeFormatterStrategy.php | 80 - .../src/Strategy/DefaultStrategy.php | 35 - .../Strategy/Exception/ExceptionInterface.php | 14 - .../Exception/InvalidArgumentException.php | 14 - .../src/Strategy/ExplodeStrategy.php | 113 - .../src/Strategy/SerializableStrategy.php | 123 - .../src/Strategy/StrategyChain.php | 73 - .../src/Strategy/StrategyInterface.php | 34 - .../src/StrategyEnabledInterface.php | 46 - .../zendframework/zend-stdlib/CHANGELOG.md | 106 + .../zendframework/zend-stdlib/CONDUCT.md | 43 + .../zendframework/zend-stdlib/CONTRIBUTING.md | 5 + .../zendframework/zend-stdlib/README.md | 4 +- .../zendframework/zend-stdlib/composer.json | 32 +- .../zend-stdlib/doc/book/console-helper.md | 126 + .../zend-stdlib/doc/book/index.html | 10 + .../zend-stdlib/doc/book/index.md | 1 + .../zend-stdlib/doc/book/migration.md | 60 + .../zend-stdlib/doc/bookdown.json | 14 + .../zendframework/zend-stdlib/mkdocs.yml | 11 + .../{zend-diactoros => zend-stdlib}/phpcs.xml | 6 + .../zend-stdlib/src/AbstractOptions.php | 4 +- .../zend-stdlib/src/ArrayObject.php | 10 +- .../zend-stdlib/src/ArrayUtils.php | 30 +- .../zend-stdlib/src/CallbackHandler.php | 192 - .../zend-stdlib/src/ConsoleHelper.php | 158 + .../zend-stdlib/src/DateTime.php | 47 - .../zend-stdlib/src/ErrorHandler.php | 4 +- .../Exception/InvalidCallbackException.php | 17 - .../src/Extractor/ExtractionInterface.php | 19 - .../zendframework/zend-stdlib/src/Glob.php | 8 +- .../Guard/ArrayOrTraversableGuardTrait.php | 2 +- .../zend-stdlib/src/Guard/GuardUtils.php | 85 - .../src/Hydrator/AbstractHydrator.php | 19 - .../Hydrator/Aggregate/AggregateHydrator.php | 22 - .../src/Hydrator/Aggregate/ExtractEvent.php | 22 - .../src/Hydrator/Aggregate/HydrateEvent.php | 22 - .../Hydrator/Aggregate/HydratorListener.php | 23 - .../src/Hydrator/ArraySerializable.php | 19 - .../zend-stdlib/src/Hydrator/ClassMethods.php | 19 - .../src/Hydrator/DelegatingHydrator.php | 19 - .../Hydrator/DelegatingHydratorFactory.php | 19 - .../src/Hydrator/Filter/FilterComposite.php | 18 - .../src/Hydrator/Filter/FilterInterface.php | 18 - .../Filter/FilterProviderInterface.php | 18 - .../src/Hydrator/Filter/GetFilter.php | 18 - .../src/Hydrator/Filter/HasFilter.php | 18 - .../src/Hydrator/Filter/IsFilter.php | 18 - .../src/Hydrator/Filter/MethodMatchFilter.php | 18 - .../Filter/NumberOfParameterFilter.php | 19 - .../Filter/OptionalParametersFilter.php | 20 - .../src/Hydrator/FilterEnabledInterface.php | 19 - .../src/Hydrator/HydrationInterface.php | 19 - .../src/Hydrator/HydratorAwareInterface.php | 19 - .../src/Hydrator/HydratorAwareTrait.php | 20 - .../src/Hydrator/HydratorInterface.php | 20 - .../src/Hydrator/HydratorOptionsInterface.php | 19 - .../src/Hydrator/HydratorPluginManager.php | 23 - .../Iterator/HydratingArrayIterator.php | 19 - .../Iterator/HydratingIteratorInterface.php | 19 - .../Iterator/HydratingIteratorIterator.php | 19 - .../NamingStrategy/ArrayMapNamingStrategy.php | 19 - .../CompositeNamingStrategy.php | 19 - .../NamingStrategy/IdentityNamingStrategy.php | 19 - .../NamingStrategy/MapNamingStrategy.php | 19 - .../NamingStrategyInterface.php | 21 - .../UnderscoreNamingStrategy.php | 19 - .../NamingStrategyEnabledInterface.php | 19 - .../src/Hydrator/ObjectProperty.php | 19 - .../zend-stdlib/src/Hydrator/Reflection.php | 19 - .../src/Hydrator/Strategy/BooleanStrategy.php | 21 - .../src/Hydrator/Strategy/ClosureStrategy.php | 19 - .../Strategy/DateTimeFormatterStrategy.php | 19 - .../src/Hydrator/Strategy/DefaultStrategy.php | 19 - .../Strategy/Exception/ExceptionInterface.php | 19 - .../Exception/InvalidArgumentException.php | 19 - .../src/Hydrator/Strategy/ExplodeStrategy.php | 19 - .../Strategy/SerializableStrategy.php | 19 - .../src/Hydrator/Strategy/StrategyChain.php | 19 - .../Hydrator/Strategy/StrategyInterface.php | 19 - .../src/Hydrator/StrategyEnabledInterface.php | 19 - .../zend-stdlib/src/JsonSerializable.php | 3 + .../zendframework/zend-stdlib/src/Message.php | 4 +- .../zend-stdlib/src/Parameters.php | 2 +- .../zend-stdlib/src/PriorityList.php | 10 +- .../zend-stdlib/src/PriorityQueue.php | 4 +- .../zend-stdlib/src/SplPriorityQueue.php | 2 +- .../zend-stdlib/src/StringUtils.php | 2 +- .../StringWrapper/AbstractStringWrapper.php | 8 +- .../zend-stdlib/src/StringWrapper/Iconv.php | 2 +- .../zend-stdlib/src/StringWrapper/Intl.php | 2 +- .../src/StringWrapper/MbString.php | 2 +- .../zend-stdlib/src/StringWrapper/Native.php | 4 +- .../src/compatibility/autoload.php | 14 - 6144 files changed, 132297 insertions(+), 87747 deletions(-) create mode 100644 web/.eslintrc.json create mode 100644 web/core/.eslintignore rename web/core/{.eslintrc => .eslintrc.json} (98%) create mode 100644 web/core/assets/vendor/ckeditor/lang/oc.js create mode 100644 web/core/assets/vendor/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js create mode 100644 web/core/assets/vendor/ckeditor/plugins/specialchar/dialogs/lang/oc.js create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/dialog.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/dialog_ie.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/dialog_ie8.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/dialog_iequirks.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/editor.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/editor_gecko.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/editor_ie.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/editor_ie8.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/editor_iequirks.css create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/icons.png create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/icons_hidpi.png rename web/core/assets/vendor/ckeditor/skins/{moono => moono-lisa}/images/arrow.png (100%) create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/images/close.png create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/images/hidpi/close.png create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/images/hidpi/lock.png create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/images/hidpi/refresh.png create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/images/lock-open.png create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/images/lock.png create mode 100644 web/core/assets/vendor/ckeditor/skins/moono-lisa/images/refresh.png rename web/core/assets/vendor/ckeditor/skins/{moono => moono-lisa}/images/spinner.gif (100%) delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/dialog.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/dialog_ie.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/dialog_ie7.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/dialog_ie8.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/dialog_iequirks.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/editor.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/editor_gecko.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/editor_ie.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/editor_ie7.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/editor_ie8.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/editor_iequirks.css delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/icons.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/icons_hidpi.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/images/close.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/images/hidpi/close.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/images/hidpi/lock-open.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/images/hidpi/lock.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/images/hidpi/refresh.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/images/lock-open.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/images/lock.png delete mode 100644 web/core/assets/vendor/ckeditor/skins/moono/images/refresh.png create mode 100644 web/core/core.link_relation_types.yml create mode 100644 web/core/lib/Drupal/Component/Annotation/Plugin/Discovery/AnnotationBridgeDecorator.php create mode 100644 web/core/lib/Drupal/Component/Datetime/Time.php create mode 100644 web/core/lib/Drupal/Component/Datetime/TimeInterface.php create mode 100644 web/core/lib/Drupal/Component/Plugin/Definition/DerivablePluginDefinitionInterface.php create mode 100644 web/core/lib/Drupal/Component/Plugin/Definition/PluginDefinition.php create mode 100644 web/core/lib/Drupal/Core/Cache/Context/IsFrontPathCacheContext.php create mode 100644 web/core/lib/Drupal/Core/Config/Development/ConfigSchemaChecker.php create mode 100644 web/core/lib/Drupal/Core/Database/DatabaseAccessDeniedException.php create mode 100644 web/core/lib/Drupal/Core/Entity/EntityPublishedInterface.php create mode 100644 web/core/lib/Drupal/Core/Entity/EntityPublishedTrait.php create mode 100644 web/core/lib/Drupal/Core/Entity/Exception/UnsupportedEntityTypeDefinitionException.php create mode 100644 web/core/lib/Drupal/Core/Entity/RevisionableEntityBundleInterface.php create mode 100644 web/core/lib/Drupal/Core/EventSubscriber/ExceptionDetectNeedsInstallSubscriber.php create mode 100644 web/core/lib/Drupal/Core/Field/RequiredFieldStorageDefinitionInterface.php create mode 100644 web/core/lib/Drupal/Core/Http/LinkRelationType.php create mode 100644 web/core/lib/Drupal/Core/Http/LinkRelationTypeInterface.php create mode 100644 web/core/lib/Drupal/Core/Http/LinkRelationTypeManager.php create mode 100644 web/core/lib/Drupal/Core/Installer/Exception/InstallProfileMismatchException.php create mode 100644 web/core/lib/Drupal/Core/Installer/InstallerRedirectTrait.php create mode 100644 web/core/lib/Drupal/Core/Layout/Annotation/Layout.php create mode 100644 web/core/lib/Drupal/Core/Layout/LayoutDefault.php create mode 100644 web/core/lib/Drupal/Core/Layout/LayoutDefinition.php create mode 100644 web/core/lib/Drupal/Core/Layout/LayoutInterface.php create mode 100644 web/core/lib/Drupal/Core/Layout/LayoutPluginManager.php create mode 100644 web/core/lib/Drupal/Core/Layout/LayoutPluginManagerInterface.php create mode 100644 web/core/lib/Drupal/Core/Plugin/Definition/DependentPluginDefinitionInterface.php create mode 100644 web/core/lib/Drupal/Core/Plugin/Definition/DependentPluginDefinitionTrait.php create mode 100644 web/core/lib/Drupal/Core/Render/Element/StatusReport.php create mode 100644 web/core/lib/Drupal/Core/Routing/Router.php create mode 100644 web/core/lib/Drupal/Core/Test/FunctionalTestSetupTrait.php create mode 100644 web/core/lib/Drupal/Core/Test/TestSetupTrait.php create mode 100644 web/core/lib/Drupal/Core/TypedData/TranslationStatusInterface.php create mode 100644 web/core/misc/drupal.init.js rename web/core/{modules/block_content/js/block_content.js => misc/entity-form.js} (80%) rename web/core/modules/action/{src/Tests => tests/src/Functional}/ActionListTest.php (83%) create mode 100644 web/core/modules/aggregator/tests/src/Functional/AggregatorTestBase.php rename web/core/modules/aggregator/{src/Tests => tests/src/Functional}/DeleteFeedItemTest.php (64%) rename web/core/modules/aggregator/{src/Tests => tests/src/Functional}/DeleteFeedTest.php (88%) rename web/core/modules/aggregator/{src/Tests => tests/src/Functional}/FeedCacheTagsTest.php (88%) rename web/core/modules/aggregator/{src/Tests => tests/src/Functional}/FeedFetcherPluginTest.php (95%) rename web/core/modules/aggregator/{src/Tests => tests/src/Functional}/FeedParserTest.php (87%) rename web/core/modules/aggregator/{src/Tests => tests/src/Functional}/FeedProcessorPluginTest.php (90%) rename web/core/modules/aggregator/{src/Tests => tests/src/Functional}/ImportOpmlTest.php (84%) rename web/core/modules/aggregator/{src/Tests => tests/src/Functional}/ItemCacheTagsTest.php (87%) rename web/core/modules/basic_auth/{src/Tests/Authentication => tests/src/Functional}/BasicAuthTest.php (86%) create mode 100644 web/core/modules/basic_auth/tests/src/Traits/BasicAuthTestTrait.php delete mode 100644 web/core/modules/big_pipe/src/Render/BigPipeInterface.php create mode 100644 web/core/modules/block/src/Tests/Update/BlockRemoveDisabledRegionUpdateTest.php create mode 100644 web/core/modules/block/tests/modules/block_test_views/test_views/views.view.test_view_block_with_context.yml rename web/core/modules/block/{src/Tests => tests/src/Functional}/BlockCacheTest.php (92%) rename web/core/modules/block/{src/Tests => tests/src/Functional}/BlockHiddenRegionTest.php (84%) rename web/core/modules/block/{src/Tests => tests/src/Functional}/BlockHookOperationTest.php (77%) rename web/core/modules/block/{src/Tests => tests/src/Functional}/BlockHtmlTest.php (70%) rename web/core/modules/block/{src/Tests => tests/src/Functional}/BlockInvalidRegionTest.php (68%) rename web/core/modules/block/{src/Tests => tests/src/Functional}/BlockLanguageTest.php (93%) rename web/core/modules/block/{src/Tests => tests/src/Functional}/BlockTemplateSuggestionsTest.php (69%) rename web/core/modules/block/{src/Tests => tests/src/Functional}/NewDefaultThemeBlocksTest.php (72%) create mode 100644 web/core/modules/block/tests/src/Kernel/BlockRebuildTest.php delete mode 100644 web/core/modules/block_content/src/Tests/BlockContentUpdateEntityFields.php create mode 100644 web/core/modules/block_content/src/Tests/BlockContentUpdateTest.php rename web/core/modules/block_content/{src/Tests => tests/src/Functional}/BlockContentCacheTagsTest.php (93%) rename web/core/modules/block_content/{src/Tests => tests/src/Functional}/BlockContentPageViewTest.php (89%) rename web/core/modules/block_content/{src/Tests => tests/src/Functional}/BlockContentRevisionsTest.php (92%) rename web/core/modules/block_content/{src/Tests => tests/src/Functional}/BlockContentSaveTest.php (94%) create mode 100644 web/core/modules/block_content/tests/src/Functional/BlockContentTestBase.php rename web/core/modules/block_content/{src/Tests => tests/src/Functional}/PageEditTest.php (91%) rename web/core/modules/book/config/{install => optional}/core.base_field_override.node.book.promote.yml (100%) rename web/core/modules/book/config/{install => optional}/core.entity_form_display.node.book.default.yml (89%) rename web/core/modules/book/config/{install => optional}/core.entity_view_display.node.book.default.yml (90%) rename web/core/modules/book/config/{install => optional}/core.entity_view_display.node.book.teaser.yml (91%) rename web/core/modules/book/config/{install => optional}/core.entity_view_mode.node.print.yml (100%) rename web/core/modules/book/config/{install => optional}/field.field.node.book.body.yml (100%) rename web/core/modules/book/config/{install => optional}/node.type.book.yml (100%) rename web/core/modules/book/{src/Tests => tests/src/Functional}/BookBreadcrumbTest.php (85%) create mode 100644 web/core/modules/book/tests/src/Functional/BookInstallTest.php rename web/core/modules/book/{src/Tests => tests/src/Functional}/BookTest.php (86%) create mode 100644 web/core/modules/ckeditor/src/Ajax/AddStyleSheetCommand.php create mode 100644 web/core/modules/ckeditor/tests/modules/ckeditor_test.libraries.yml create mode 100644 web/core/modules/ckeditor/tests/modules/ckeditor_test.routing.yml create mode 100644 web/core/modules/ckeditor/tests/modules/css/test.css create mode 100644 web/core/modules/ckeditor/tests/modules/js/ajax-css.js create mode 100644 web/core/modules/ckeditor/tests/modules/src/Form/AjaxCssForm.php rename web/core/modules/ckeditor/{src/Tests => tests/src/Functional}/CKEditorToolbarButtonTest.php (93%) create mode 100644 web/core/modules/ckeditor/tests/src/FunctionalJavascript/AjaxCssTest.php rename web/core/modules/config/{src/Tests => tests/src/Functional}/ConfigDependencyWebTest.php (75%) rename web/core/modules/config/{src/Tests => tests/src/Functional}/ConfigEntityListMultilingualTest.php (81%) rename web/core/modules/config/{src/Tests => tests/src/Functional}/ConfigEntityStatusUITest.php (81%) rename web/core/modules/config/{src/Tests => tests/src/Functional}/ConfigInstallProfileOverrideTest.php (93%) rename web/core/modules/config/{src/Tests => tests/src/Functional}/ConfigLanguageOverrideWebTest.php (88%) rename web/core/modules/config/{src/Tests => tests/src/Functional}/ConfigOtherModuleTest.php (93%) rename web/core/modules/config/{src/Tests => tests/src/Functional}/SchemaConfigListenerWebTest.php (88%) create mode 100644 web/core/modules/config_translation/migration_templates/d6_i18n_user_profile_field_instance.yml create mode 100644 web/core/modules/config_translation/src/Plugin/migrate/source/d6/I18nProfileField.php rename web/core/modules/config_translation/{src/Tests => tests/src/Functional}/ConfigTranslationDateFormatUiTest.php (86%) rename web/core/modules/config_translation/{src/Tests => tests/src/Functional}/ConfigTranslationListUiTest.php (94%) rename web/core/modules/config_translation/{src/Tests => tests/src/Functional}/ConfigTranslationViewListUiTest.php (86%) create mode 100644 web/core/modules/config_translation/tests/src/Kernel/Migrate/d6/MigrateI18nUserProfileFieldInstanceTest.php create mode 100644 web/core/modules/config_translation/tests/src/Kernel/Plugin/migrate/source/d6/I18nProfileFieldTest.php delete mode 100644 web/core/modules/contact/src/Tests/ContactAuthenticatedUserTest.php create mode 100644 web/core/modules/contact/tests/src/Functional/ContactAuthenticatedUserTest.php rename web/core/modules/contact/{src/Tests => tests/src/Functional}/ContactLanguageTest.php (87%) rename web/core/modules/contact/{src/Tests => tests/src/Functional}/ContactPersonalTest.php (87%) rename web/core/modules/contact/{src/Tests => tests/src/Functional}/ContactSitewideTest.php (77%) rename web/core/modules/contact/{src/Tests => tests/src/Functional}/ContactStorageTest.php (87%) delete mode 100644 web/core/modules/contact/tests/src/Kernel/Migrate/d6/MigrateContactCategoryTest.php delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state.archived.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state.draft.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state.published.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state_transition.archived_draft.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state_transition.archived_published.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state_transition.draft_draft.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state_transition.draft_published.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state_transition.published_archived.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state_transition.published_draft.yml delete mode 100644 web/core/modules/content_moderation/config/install/content_moderation.state_transition.published_published.yml create mode 100644 web/core/modules/content_moderation/config/install/workflows.workflow.editorial.yml delete mode 100644 web/core/modules/content_moderation/content_moderation.links.action.yml delete mode 100644 web/core/modules/content_moderation/content_moderation.links.menu.yml delete mode 100644 web/core/modules/content_moderation/content_moderation.routing.yml create mode 100644 web/core/modules/content_moderation/src/ContentModerationState.php delete mode 100644 web/core/modules/content_moderation/src/Entity/ModerationState.php delete mode 100644 web/core/modules/content_moderation/src/Entity/ModerationStateTransition.php delete mode 100644 web/core/modules/content_moderation/src/Form/ModerationStateForm.php delete mode 100644 web/core/modules/content_moderation/src/Form/ModerationStateTransitionDeleteForm.php delete mode 100644 web/core/modules/content_moderation/src/Form/ModerationStateTransitionForm.php delete mode 100644 web/core/modules/content_moderation/src/ModerationStateAccessControlHandler.php delete mode 100644 web/core/modules/content_moderation/src/ModerationStateInterface.php delete mode 100644 web/core/modules/content_moderation/src/ModerationStateListBuilder.php delete mode 100644 web/core/modules/content_moderation/src/ModerationStateTransitionInterface.php delete mode 100644 web/core/modules/content_moderation/src/ModerationStateTransitionListBuilder.php create mode 100644 web/core/modules/content_moderation/src/Plugin/Field/FieldFormatter/ContentModerationStateFormatter.php create mode 100644 web/core/modules/content_moderation/src/Plugin/WorkflowType/ContentModeration.php delete mode 100644 web/core/modules/content_moderation/src/Tests/ModerationStateStatesTest.php delete mode 100644 web/core/modules/content_moderation/src/Tests/ModerationStateTransitionsTest.php create mode 100644 web/core/modules/content_moderation/tests/modules/content_moderation_test_local_task/content_moderation_test_local_task.info.yml create mode 100644 web/core/modules/content_moderation/tests/modules/content_moderation_test_local_task/content_moderation_test_local_task.links.task.yml create mode 100644 web/core/modules/content_moderation/tests/modules/content_moderation_test_local_task/content_moderation_test_local_task.routing.yml create mode 100644 web/core/modules/content_moderation/tests/modules/content_moderation_test_local_task/src/Controller/TestLocalTaskController.php create mode 100644 web/core/modules/content_moderation/tests/src/Functional/ContentModerationWorkflowTypeTest.php create mode 100644 web/core/modules/content_moderation/tests/src/Functional/LocalTaskTest.php create mode 100644 web/core/modules/content_moderation/tests/src/Functional/ModerationActionsTest.php rename web/core/modules/content_moderation/{src/Tests => tests/src/Functional}/ModerationLocaleTest.php (90%) create mode 100644 web/core/modules/content_moderation/tests/src/Functional/ModerationStateTestBase.php rename web/core/modules/content_moderation/{src/Tests => tests/src/Functional}/NodeAccessTest.php (80%) create mode 100644 web/core/modules/content_moderation/tests/src/Kernel/ContentModerationPermissionsTest.php delete mode 100644 web/core/modules/content_moderation/tests/src/Kernel/ContentModerationSchemaTest.php create mode 100644 web/core/modules/content_moderation/tests/src/Kernel/ContentModerationWorkflowTypeApiTest.php delete mode 100644 web/core/modules/content_moderation/tests/src/Kernel/ModerationStateEntityTest.php create mode 100644 web/core/modules/content_moderation/tests/src/Kernel/StateFormatterTest.php create mode 100644 web/core/modules/content_translation/src/Tests/ContentTranslationDisableSettingTest.php create mode 100644 web/core/modules/content_translation/src/Tests/ContentTranslationLanguageChangeTest.php create mode 100644 web/core/modules/content_translation/tests/modules/content_translation_test/content_translation_test.module rename web/core/modules/content_translation/{src/Tests => tests/src/Functional}/ContentTranslationEntityBundleUITest.php (67%) create mode 100644 web/core/modules/content_translation/tests/src/Functional/ContentTranslationLinkTagTest.php rename web/core/modules/content_translation/{src/Tests => tests/src/Functional}/ContentTranslationMetadataFieldsTest.php (97%) rename web/core/modules/content_translation/{src/Tests => tests/src/Functional}/ContentTranslationOperationsTest.php (98%) rename web/core/modules/content_translation/{src/Tests => tests/src/Functional}/ContentTranslationStandardFieldsTest.php (89%) create mode 100644 web/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php rename web/core/modules/content_translation/{src/Tests => tests/src/Functional}/ContentTranslationUISkipTest.php (68%) create mode 100644 web/core/modules/content_translation/tests/src/Functional/ContentTranslationUITestBase.php create mode 100644 web/core/modules/contextual/tests/src/FunctionalJavascript/ContextualLinksTest.php rename web/core/modules/dblog/{src/Tests => tests/src/Functional}/ConnectionFailureTest.php (85%) rename web/core/modules/dynamic_page_cache/{src/Tests => tests/src/Functional}/DynamicPageCacheIntegrationTest.php (92%) rename web/core/modules/editor/{src/Tests => tests/src/Functional}/EditorDialogAccessTest.php (98%) rename web/core/modules/editor/{src/Tests => tests/src/Functional}/EditorPrivateFileReferenceFilterTest.php (97%) create mode 100644 web/core/modules/editor/tests/src/Unit/EditorBaseTest.php rename web/core/modules/field/{src/Tests => tests/src/Functional}/EntityReference/EntityReferenceAutoCreateTest.php (93%) rename web/core/modules/field/{src/Tests => tests/src/Functional}/EntityReference/EntityReferenceFieldDefaultValueTest.php (77%) rename web/core/modules/field/{src/Tests => tests/src/Functional}/EntityReference/EntityReferenceFieldTranslatedReferenceViewTest.php (86%) rename web/core/modules/field/{src/Tests => tests/src/Functional}/EntityReference/EntityReferenceIntegrationTest.php (85%) rename web/core/modules/field/{src/Tests => tests/src/Functional}/EntityReference/EntityReferenceXSSTest.php (91%) rename web/core/modules/field/{src/Tests => tests/src/Functional}/EntityReference/Views/SelectionTest.php (82%) rename web/core/modules/field/{src/Tests => tests/src/Functional}/FieldAccessTest.php (82%) rename web/core/modules/field/{src/Tests => tests/src/Functional}/FieldHelpTest.php (79%) create mode 100644 web/core/modules/field/tests/src/Functional/FieldTestBase.php rename web/core/modules/field/{src/Tests => tests/src/Functional}/TranslationWebTest.php (84%) create mode 100644 web/core/modules/field_layout/config/schema/field_layout.schema.yml create mode 100644 web/core/modules/field_layout/field_layout.info.yml create mode 100644 web/core/modules/field_layout/field_layout.install create mode 100644 web/core/modules/field_layout/field_layout.module create mode 100644 web/core/modules/field_layout/src/Display/EntityDisplayWithLayoutInterface.php create mode 100644 web/core/modules/field_layout/src/Entity/FieldLayoutEntityDisplayTrait.php create mode 100644 web/core/modules/field_layout/src/Entity/FieldLayoutEntityFormDisplay.php create mode 100644 web/core/modules/field_layout/src/Entity/FieldLayoutEntityViewDisplay.php create mode 100644 web/core/modules/field_layout/src/FieldLayoutBuilder.php create mode 100644 web/core/modules/field_layout/src/Form/FieldLayoutEntityDisplayFormTrait.php create mode 100644 web/core/modules/field_layout/src/Form/FieldLayoutEntityFormDisplayEditForm.php create mode 100644 web/core/modules/field_layout/src/Form/FieldLayoutEntityViewDisplayEditForm.php create mode 100644 web/core/modules/field_layout/tests/modules/field_layout_test/config/schema/field_layout_test.schema.yml create mode 100644 web/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.info.yml create mode 100644 web/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.routing.yml create mode 100644 web/core/modules/field_layout/tests/modules/field_layout_test/src/Plugin/Layout/TestLayoutContentFooter.php create mode 100644 web/core/modules/field_layout/tests/modules/field_layout_test/src/Plugin/Layout/TestLayoutMainFooter.php create mode 100644 web/core/modules/field_layout/tests/src/Functional/FieldLayoutTest.php create mode 100644 web/core/modules/field_layout/tests/src/FunctionalJavascript/FieldLayoutTest.php create mode 100644 web/core/modules/field_layout/tests/src/Kernel/FieldLayoutEntityDisplayTest.php create mode 100644 web/core/modules/field_layout/tests/src/Unit/FieldLayoutBuilderTest.php rename web/core/modules/field_ui/{src/Tests => tests/src/Functional}/EntityDisplayModeTest.php (83%) create mode 100644 web/core/modules/field_ui/tests/src/Functional/EntityDisplayTest.php rename web/core/modules/field_ui/{src/Tests => tests/src/Functional}/FieldUIIndentationTest.php (50%) rename web/core/modules/field_ui/{src/Tests => tests/src/Functional}/FieldUIRouteTest.php (86%) create mode 100644 web/core/modules/field_ui/tests/src/FunctionalJavascript/EntityDisplayTest.php create mode 100644 web/core/modules/file/tests/src/Functional/FileFieldTestBase.php rename web/core/modules/file/{src/Tests => tests/src/Functional}/FileManagedAccessTest.php (88%) create mode 100644 web/core/modules/file/tests/src/Functional/FileManagedTestBase.php rename web/core/modules/filter/{src/Tests => tests/src/Functional}/FilterCaptionTwigDebugTest.php (93%) rename web/core/modules/filter/{src/Tests => tests/src/Functional}/FilterDefaultFormatTest.php (82%) rename web/core/modules/filter/{src/Tests => tests/src/Functional}/FilterHooksTest.php (68%) rename web/core/modules/filter/{src/Tests => tests/src/Functional}/FilterNoFormatTest.php (80%) rename web/core/modules/filter/{src/Tests => tests/src/Functional}/FilterSecurityTest.php (72%) rename web/core/modules/forum/{src/Tests => tests/src/Functional}/ForumBlockTest.php (83%) rename web/core/modules/forum/{src/Tests => tests/src/Functional}/ForumIndexTest.php (80%) rename web/core/modules/forum/{src/Tests => tests/src/Functional}/ForumNodeAccessTest.php (75%) rename web/core/modules/forum/{src/Tests => tests/src/Functional}/ForumTest.php (83%) rename web/core/modules/forum/{src/Tests => tests/src/Functional}/ForumUninstallTest.php (84%) create mode 100644 web/core/modules/hal/config/install/hal.settings.yml create mode 100644 web/core/modules/hal/config/schema/hal.schema.yml create mode 100644 web/core/modules/hal/hal.api.php create mode 100644 web/core/modules/hal/hal.install delete mode 100644 web/core/modules/hal/src/EventSubscriber/ExceptionHalJsonSubscriber.php create mode 100644 web/core/modules/hal/src/LinkManager/ConfigurableLinkManagerInterface.php create mode 100644 web/core/modules/hal/src/LinkManager/LinkManager.php create mode 100644 web/core/modules/hal/src/LinkManager/LinkManagerBase.php create mode 100644 web/core/modules/hal/src/LinkManager/LinkManagerInterface.php create mode 100644 web/core/modules/hal/src/LinkManager/RelationLinkManager.php create mode 100644 web/core/modules/hal/src/LinkManager/RelationLinkManagerInterface.php create mode 100644 web/core/modules/hal/src/LinkManager/TypeLinkManager.php create mode 100644 web/core/modules/hal/src/LinkManager/TypeLinkManagerInterface.php create mode 100644 web/core/modules/hal/tests/fixtures/update/drupal-8.hal-hal_update_8301.php create mode 100644 web/core/modules/hal/tests/fixtures/update/drupal-8.rest-hal_update_8301.php create mode 100644 web/core/modules/hal/tests/modules/hal_test/hal_test.info.yml create mode 100644 web/core/modules/hal/tests/modules/hal_test/hal_test.module create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Action/ActionHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Action/ActionHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Action/ActionHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/CommentType/CommentTypeHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/CommentType/CommentTypeHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/CommentType/CommentTypeHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/ConfigurableLanguage/ConfigurableLanguageHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/ConfigurableLanguage/ConfigurableLanguageHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/ConfigurableLanguage/ConfigurableLanguageHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/EntityTestLabel/EntityTestLabelHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/EntityTestLabel/EntityTestLabelHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/EntityTestLabel/EntityTestLabelHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/FilterFormat/FilterFormatHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/FilterFormat/FilterFormatHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/FilterFormat/FilterFormatHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/ImageStyle/ImageStyleHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/ImageStyle/ImageStyleHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/ImageStyle/ImageStyleHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Item/ItemHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Item/ItemHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Item/ItemHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Item/ItemHalJsonTestBase.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/MenuLinkContent/MenuLinkContentHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/MenuLinkContent/MenuLinkContentHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/MenuLinkContent/MenuLinkContentHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/NodeType/NodeTypeHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/NodeType/NodeTypeHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/NodeType/NodeTypeHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/SearchPage/SearchPageHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/SearchPage/SearchPageHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/SearchPage/SearchPageHalJsonCookieTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Shortcut/ShortcutHalJsonAnonTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Shortcut/ShortcutHalJsonBasicAuthTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/EntityResource/Shortcut/ShortcutHalJsonCookieTest.php rename web/core/modules/hal/{src/Tests => tests/src/Functional}/FileDenormalizeTest.php (89%) delete mode 100644 web/core/modules/hal/tests/src/Functional/HalJsonBasicAuthWorkaroundFor2805281Trait.php create mode 100644 web/core/modules/hal/tests/src/Functional/Update/CreateHalSettingsForLinkDomainUpdateTest.php create mode 100644 web/core/modules/hal/tests/src/Functional/Update/MigrateLinkDomainSettingFromRestToHalUpdateTest.php create mode 100644 web/core/modules/hal/tests/src/Kernel/HalLinkManagerTest.php delete mode 100644 web/core/modules/history/src/Tests/HistoryTest.php create mode 100644 web/core/modules/history/tests/src/Functional/HistoryTest.php create mode 100644 web/core/modules/image/css/editors/image.css create mode 100644 web/core/modules/image/css/editors/image.theme.css create mode 100644 web/core/modules/image/images/error.svg create mode 100644 web/core/modules/image/images/upload.svg create mode 100644 web/core/modules/image/js/editors/image.js create mode 100644 web/core/modules/image/js/theme.js create mode 100644 web/core/modules/image/src/Controller/QuickEditImageController.php create mode 100644 web/core/modules/image/src/Plugin/Field/FieldFormatter/ImageUrlFormatter.php create mode 100644 web/core/modules/image/src/Plugin/InPlaceEditor/Image.php create mode 100644 web/core/modules/image/src/Tests/QuickEditImageControllerTest.php rename web/core/modules/image/{src/Tests => tests/src/Functional}/ImageEffectsTest.php (80%) create mode 100644 web/core/modules/image/tests/src/Functional/ImageFieldTestBase.php rename web/core/modules/image/{src/Tests => tests/src/Functional}/ImageFieldWidgetTest.php (70%) rename web/core/modules/image/{src/Tests => tests/src/Functional}/ImageStyleDeleteTest.php (99%) create mode 100644 web/core/modules/image/tests/src/FunctionalJavascript/QuickEditImageTest.php create mode 100644 web/core/modules/inline_form_errors/tests/src/FunctionalJavascript/FormErrorHandlerQuickEditTest.php rename web/core/modules/language/{src/Tests => tests/src/Functional}/AdminPathEntityConverterLanguageTest.php (62%) rename web/core/modules/language/{src/Tests => tests/src/Functional}/LanguageBlockSettingsVisibilityTest.php (74%) rename web/core/modules/language/{src/Tests => tests/src/Functional}/LanguageBrowserDetectionTest.php (88%) rename web/core/modules/language/{src/Tests => tests/src/Functional}/LanguageConfigOverrideImportTest.php (80%) rename web/core/modules/language/{src/Tests => tests/src/Functional}/LanguageConfigSchemaTest.php (81%) rename web/core/modules/language/{src/Tests => tests/src/Functional}/LanguageListModuleInstallTest.php (67%) rename web/core/modules/language/{src/Tests => tests/src/Functional}/LanguageNegotiationContentEntityTest.php (96%) rename web/core/modules/language/{src/Tests => tests/src/Functional}/LanguageNegotiationInfoTest.php (90%) create mode 100644 web/core/modules/language/tests/src/Functional/LanguageNegotiationUrlTest.php rename web/core/modules/language/{src/Tests => tests/src/Functional}/LanguagePathMonolingualTest.php (82%) rename web/core/modules/language/{src/Tests => tests/src/Functional}/Migrate/MigrateLanguageTest.php (96%) create mode 100644 web/core/modules/language/tests/src/Kernel/ConfigurableLanguageManagerTest.php create mode 100644 web/core/modules/language/tests/src/Kernel/LanguageConfigFactoryOverrideTest.php create mode 100644 web/core/modules/language/tests/src/Kernel/Plugin/migrate/source/LanguageTest.php delete mode 100644 web/core/modules/language/tests/src/Unit/Migrate/LanguageTest.php create mode 100644 web/core/modules/layout_discovery/layout_discovery.info.yml create mode 100644 web/core/modules/layout_discovery/layout_discovery.install create mode 100644 web/core/modules/layout_discovery/layout_discovery.layouts.yml create mode 100644 web/core/modules/layout_discovery/layout_discovery.libraries.yml create mode 100644 web/core/modules/layout_discovery/layout_discovery.module create mode 100644 web/core/modules/layout_discovery/layout_discovery.services.yml create mode 100644 web/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig create mode 100644 web/core/modules/layout_discovery/layouts/onecol/onecol.css create mode 100644 web/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig create mode 100644 web/core/modules/layout_discovery/layouts/threecol_25_50_25/threecol_25_50_25.css create mode 100644 web/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig create mode 100644 web/core/modules/layout_discovery/layouts/threecol_33_34_33/threecol_33_34_33.css create mode 100644 web/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig create mode 100644 web/core/modules/layout_discovery/layouts/twocol/twocol.css create mode 100644 web/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig create mode 100644 web/core/modules/layout_discovery/layouts/twocol_bricks/twocol_bricks.css create mode 100644 web/core/modules/layout_discovery/templates/layout.html.twig create mode 100644 web/core/modules/layout_discovery/tests/src/Kernel/LayoutTest.php create mode 100644 web/core/modules/link/src/Plugin/Validation/Constraint/LinkTypeConstraintValidator.php rename web/core/modules/link/{src/Tests => tests/src/Functional}/LinkFieldTest.php (72%) rename web/core/modules/link/{src/Tests => tests/src/Functional}/LinkFieldUITest.php (93%) rename web/core/modules/locale/{src/Tests => tests/src/Functional}/LocaleContentTest.php (81%) rename web/core/modules/locale/{src/Tests => tests/src/Functional}/LocaleLocaleLookupTest.php (78%) rename web/core/modules/locale/{src/Tests => tests/src/Functional}/LocalePathTest.php (80%) rename web/core/modules/locale/{src/Tests => tests/src/Functional}/LocaleStringTest.php (68%) rename web/core/modules/locale/{src/Tests => tests/src/Functional}/LocaleTranslatedSchemaDefinitionTest.php (77%) rename web/core/modules/menu_link_content/{src/Tests => tests/src/Functional}/LinksTest.php (83%) rename web/core/modules/menu_ui/{src/Tests => tests/src/Functional}/MenuCacheTagsTest.php (87%) rename web/core/modules/menu_ui/{src/Tests => tests/src/Functional}/MenuLinkReorderTest.php (79%) rename web/core/modules/menu_ui/{src/Tests => tests/src/Functional}/MenuUninstallTest.php (56%) create mode 100644 web/core/modules/migrate/tests/src/Kernel/HighWaterNotJoinableTest.php create mode 100644 web/core/modules/migrate/tests/src/Kernel/MigrateRollbackEntityConfigTest.php delete mode 100644 web/core/modules/migrate/tests/src/Kernel/process/CopyFileTest.php create mode 100644 web/core/modules/node/migration_templates/d7_node_translation.yml create mode 100644 web/core/modules/node/src/Tests/Update/NodeUpdateTest.php rename web/core/modules/node/{src/Tests => tests/src/Functional}/Migrate/d6/MigrateNodeRevisionTest.php (97%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/Migrate/d7/NodeMigrateDeriverTest.php (96%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/MultiStepNodeFormBasicOptionsTest.php (83%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeAccessFieldTest.php (84%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeAccessGrantsCacheContextTest.php (89%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeAccessLanguageAwareCombinationTest.php (88%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeAccessLanguageAwareTest.php (88%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeAccessLanguageTest.php (84%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeAccessMenuLinkTest.php (84%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeAccessRecordsTest.php (77%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeActionsConfigurationTest.php (96%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeCacheTagsTest.php (91%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeCreationTest.php (83%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeFormSaveChangedTimeTest.php (83%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeHelpTest.php (78%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeLinksTest.php (78%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeLoadMultipleTest.php (72%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodePostSettingsTest.php (82%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeRSSContentTest.php (87%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeRevisionsAllTest.php (89%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeRevisionsUiBypassAccessTest.php (94%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeRevisionsUiTest.php (82%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeSaveTest.php (92%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeTemplateSuggestionsTest.php (58%) create mode 100644 web/core/modules/node/tests/src/Functional/NodeTestBase.php rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeTypeInitialLanguageTest.php (84%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeTypeTranslationTest.php (73%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/NodeViewLanguageTest.php (81%) rename web/core/modules/node/{src/Tests => tests/src/Functional}/PageViewTest.php (82%) create mode 100644 web/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeDeriverTest.php create mode 100644 web/core/modules/node/tests/src/Kernel/Plugin/migrate/source/d7/NodeTranslationTest.php rename web/core/modules/options/{src/Tests => tests/src/Functional}/OptionsDynamicValuesApiTest.php (91%) rename web/core/modules/options/{src/Tests => tests/src/Functional}/OptionsDynamicValuesTestBase.php (97%) rename web/core/modules/options/{src/Tests => tests/src/Functional}/OptionsDynamicValuesValidationTest.php (90%) rename web/core/modules/options/{src/Tests => tests/src/Functional}/OptionsFieldUITest.php (82%) rename web/core/modules/options/{src/Tests => tests/src/Functional}/OptionsFloatFieldImportTest.php (72%) rename web/core/modules/options/{src/Tests => tests/src/Functional}/OptionsSelectDynamicValuesTest.php (81%) rename web/core/modules/options/{src/Tests => tests/src/Functional}/OptionsWidgetsTest.php (81%) delete mode 100644 web/core/modules/outside_in/tests/modules/offcanvas_test/src/Plugin/Block/TestBlock.php rename web/core/modules/path/{src/Tests => tests/src/Functional}/PathAdminTest.php (84%) rename web/core/modules/path/{src/Tests => tests/src/Functional}/PathAliasTest.php (91%) rename web/core/modules/path/{src/Tests => tests/src/Functional}/PathLanguageTest.php (91%) rename web/core/modules/path/{src/Tests => tests/src/Functional}/PathLanguageUiTest.php (77%) rename web/core/modules/path/{src/Tests => tests/src/Functional}/PathNodeFormTest.php (86%) rename web/core/modules/path/{src/Tests => tests/src/Functional}/PathTaxonomyTermTest.php (87%) create mode 100644 web/core/modules/path/tests/src/Functional/PathTestBase.php rename web/core/modules/rdf/{src/Tests => tests/src/Functional}/EntityReferenceFieldAttributesTest.php (76%) rename web/core/modules/rdf/{src/Tests => tests/src/Functional}/FileFieldAttributesTest.php (83%) rename web/core/modules/rdf/{src/Tests => tests/src/Functional}/GetRdfNamespacesTest.php (76%) rename web/core/modules/rdf/{src/Tests => tests/src/Functional}/NodeAttributesTest.php (78%) rename web/core/modules/rdf/{src/Tests => tests/src/Functional}/StandardProfileTest.php (89%) rename web/core/modules/rdf/{src/Tests => tests/src/Functional}/TaxonomyAttributesTest.php (83%) rename web/core/modules/rdf/{src/Tests => tests/src/Functional}/UserAttributesTest.php (73%) create mode 100644 web/core/modules/rest/src/EventSubscriber/ResourceResponseSubscriber.php create mode 100644 web/core/modules/rest/src/EventSubscriber/RestConfigSubscriber.php create mode 100644 web/core/modules/rest/src/Plugin/rest/resource/EntityResourceAccessTrait.php create mode 100644 web/core/modules/rest/src/Plugin/rest/resource/EntityResourceValidationTrait.php create mode 100644 web/core/modules/rest/src/RestServiceProvider.php create mode 100644 web/core/modules/rest/tests/modules/rest_test/rest_test.services.yml create mode 100644 web/core/modules/rest/tests/modules/rest_test/src/Authentication/Provider/TestAuth.php create mode 100644 web/core/modules/rest/tests/modules/rest_test/src/Authentication/Provider/TestAuthGlobal.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Action/ActionJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Action/ActionJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Action/ActionJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Action/ActionResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/CommentType/CommentTypeJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/CommentType/CommentTypeJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/CommentType/CommentTypeJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/CommentType/CommentTypeResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/ConfigurableLanguage/ConfigurableLanguageJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/ConfigurableLanguage/ConfigurableLanguageJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/ConfigurableLanguage/ConfigurableLanguageJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/ConfigurableLanguage/ConfigurableLanguageResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/EntityTestLabel/EntityTestLabelJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/EntityTestLabel/EntityTestLabelJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/EntityTestLabel/EntityTestLabelJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/EntityTestLabel/EntityTestLabelResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/FilterFormat/FilterFormatJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/FilterFormat/FilterFormatJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/FilterFormat/FilterFormatJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/FilterFormat/FilterFormatResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/ImageStyle/ImageStyleJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/ImageStyle/ImageStyleJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/ImageStyle/ImageStyleJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/ImageStyle/ImageStyleResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Item/ItemJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Item/ItemJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Item/ItemJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Item/ItemResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/MenuLinkContent/MenuLinkContentJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/MenuLinkContent/MenuLinkContentJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/MenuLinkContent/MenuLinkContentJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/MenuLinkContent/MenuLinkContentResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/NodeType/NodeTypeJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/NodeType/NodeTypeJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/NodeType/NodeTypeJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/NodeType/NodeTypeResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/SearchPage/SearchPageJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/SearchPage/SearchPageJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/SearchPage/SearchPageJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/SearchPage/SearchPageResourceTestBase.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Shortcut/ShortcutJsonAnonTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Shortcut/ShortcutJsonBasicAuthTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Shortcut/ShortcutJsonCookieTest.php create mode 100644 web/core/modules/rest/tests/src/Functional/EntityResource/Shortcut/ShortcutResourceTestBase.php delete mode 100644 web/core/modules/rest/tests/src/Functional/JsonBasicAuthWorkaroundFor2805281Trait.php delete mode 100644 web/core/modules/rest/tests/src/Kernel/RestLinkManagerTest.php create mode 100644 web/core/modules/rest/tests/src/Unit/EntityResourceValidationTraitTest.php create mode 100644 web/core/modules/rest/tests/src/Unit/EventSubscriber/ResourceResponseSubscriberTest.php rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchCommentCountToggleTest.php (90%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchDateIntervalTest.php (93%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchExactTest.php (84%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchKeywordsConditionsTest.php (67%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchMultilingualEntityTest.php (86%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchNodeDiacriticsTest.php (75%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchNodePunctuationTest.php (70%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchPageOverrideTest.php (73%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchSetLocaleTest.php (83%) rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchSimplifyTest.php (82%) create mode 100644 web/core/modules/search/tests/src/Functional/SearchTestBase.php rename web/core/modules/search/{src/Tests => tests/src/Functional}/SearchTokenizerTest.php (94%) create mode 100644 web/core/modules/serialization/config/install/serialization.settings.yml create mode 100644 web/core/modules/serialization/config/schema/serialization.schema.yml create mode 100644 web/core/modules/serialization/serialization.install create mode 100644 web/core/modules/serialization/src/EventSubscriber/BcConfigSubscriber.php create mode 100644 web/core/modules/serialization/src/Normalizer/FieldItemNormalizer.php create mode 100644 web/core/modules/serialization/src/Normalizer/FieldNormalizer.php create mode 100644 web/core/modules/serialization/src/Normalizer/FieldableEntityNormalizerTrait.php create mode 100644 web/core/modules/serialization/src/Normalizer/PrimitiveDataNormalizer.php create mode 100644 web/core/modules/serialization/tests/modules/field_normalization_test/field_normalization_test.info.yml create mode 100644 web/core/modules/serialization/tests/modules/field_normalization_test/field_normalization_test.services.yml create mode 100644 web/core/modules/serialization/tests/modules/field_normalization_test/src/Normalization/TextItemSillyNormalizer.php create mode 100644 web/core/modules/serialization/tests/src/Kernel/FieldItemSerializationTest.php rename web/core/modules/serialization/{src/Tests => tests/src/Unit/CompilerPass}/RegisterSerializationClassesCompilerPassTest.php (96%) create mode 100644 web/core/modules/serialization/tests/src/Unit/EventSubscriber/DefaultExceptionSubscriberTest.php create mode 100644 web/core/modules/serialization/tests/src/Unit/Normalizer/PrimitiveDataNormalizerTest.php rename web/core/modules/shortcut/{src/Tests => tests/src/Functional}/ShortcutCacheTagsTest.php (93%) create mode 100644 web/core/modules/simpletest/src/Tests/UiPhpUnitOutputTest.php create mode 100644 web/core/modules/simpletest/tests/fixtures/simpletest_phpunit_browsertest.php rename web/core/modules/simpletest/{src/Tests => tests/src/Functional}/FolderTest.php (64%) rename web/core/modules/simpletest/{src/Tests => tests/src/Functional}/MailCaptureTest.php (64%) rename web/core/modules/simpletest/{src/Tests => tests/src/Functional}/MissingDependentModuleUnitTest.php (64%) rename web/core/modules/simpletest/{src/Tests => tests/src/Functional}/OtherInstallationProfileTestsTest.php (82%) rename web/core/modules/simpletest/{src/Tests => tests/src/Functional}/UserHelpersTest.php (90%) create mode 100644 web/core/modules/simpletest/tests/src/Traits/TestTrait.php create mode 100644 web/core/modules/simpletest/tests/src/Unit/TraitAccessTest.php create mode 100644 web/core/modules/statistics/src/NodeStatisticsDatabaseStorage.php create mode 100644 web/core/modules/statistics/src/StatisticsStorageInterface.php create mode 100644 web/core/modules/statistics/src/StatisticsViewsResult.php create mode 100644 web/core/modules/statistics/statistics.services.yml rename web/core/modules/statistics/{src/Tests => tests/src/Functional}/StatisticsAttachedTest.php (82%) create mode 100644 web/core/modules/statistics/tests/src/Functional/StatisticsTestBase.php rename web/core/modules/statistics/{src/Tests => tests/src/Functional}/StatisticsTokenReplaceTest.php (67%) delete mode 100644 web/core/modules/syslog/src/Tests/SyslogTest.php create mode 100644 web/core/modules/syslog/tests/src/Functional/SyslogTest.php create mode 100644 web/core/modules/system/css/components/system-status-counter.css create mode 100644 web/core/modules/system/css/components/system-status-report-counters.css create mode 100644 web/core/modules/system/css/components/system-status-report-general-info.css create mode 100644 web/core/modules/system/src/Element/StatusReportPage.php create mode 100644 web/core/modules/system/src/Tests/Installer/DistributionProfileExistingSettingsTest.php create mode 100644 web/core/modules/system/src/Tests/Installer/InstallerExistingSettingsMismatchProfileBrokenTest.php create mode 100644 web/core/modules/system/src/Tests/Installer/InstallerExistingSettingsMismatchProfileTest.php create mode 100644 web/core/modules/system/src/Tests/Installer/MultipleDistributionsProfileTest.php create mode 100644 web/core/modules/system/src/Tests/Update/InstallProfileSystemInstall8300Test.php create mode 100644 web/core/modules/system/src/Tests/Update/UpdateEntityDisplayTest.php create mode 100644 web/core/modules/system/templates/status-report-counter.html.twig create mode 100644 web/core/modules/system/templates/status-report-general-info.html.twig create mode 100644 web/core/modules/system/templates/status-report-grouped.html.twig create mode 100644 web/core/modules/system/templates/status-report-page.html.twig create mode 100644 web/core/modules/system/tests/fixtures/update/block.block.secondtestfor2513534.yml create mode 100644 web/core/modules/system/tests/fixtures/update/block.block.testfor2513534.yml create mode 100644 web/core/modules/system/tests/fixtures/update/drupal-8.0.0-rc1-filled.standard.entity_test_update.php.gz create mode 100644 web/core/modules/system/tests/fixtures/update/drupal-8.0.0-rc1-filled.standard.entity_test_update_mul.php.gz create mode 100644 web/core/modules/system/tests/fixtures/update/drupal-8.update-test-block-disabled-2513534.php create mode 100644 web/core/modules/system/tests/modules/entity_reference_test_views/test_views/views.view.test_entity_reference_group_by_empty_relationships.yml create mode 100644 web/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulRevChangedWithRevisionLog.php create mode 100644 web/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulRevPub.php create mode 100644 web/core/modules/system/tests/modules/entity_test_update/config/install/field.field.entity_test_update.entity_test_update.field_test_configurable_field.yml create mode 100644 web/core/modules/system/tests/modules/entity_test_update/config/install/field.storage.entity_test_update.field_test_configurable_field.yml create mode 100644 web/core/modules/system/tests/modules/entity_test_update/config/schema/entity_test_update.schema.yml create mode 100644 web/core/modules/system/tests/modules/entity_test_update/entity_test_update.info.yml create mode 100644 web/core/modules/system/tests/modules/entity_test_update/entity_test_update.module create mode 100644 web/core/modules/system/tests/modules/entity_test_update/src/Entity/EntityTestUpdate.php rename web/core/modules/system/tests/modules/{entity_test/src/EntityTestStorageSchema.php => entity_test_update/src/EntityTestUpdateStorageSchema.php} (90%) create mode 100644 web/core/modules/system/tests/modules/entity_test_update/src/Plugin/Field/FieldType/MultiValueTestItem.php create mode 100644 web/core/modules/system/tests/modules/layout_test/config/schema/layout_test.schema.yml create mode 100644 web/core/modules/system/tests/modules/layout_test/css/layout-test-2col.css create mode 100644 web/core/modules/system/tests/modules/layout_test/layout_test.info.yml create mode 100644 web/core/modules/system/tests/modules/layout_test/layout_test.layouts.yml create mode 100644 web/core/modules/system/tests/modules/layout_test/layout_test.libraries.yml create mode 100644 web/core/modules/system/tests/modules/layout_test/src/Plugin/Layout/LayoutTestPlugin.php create mode 100644 web/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig create mode 100644 web/core/modules/system/tests/modules/layout_test/templates/layout-test-2col.html.twig create mode 100644 web/core/modules/system/tests/modules/layout_test/templates/layout-test-plugin.html.twig create mode 100644 web/core/modules/system/tests/modules/path_encoded_test/path_encoded_test.info.yml create mode 100644 web/core/modules/system/tests/modules/path_encoded_test/path_encoded_test.routing.yml create mode 100644 web/core/modules/system/tests/modules/path_encoded_test/src/Controller/PathEncodedTestController.php create mode 100644 web/core/modules/system/tests/modules/test_page_test/src/Form/TestForm.php rename web/core/modules/system/{src/Tests => tests/src/Functional}/Bootstrap/DrupalSetMessageTest.php (84%) create mode 100644 web/core/modules/system/tests/src/Functional/Cache/CacheTestBase.php rename web/core/modules/system/{src/Tests => tests/src/Functional}/Cache/ClearTest.php (89%) create mode 100644 web/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php rename web/core/modules/system/{src/Tests => tests/src/Functional}/Datetime/DrupalDateTimeTest.php (87%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/DrupalKernel/ContentNegotiationTest.php (88%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Entity/ConfigEntityImportTest.php (96%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Entity/EntityAddUITest.php (97%) create mode 100644 web/core/modules/system/tests/src/Functional/Entity/EntityCacheTagsTestBase.php rename web/core/modules/system/{src/Tests => tests/src/Functional}/Entity/EntityListBuilderTest.php (85%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Entity/EntityOperationsTest.php (82%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Entity/EntityReferenceSelection/EntityReferenceSelectionAccessTest.php (58%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Entity/EntityRevisionsTest.php (80%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Entity/EntityViewControllerTest.php (86%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/File/ConfigTest.php (80%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/File/FileSaveHtaccessLoggingTest.php (83%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/FileTransfer/FileTransferTest.php (79%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/FileTransfer/MockTestConnection.php (53%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/FileTransfer/TestFileTransfer.php (70%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Form/ElementsAccessTest.php (85%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Form/FormObjectTest.php (89%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Form/ModulesListFormWebTest.php (84%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Form/RedirectTest.php (69%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Lock/LockFunctionalTest.php (95%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Mail/HtmlToTextTest.php (97%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Mail/MailTest.php (88%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Menu/MenuAccessTest.php (92%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Menu/MenuLinkSecurityTest.php (87%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Module/ClassLoaderTest.php (75%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Module/ExperimentalModuleTest.php (87%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Module/InstallTest.php (83%) create mode 100644 web/core/modules/system/tests/src/Functional/Module/ModuleTestBase.php rename web/core/modules/system/{src/Tests => tests/src/Functional}/Module/UninstallTest.php (88%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/ParamConverter/UpcastingTest.php (80%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Path/UrlAlterFunctionalTest.php (82%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Render/AjaxPageStateTest.php (92%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Render/DisplayVariantTest.php (70%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Routing/MockMatcher.php (93%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Routing/RouterPermissionTest.php (77%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/ServiceProvider/ServiceProviderWebTest.php (81%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/AdminMetaTagTest.php (78%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/DateFormatsLockedTest.php (90%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/DateFormatsMachineNameTest.php (90%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/DateTimeTest.php (86%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/IndexPhpTest.php (58%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/MainContentFallbackTest.php (82%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/RetrieveFileTest.php (92%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/SitesDirectoryHardeningTest.php (91%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/StatusTest.php (87%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/SystemAuthorizeTest.php (75%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/TokenScanTest.php (89%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/System/TrustedHostsTest.php (86%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/EngineNyanCatTest.php (65%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/FastTest.php (55%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/ThemeEarlyInitializationTest.php (74%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/ThemeInfoTest.php (71%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/ThemeTokenTest.php (92%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/TwigExtensionTest.php (87%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/TwigLoaderTest.php (53%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/TwigRegistryLoaderTest.php (89%) rename web/core/modules/system/{src/Tests => tests/src/Functional}/Theme/TwigSettingsTest.php (91%) create mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemConfigurationTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemCronTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemDateTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemFileTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageGdTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemImageTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemLoggingTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemMaintenanceTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemPerformanceTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemRssTest.php delete mode 100644 web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemSiteTest.php create mode 100644 web/core/modules/taxonomy/src/Tests/Views/TaxonomyVocabularyArgumentTest.php create mode 100644 web/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_argument_taxonomy_vocabulary.yml rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/EfqTest.php (88%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/LegacyTest.php (87%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/LoadMultipleTest.php (88%) create mode 100644 web/core/modules/taxonomy/tests/src/Functional/TaxonomyTestBase.php rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/TermCacheTagsTest.php (89%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/TermEntityReferenceTest.php (80%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/TermIndexTest.php (81%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/TermLanguageTest.php (71%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/TermTranslationFieldViewTest.php (85%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/TokenReplaceTest.php (77%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/VocabularyCrudTest.php (84%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/VocabularyLanguageTest.php (93%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/VocabularyPermissionsTest.php (76%) rename web/core/modules/taxonomy/{src/Tests => tests/src/Functional}/VocabularyTranslationTest.php (90%) rename web/core/modules/telephone/{src/Tests => tests/src/Functional}/TelephoneFieldTest.php (77%) rename web/core/modules/toolbar/{src/Tests => tests/src/Functional}/ToolbarHookToolbarTest.php (78%) rename web/core/modules/tour/{src/Tests => tests/src/Functional}/TourCacheTagsTest.php (93%) delete mode 100644 web/core/modules/tracker/src/Access/ViewOwnTrackerAccessCheck.php rename web/core/modules/tracker/{src/Tests => tests/src/Functional}/TrackerNodeAccessTest.php (79%) delete mode 100644 web/core/modules/tracker/tracker.services.yml create mode 100644 web/core/modules/user/src/Plugin/Validation/Constraint/UserMailRequiredValidator.php create mode 100644 web/core/modules/user/src/Plugin/rest/resource/UserRegistrationResource.php create mode 100644 web/core/modules/user/src/Tests/RestRegisterUserTest.php create mode 100644 web/core/modules/user/src/Tests/Update/UserUpdateOrderPermissionsTest.php rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserCacheTagsTest.php (93%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserCreateFailMailTest.php (73%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserDeleteTest.php (66%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserEditedOwnAccountTest.php (71%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserEntityCallbacksTest.php (88%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserLanguageTest.php (82%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserMailNotifyTest.php (96%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserRolesAssignmentTest.php (76%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserSaveTest.php (87%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserSearchTest.php (82%) rename web/core/modules/user/{src/Tests => tests/src/Functional}/UserTokenReplaceTest.php (88%) create mode 100644 web/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserPictureD6FileTest.php create mode 100644 web/core/modules/user/tests/src/Kernel/UserRoleEntityTest.php create mode 100644 web/core/modules/user/tests/src/Unit/UserRegistrationResourceTest.php create mode 100644 web/core/modules/user/user.post_update.php create mode 100644 web/core/modules/views/src/Plugin/views/field/EntityField.php create mode 100644 web/core/modules/views/src/Tests/Plugin/ContextualFiltersBlockContextTest.php create mode 100644 web/core/modules/views/src/Tests/Plugin/ViewsBulkTest.php create mode 100644 web/core/modules/views/tests/modules/views_test_data/src/Controller/ViewsTestDataController.php create mode 100644 web/core/modules/views/tests/modules/views_test_data/src/Form/ViewsTestDataErrorForm.php create mode 100644 web/core/modules/views/tests/modules/views_test_data/src/Plugin/views/filter/FilterBooleanOperatorDefaultTest.php create mode 100644 web/core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/GroupedExposedFilterTest.php create mode 100644 web/core/modules/views/tests/src/Kernel/Handler/FilterBooleanOperatorDefaultTest.php create mode 100644 web/core/modules/views_ui/templates/views-ui-view-displays-list.html.twig create mode 100644 web/core/modules/views_ui/templates/views-ui-views-listing-table.html.twig create mode 100644 web/core/modules/views_ui/tests/modules/views_ui_test_field/views_ui_test_field.info.yml create mode 100644 web/core/modules/views_ui/tests/modules/views_ui_test_field/views_ui_test_field.module create mode 100644 web/core/modules/views_ui/tests/modules/views_ui_test_field/views_ui_test_field.views.inc create mode 100644 web/core/modules/views_ui/tests/src/FunctionalJavascript/FilterOptionsTest.php create mode 100644 web/core/modules/workflows/config/schema/workflows.schema.yml create mode 100644 web/core/modules/workflows/src/Annotation/WorkflowType.php create mode 100644 web/core/modules/workflows/src/Entity/Workflow.php create mode 100644 web/core/modules/workflows/src/Exception/RequiredStateMissingException.php create mode 100644 web/core/modules/workflows/src/Form/WorkflowAddForm.php rename web/core/modules/{content_moderation/src/Form/ModerationStateDeleteForm.php => workflows/src/Form/WorkflowDeleteForm.php} (64%) create mode 100644 web/core/modules/workflows/src/Form/WorkflowEditForm.php create mode 100644 web/core/modules/workflows/src/Form/WorkflowStateAddForm.php create mode 100644 web/core/modules/workflows/src/Form/WorkflowStateDeleteForm.php create mode 100644 web/core/modules/workflows/src/Form/WorkflowStateEditForm.php create mode 100644 web/core/modules/workflows/src/Form/WorkflowTransitionAddForm.php create mode 100644 web/core/modules/workflows/src/Form/WorkflowTransitionDeleteForm.php create mode 100644 web/core/modules/workflows/src/Form/WorkflowTransitionEditForm.php create mode 100644 web/core/modules/workflows/src/Plugin/WorkflowTypeBase.php create mode 100644 web/core/modules/workflows/src/State.php create mode 100644 web/core/modules/workflows/src/StateInterface.php create mode 100644 web/core/modules/workflows/src/Transition.php create mode 100644 web/core/modules/workflows/src/TransitionInterface.php create mode 100644 web/core/modules/workflows/src/WorkflowAccessControlHandler.php create mode 100644 web/core/modules/workflows/src/WorkflowDeleteAccessCheck.php create mode 100644 web/core/modules/workflows/src/WorkflowInterface.php create mode 100644 web/core/modules/workflows/src/WorkflowListBuilder.php create mode 100644 web/core/modules/workflows/src/WorkflowTypeInterface.php create mode 100644 web/core/modules/workflows/src/WorkflowTypeManager.php create mode 100644 web/core/modules/workflows/tests/modules/workflow_third_party_settings_test/config/schema/workflow_third_party_settings_test.schema.yml create mode 100644 web/core/modules/workflows/tests/modules/workflow_third_party_settings_test/workflow_third_party_settings_test.info.yml create mode 100644 web/core/modules/workflows/tests/modules/workflow_type_test/config/schema/workflow_type_test.schema.yml create mode 100644 web/core/modules/workflows/tests/modules/workflow_type_test/src/DecoratedState.php create mode 100644 web/core/modules/workflows/tests/modules/workflow_type_test/src/DecoratedTransition.php create mode 100644 web/core/modules/workflows/tests/modules/workflow_type_test/src/Plugin/WorkflowType/ComplexTestType.php create mode 100644 web/core/modules/workflows/tests/modules/workflow_type_test/src/Plugin/WorkflowType/RequiredStateTestType.php create mode 100644 web/core/modules/workflows/tests/modules/workflow_type_test/src/Plugin/WorkflowType/TestType.php create mode 100644 web/core/modules/workflows/tests/modules/workflow_type_test/workflow_type_test.info.yml create mode 100644 web/core/modules/workflows/tests/src/Functional/WorkflowUiNoTypeTest.php create mode 100644 web/core/modules/workflows/tests/src/Functional/WorkflowUiTest.php create mode 100644 web/core/modules/workflows/tests/src/Kernel/ComplexWorkflowTypeTest.php create mode 100644 web/core/modules/workflows/tests/src/Kernel/RequiredStatesTest.php create mode 100644 web/core/modules/workflows/tests/src/Kernel/WorkflowDependenciesTest.php create mode 100644 web/core/modules/workflows/tests/src/Unit/StateTest.php create mode 100644 web/core/modules/workflows/tests/src/Unit/TransitionTest.php create mode 100644 web/core/modules/workflows/tests/src/Unit/WorkflowTest.php create mode 100644 web/core/modules/workflows/workflows.info.yml create mode 100644 web/core/modules/workflows/workflows.links.action.yml create mode 100644 web/core/modules/workflows/workflows.links.menu.yml create mode 100644 web/core/modules/workflows/workflows.module create mode 100644 web/core/modules/workflows/workflows.permissions.yml create mode 100644 web/core/modules/workflows/workflows.routing.yml create mode 100644 web/core/modules/workflows/workflows.services.yml create mode 100644 web/core/package.json create mode 100644 web/core/scripts/js/.eslintrc.json create mode 100644 web/core/scripts/js/babel-es6-build.js create mode 100644 web/core/scripts/js/babel-es6-watch.js create mode 100644 web/core/scripts/js/rename-js-files-to-es6.sh create mode 100644 web/core/tests/Drupal/FunctionalTests/Datetime/TimestampTest.php create mode 100644 web/core/tests/Drupal/FunctionalTests/GetTestMethodCallerExtendsTest.php create mode 100644 web/core/tests/Drupal/FunctionalTests/GetTestMethodCallerTest.php create mode 100644 web/core/tests/Drupal/FunctionalTests/Routing/CaseInsensitivePathTest.php create mode 100644 web/core/tests/Drupal/FunctionalTests/Routing/PathEncodedTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityHasChangesTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Entity/EntityDisplayFormBaseTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Entity/EntityDuplicateTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Entity/EntityLoadedRevisionTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Extension/ModuleConfigureRouteTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Http/LinkRelationsTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Installer/InstallerRedirectTraitTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Path/PathValidatorTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Path/UrlAlterTest.php create mode 100644 web/core/tests/Drupal/KernelTests/Core/Render/Element/ActionsTest.php create mode 100644 web/core/tests/Drupal/KernelTests/FileSystemModuleDiscoveryDataProviderTrait.php create mode 100644 web/core/tests/Drupal/Tests/Component/Annotation/Plugin/Discovery/AnnotationBridgeDecoratorTest.php create mode 100644 web/core/tests/Drupal/Tests/Component/Datetime/TimeTest.php create mode 100644 web/core/tests/Drupal/Tests/Component/Utility/CryptRandomFallbackTest.php create mode 100644 web/core/tests/Drupal/Tests/Core/Access/AccessResultNeutralTest.php create mode 100644 web/core/tests/Drupal/Tests/Core/Asset/css_test_files/quotes.css create mode 100644 web/core/tests/Drupal/Tests/Core/Asset/css_test_files/quotes.css.optimized.css create mode 100644 web/core/tests/Drupal/Tests/Core/Cache/Context/IsFrontPathCacheContextTest.php create mode 100644 web/core/tests/Drupal/Tests/Core/EventSubscriber/ExceptionJsonSubscriberTest.php create mode 100644 web/core/tests/Drupal/Tests/Core/Layout/LayoutDefaultTest.php create mode 100644 web/core/tests/Drupal/Tests/Core/Layout/LayoutPluginManagerTest.php create mode 100644 web/core/tests/Drupal/Tests/Core/Plugin/PluginDependencyTraitTest.php rename web/core/{modules/system/tests/modules/accept_header_routing_test/tests/Unit => tests/Drupal/Tests/Core/Routing}/AcceptHeaderMatcherTest.php (89%) create mode 100644 web/core/tests/Drupal/Tests/Core/Session/AccountProxyTest.php create mode 100644 web/core/tests/Drupal/Tests/HiddenFieldSelector.php create mode 100644 web/core/tests/Drupal/Tests/Listeners/SimpletestUiPrinter.php create mode 100644 web/core/tests/Drupal/Tests/SchemaCheckTestTrait.php create mode 100644 web/core/tests/Drupal/Tests/Traits/Core/CronRunTrait.php create mode 100644 web/core/tests/Drupal/Tests/XdebugRequestTrait.php create mode 100644 web/core/themes/seven/css/components/system-status-counter.css create mode 100644 web/core/themes/seven/css/components/system-status-report-counters.css create mode 100644 web/core/themes/seven/css/components/system-status-report-general-info.css create mode 100644 web/core/themes/seven/images/icons/cccccc/clock.svg create mode 100644 web/core/themes/seven/images/icons/cccccc/d8-logo.svg create mode 100644 web/core/themes/seven/images/icons/cccccc/database.svg create mode 100644 web/core/themes/seven/images/icons/cccccc/php-logo.svg create mode 100644 web/core/themes/seven/images/icons/cccccc/server.svg create mode 100644 web/core/themes/seven/js/responsive-details.js create mode 100644 web/core/themes/seven/templates/image-widget.html.twig create mode 100644 web/core/themes/seven/templates/status-report-counter.html.twig create mode 100644 web/core/themes/seven/templates/status-report-general-info.html.twig create mode 100644 web/core/themes/seven/templates/status-report-grouped.html.twig create mode 100644 web/core/themes/seven/templates/status-report-page.html.twig create mode 100644 web/core/themes/stable/css/image/editors/image.css create mode 100644 web/core/themes/stable/css/image/editors/image.theme.css create mode 100644 web/core/themes/stable/css/system/components/system-status-counter.css create mode 100644 web/core/themes/stable/css/system/components/system-status-report-counters.css create mode 100644 web/core/themes/stable/css/system/components/system-status-report-general-info.css create mode 100644 web/core/themes/stable/images/image/error.svg create mode 100644 web/core/themes/stable/images/image/upload.svg create mode 100644 web/core/themes/stable/templates/admin/status-report-counter.html.twig create mode 100644 web/core/themes/stable/templates/admin/status-report-general-info.html.twig create mode 100644 web/core/themes/stable/templates/admin/status-report-grouped.html.twig create mode 100644 web/core/themes/stable/templates/admin/status-report-page.html.twig create mode 100644 web/core/themes/stable/templates/admin/views-ui-view-displays-list.html.twig create mode 100644 web/core/themes/stable/templates/admin/views-ui-views-listing-table.html.twig create mode 100644 web/sites/default/default.services.yml delete mode 100644 web/vendor/asm89/stack-cors/.gitignore delete mode 100644 web/vendor/asm89/stack-cors/.travis.yml create mode 100644 web/vendor/asm89/stack-cors/LICENSE delete mode 100644 web/vendor/asm89/stack-cors/phpunit.xml.dist mode change 100755 => 100644 web/vendor/asm89/stack-cors/src/Asm89/Stack/Cors.php mode change 100755 => 100644 web/vendor/asm89/stack-cors/src/Asm89/Stack/CorsService.php delete mode 100755 web/vendor/asm89/stack-cors/test/Asm89/Stack/CorsTest.php delete mode 100644 web/vendor/asm89/stack-cors/test/bootstrap.php create mode 100644 web/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcuCache.php create mode 100644 web/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiPutCache.php delete mode 100644 web/vendor/doctrine/collections/.gitignore delete mode 100644 web/vendor/doctrine/collections/.travis.yml create mode 100644 web/vendor/doctrine/collections/CONTRIBUTING.md delete mode 100644 web/vendor/doctrine/collections/phpunit.xml.dist delete mode 100644 web/vendor/doctrine/common/.gitignore delete mode 100644 web/vendor/doctrine/common/.gitmodules delete mode 100644 web/vendor/doctrine/common/.travis.yml delete mode 100644 web/vendor/doctrine/common/build.properties delete mode 100644 web/vendor/doctrine/common/build.xml create mode 100644 web/vendor/doctrine/common/humbug.json.dist delete mode 100644 web/vendor/doctrine/common/phpunit.xml.dist create mode 100644 web/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailValidatorInterface.php delete mode 100644 web/vendor/guzzlehttp/promises/.gitignore delete mode 100644 web/vendor/guzzlehttp/promises/.travis.yml delete mode 100644 web/vendor/guzzlehttp/promises/phpunit.xml.dist create mode 100644 web/vendor/guzzlehttp/promises/src/Coroutine.php create mode 100644 web/vendor/guzzlehttp/promises/src/TaskQueueInterface.php delete mode 100644 web/vendor/guzzlehttp/psr7/.gitignore delete mode 100644 web/vendor/guzzlehttp/psr7/.travis.yml delete mode 100644 web/vendor/guzzlehttp/psr7/Makefile delete mode 100644 web/vendor/guzzlehttp/psr7/phpunit.xml.dist create mode 100644 web/vendor/guzzlehttp/psr7/src/UriNormalizer.php create mode 100644 web/vendor/guzzlehttp/psr7/src/UriResolver.php delete mode 100644 web/vendor/paragonie/random_compat/.gitignore delete mode 100644 web/vendor/paragonie/random_compat/.scrutinizer.yml delete mode 100644 web/vendor/paragonie/random_compat/.travis.yml delete mode 100644 web/vendor/paragonie/random_compat/ERRATA.md delete mode 100644 web/vendor/paragonie/random_compat/README.md delete mode 100644 web/vendor/paragonie/random_compat/SECURITY.md create mode 100755 web/vendor/paragonie/random_compat/build-phar.sh create mode 100644 web/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey create mode 100644 web/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc create mode 100644 web/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php delete mode 100644 web/vendor/paragonie/random_compat/lib/random_bytes_openssl.php create mode 100644 web/vendor/paragonie/random_compat/other/build_phar.php delete mode 100755 web/vendor/paragonie/random_compat/phpunit.sh delete mode 100644 web/vendor/paragonie/random_compat/phpunit.xml.dist create mode 100644 web/vendor/paragonie/random_compat/psalm-autoload.php create mode 100644 web/vendor/paragonie/random_compat/psalm.xml create mode 100644 web/vendor/psr/http-message/CHANGELOG.md create mode 100644 web/vendor/symfony/psr-http-message-bridge/CHANGELOG delete mode 100644 web/vendor/symfony/psr-http-message-bridge/CHANGELOG.md create mode 100644 web/vendor/twig/twig/.php_cs.dist create mode 100644 web/vendor/twig/twig/lib/Twig/ContainerRuntimeLoader.php create mode 100644 web/vendor/twig/twig/lib/Twig/FactoryRuntimeLoader.php create mode 100644 web/vendor/twig/twig/lib/Twig/Node/With.php create mode 100644 web/vendor/twig/twig/lib/Twig/NodeCaptureInterface.php create mode 100644 web/vendor/twig/twig/lib/Twig/RuntimeLoaderInterface.php create mode 100644 web/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedMethodError.php create mode 100644 web/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedPropertyError.php create mode 100644 web/vendor/twig/twig/lib/Twig/Source.php create mode 100644 web/vendor/twig/twig/lib/Twig/SourceContextLoaderInterface.php create mode 100644 web/vendor/twig/twig/lib/Twig/TemplateWrapper.php create mode 100644 web/vendor/twig/twig/lib/Twig/TokenParser/With.php create mode 100644 web/vendor/zendframework/zend-diactoros/CONDUCT.md create mode 100644 web/vendor/zendframework/zend-diactoros/composer.lock create mode 100644 web/vendor/zendframework/zend-diactoros/mkdocs.yml create mode 100644 web/vendor/zendframework/zend-diactoros/src/CallbackStream.php create mode 100644 web/vendor/zendframework/zend-diactoros/src/Request/ArraySerializer.php create mode 100644 web/vendor/zendframework/zend-diactoros/src/Response/ArraySerializer.php create mode 100644 web/vendor/zendframework/zend-diactoros/src/Response/SapiEmitterTrait.php create mode 100644 web/vendor/zendframework/zend-diactoros/src/Response/SapiStreamEmitter.php create mode 100644 web/vendor/zendframework/zend-diactoros/src/Response/TextResponse.php create mode 100644 web/vendor/zendframework/zend-escaper/CHANGELOG.md create mode 100644 web/vendor/zendframework/zend-escaper/CONDUCT.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/configuration.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/escaping-css.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/escaping-html-attributes.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/escaping-html.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/escaping-javascript.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/escaping-url.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/index.html create mode 120000 web/vendor/zendframework/zend-escaper/doc/book/index.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/intro.md create mode 100644 web/vendor/zendframework/zend-escaper/doc/book/theory-of-operation.md create mode 100644 web/vendor/zendframework/zend-escaper/mkdocs.yml create mode 100644 web/vendor/zendframework/zend-feed/CONDUCT.md create mode 100644 web/vendor/zendframework/zend-feed/composer.lock create mode 100644 web/vendor/zendframework/zend-feed/doc/book/consuming-atom-entry.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/consuming-atom.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/consuming-rss.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/find-feeds.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/http-clients.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/importing.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/index.html create mode 120000 web/vendor/zendframework/zend-feed/doc/book/index.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/intro.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/psr7-clients.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/pubsubhubbub.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/reader.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/security.md create mode 100644 web/vendor/zendframework/zend-feed/doc/book/writer.md create mode 100644 web/vendor/zendframework/zend-feed/mkdocs.yml create mode 100644 web/vendor/zendframework/zend-feed/phpcs.xml rename web/vendor/zendframework/{zend-hydrator/src/Exception/DomainException.php => zend-feed/src/Reader/Exception/InvalidHttpClientException.php} (64%) create mode 100644 web/vendor/zendframework/zend-feed/src/Reader/Http/HeaderAwareClientInterface.php create mode 100644 web/vendor/zendframework/zend-feed/src/Reader/Http/HeaderAwareResponseInterface.php create mode 100644 web/vendor/zendframework/zend-feed/src/Reader/Http/Psr7ResponseDecorator.php create mode 100644 web/vendor/zendframework/zend-feed/src/Reader/Http/Response.php create mode 100644 web/vendor/zendframework/zend-feed/src/Reader/Http/ZendHttpClientDecorator.php create mode 100644 web/vendor/zendframework/zend-feed/src/Writer/StandaloneExtensionManager.php delete mode 100644 web/vendor/zendframework/zend-hydrator/CHANGELOG.md delete mode 100644 web/vendor/zendframework/zend-hydrator/CONTRIBUTING.md delete mode 100644 web/vendor/zendframework/zend-hydrator/LICENSE.md delete mode 100644 web/vendor/zendframework/zend-hydrator/README.md delete mode 100644 web/vendor/zendframework/zend-hydrator/composer.json delete mode 100644 web/vendor/zendframework/zend-hydrator/phpcs.xml delete mode 100644 web/vendor/zendframework/zend-hydrator/src/AbstractHydrator.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/ArraySerializable.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/ClassMethods.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/DelegatingHydrator.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/DelegatingHydratorFactory.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Exception/BadMethodCallException.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Exception/ExceptionInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Exception/ExtensionNotLoadedException.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Exception/InvalidArgumentException.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Exception/InvalidCallbackException.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Exception/LogicException.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Exception/RuntimeException.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/ExtractionInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/FilterComposite.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/FilterInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/FilterProviderInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/GetFilter.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/HasFilter.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/IsFilter.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/MethodMatchFilter.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/FilterEnabledInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/HydrationInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/HydratorAwareInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/HydratorAwareTrait.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/HydratorInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/HydratorOptionsInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/HydratorPluginManager.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Iterator/HydratingArrayIterator.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Iterator/HydratingIteratorInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Iterator/HydratingIteratorIterator.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/NamingStrategy/ArrayMapNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/NamingStrategy/CompositeNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/NamingStrategy/IdentityNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/NamingStrategy/MapNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/NamingStrategy/NamingStrategyInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/NamingStrategy/UnderscoreNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/NamingStrategyEnabledInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/ObjectProperty.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Reflection.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/BooleanStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/ClosureStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/DateTimeFormatterStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/DefaultStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/Exception/ExceptionInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/Exception/InvalidArgumentException.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/ExplodeStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/SerializableStrategy.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/StrategyChain.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/Strategy/StrategyInterface.php delete mode 100644 web/vendor/zendframework/zend-hydrator/src/StrategyEnabledInterface.php create mode 100644 web/vendor/zendframework/zend-stdlib/CONDUCT.md create mode 100644 web/vendor/zendframework/zend-stdlib/doc/book/console-helper.md create mode 100644 web/vendor/zendframework/zend-stdlib/doc/book/index.html create mode 120000 web/vendor/zendframework/zend-stdlib/doc/book/index.md create mode 100644 web/vendor/zendframework/zend-stdlib/doc/book/migration.md create mode 100644 web/vendor/zendframework/zend-stdlib/doc/bookdown.json create mode 100644 web/vendor/zendframework/zend-stdlib/mkdocs.yml rename web/vendor/zendframework/{zend-diactoros => zend-stdlib}/phpcs.xml (72%) delete mode 100644 web/vendor/zendframework/zend-stdlib/src/CallbackHandler.php create mode 100644 web/vendor/zendframework/zend-stdlib/src/ConsoleHelper.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/DateTime.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Exception/InvalidCallbackException.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Guard/GuardUtils.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php delete mode 100644 web/vendor/zendframework/zend-stdlib/src/compatibility/autoload.php diff --git a/config/block.block.dcb2017_account_menu.yml b/config/block.block.dcb2017_account_menu.yml index e5e57605b..54a74ee3e 100644 --- a/config/block.block.dcb2017_account_menu.yml +++ b/config/block.block.dcb2017_account_menu.yml @@ -12,7 +12,7 @@ _core: default_config_hash: DweBpscQZdG0-fHkSpUzdYucrNH45G_KF7Z82V-oyQM id: dcb2017_account_menu theme: dcb2017 -region: '-1' +region: header weight: -1 provider: null plugin: 'system_menu_block:account' diff --git a/config/block.block.dcb2017_breadcrumbs.yml b/config/block.block.dcb2017_breadcrumbs.yml index d9f5c53b2..e3bbe11e2 100644 --- a/config/block.block.dcb2017_breadcrumbs.yml +++ b/config/block.block.dcb2017_breadcrumbs.yml @@ -10,7 +10,7 @@ _core: default_config_hash: oXUb3JZR2WW5VOdw4HrhRicCsq51mCgLfRyvheG68ck id: dcb2017_breadcrumbs theme: dcb2017 -region: '-1' +region: header weight: -6 provider: null plugin: system_breadcrumb_block diff --git a/config/block.block.dcb2017_help.yml b/config/block.block.dcb2017_help.yml index b24bccf73..73678d1a8 100644 --- a/config/block.block.dcb2017_help.yml +++ b/config/block.block.dcb2017_help.yml @@ -10,7 +10,7 @@ _core: default_config_hash: 8I8iACSa0sKO3k3jlvUG1ge52rfcKX7USJAQYnzuBgg id: dcb2017_help theme: dcb2017 -region: '-1' +region: header weight: -5 provider: null plugin: help_block diff --git a/config/block.block.dcb2017_local_actions.yml b/config/block.block.dcb2017_local_actions.yml index 74f70fb0d..fac09a3c0 100644 --- a/config/block.block.dcb2017_local_actions.yml +++ b/config/block.block.dcb2017_local_actions.yml @@ -8,7 +8,7 @@ _core: default_config_hash: 13GQpeITIJsp1kyPniXtWZfyFH87vb1xxJCHifL4UeE id: dcb2017_local_actions theme: dcb2017 -region: '-1' +region: header weight: -4 provider: null plugin: local_actions_block diff --git a/config/block.block.dcb2017_powered.yml b/config/block.block.dcb2017_powered.yml index 5857a3431..faab89f53 100644 --- a/config/block.block.dcb2017_powered.yml +++ b/config/block.block.dcb2017_powered.yml @@ -10,7 +10,7 @@ _core: default_config_hash: jQQUUWN2Uxr5qZtc9zcJKBCxpKY8orN1u2HPqYYRQDI id: dcb2017_powered theme: dcb2017 -region: '-1' +region: header weight: -7 provider: null plugin: system_powered_by_block diff --git a/config/block.block.dcb2017_search.yml b/config/block.block.dcb2017_search.yml index e4127adff..24467f42a 100644 --- a/config/block.block.dcb2017_search.yml +++ b/config/block.block.dcb2017_search.yml @@ -10,7 +10,7 @@ _core: default_config_hash: za-39d5WDUg6XvbyqSnuVYEeq6QM4qKJxW8MnoAha5A id: dcb2017_search theme: dcb2017 -region: '-1' +region: header weight: -3 provider: null plugin: search_form_block diff --git a/config/block.block.dcb2017_tools.yml b/config/block.block.dcb2017_tools.yml index 03ce478ed..de115feb1 100644 --- a/config/block.block.dcb2017_tools.yml +++ b/config/block.block.dcb2017_tools.yml @@ -12,7 +12,7 @@ _core: default_config_hash: NeHSoqm4XFqA7_0bDmR429ZZQt3LRbZMNRJTMsFyOfI id: dcb2017_tools theme: dcb2017 -region: '-1' +region: header weight: -2 provider: null plugin: 'system_menu_block:tools' diff --git a/config/core.entity_form_display.block_content.basic.default.yml b/config/core.entity_form_display.block_content.basic.default.yml index 237fb09d6..badceabdc 100644 --- a/config/core.entity_form_display.block_content.basic.default.yml +++ b/config/core.entity_form_display.block_content.basic.default.yml @@ -22,6 +22,7 @@ content: summary_rows: 3 placeholder: '' third_party_settings: { } + region: content info: type: string_textfield weight: -5 @@ -29,4 +30,5 @@ content: size: 60 placeholder: '' third_party_settings: { } + region: content hidden: { } diff --git a/config/core.entity_form_display.comment.comment.default.yml b/config/core.entity_form_display.comment.comment.default.yml index 2013a9703..4b2f5df4a 100644 --- a/config/core.entity_form_display.comment.comment.default.yml +++ b/config/core.entity_form_display.comment.comment.default.yml @@ -16,6 +16,7 @@ mode: default content: author: weight: -2 + region: content comment_body: type: text_textarea weight: 11 @@ -23,6 +24,7 @@ content: rows: 5 placeholder: '' third_party_settings: { } + region: content subject: type: string_textfield weight: 10 @@ -30,4 +32,5 @@ content: size: 60 placeholder: '' third_party_settings: { } + region: content hidden: { } diff --git a/config/core.entity_form_display.node.article.default.yml b/config/core.entity_form_display.node.article.default.yml index e18d0d1c2..186ea1276 100644 --- a/config/core.entity_form_display.node.article.default.yml +++ b/config/core.entity_form_display.node.article.default.yml @@ -29,16 +29,19 @@ content: summary_rows: 3 placeholder: '' third_party_settings: { } + region: content comment: type: comment_default weight: 20 settings: { } third_party_settings: { } + region: content created: type: datetime_timestamp weight: 10 settings: { } third_party_settings: { } + region: content field_image: type: image_image weight: 4 @@ -46,28 +49,33 @@ content: progress_indicator: throbber preview_image_style: thumbnail third_party_settings: { } + region: content field_tags: type: entity_reference_autocomplete_tags weight: 3 settings: { } third_party_settings: { } + region: content path: type: path weight: 30 settings: { } third_party_settings: { } + region: content promote: type: boolean_checkbox settings: display_label: true weight: 15 third_party_settings: { } + region: content sticky: type: boolean_checkbox settings: display_label: true weight: 16 third_party_settings: { } + region: content title: type: string_textfield weight: 0 @@ -75,6 +83,7 @@ content: size: 60 placeholder: '' third_party_settings: { } + region: content uid: type: entity_reference_autocomplete weight: 5 @@ -83,4 +92,5 @@ content: size: 60 placeholder: '' third_party_settings: { } + region: content hidden: { } diff --git a/config/core.entity_form_display.node.page.default.yml b/config/core.entity_form_display.node.page.default.yml index 2a3b3106c..20415d605 100644 --- a/config/core.entity_form_display.node.page.default.yml +++ b/config/core.entity_form_display.node.page.default.yml @@ -25,34 +25,40 @@ content: summary_rows: 3 placeholder: '' third_party_settings: { } + region: content created: type: datetime_timestamp weight: 10 settings: { } third_party_settings: { } + region: content field_file: weight: 32 settings: progress_indicator: throbber third_party_settings: { } type: file_generic + region: content path: type: path weight: 30 settings: { } third_party_settings: { } + region: content promote: type: boolean_checkbox settings: display_label: true weight: 15 third_party_settings: { } + region: content sticky: type: boolean_checkbox settings: display_label: true weight: 16 third_party_settings: { } + region: content title: type: string_textfield weight: -5 @@ -60,6 +66,7 @@ content: size: 60 placeholder: '' third_party_settings: { } + region: content uid: type: entity_reference_autocomplete weight: 5 @@ -68,4 +75,5 @@ content: size: 60 placeholder: '' third_party_settings: { } + region: content hidden: { } diff --git a/config/core.entity_form_display.node.sponsor.default.yml b/config/core.entity_form_display.node.sponsor.default.yml index 590a83a0a..982a4c1db 100644 --- a/config/core.entity_form_display.node.sponsor.default.yml +++ b/config/core.entity_form_display.node.sponsor.default.yml @@ -25,11 +25,13 @@ content: summary_rows: 3 placeholder: '' third_party_settings: { } + region: content created: type: datetime_timestamp weight: 10 settings: { } third_party_settings: { } + region: content field_logo: weight: 32 settings: @@ -37,28 +39,33 @@ content: preview_image_style: thumbnail third_party_settings: { } type: image_image + region: content field_sponsor_level: weight: 33 settings: { } third_party_settings: { } type: options_select + region: content path: type: path weight: 30 settings: { } third_party_settings: { } + region: content promote: type: boolean_checkbox settings: display_label: true weight: 15 third_party_settings: { } + region: content sticky: type: boolean_checkbox settings: display_label: true weight: 16 third_party_settings: { } + region: content title: type: string_textfield weight: -5 @@ -66,6 +73,7 @@ content: size: 60 placeholder: '' third_party_settings: { } + region: content uid: type: entity_reference_autocomplete weight: 5 @@ -74,4 +82,5 @@ content: size: 60 placeholder: '' third_party_settings: { } + region: content hidden: { } diff --git a/config/core.entity_form_display.user.user.default.yml b/config/core.entity_form_display.user.user.default.yml index e5fe601b3..369b8a4ee 100644 --- a/config/core.entity_form_display.user.user.default.yml +++ b/config/core.entity_form_display.user.user.default.yml @@ -17,12 +17,16 @@ mode: default content: account: weight: -10 + region: content contact: weight: 5 + region: content language: weight: 0 + region: content timezone: weight: 6 + region: content user_picture: type: image_image settings: @@ -30,4 +34,5 @@ content: preview_image_style: thumbnail third_party_settings: { } weight: -1 + region: content hidden: { } diff --git a/config/core.entity_view_display.block_content.basic.default.yml b/config/core.entity_view_display.block_content.basic.default.yml index 9895f399b..7ad2fff5c 100644 --- a/config/core.entity_view_display.block_content.basic.default.yml +++ b/config/core.entity_view_display.block_content.basic.default.yml @@ -20,4 +20,5 @@ content: weight: 0 settings: { } third_party_settings: { } + region: content hidden: { } diff --git a/config/core.entity_view_display.comment.comment.default.yml b/config/core.entity_view_display.comment.comment.default.yml index 0f1c06808..0dbd3d198 100644 --- a/config/core.entity_view_display.comment.comment.default.yml +++ b/config/core.entity_view_display.comment.comment.default.yml @@ -20,6 +20,8 @@ content: weight: 0 settings: { } third_party_settings: { } + region: content links: weight: 100 + region: content hidden: { } diff --git a/config/core.entity_view_display.node.article.default.yml b/config/core.entity_view_display.node.article.default.yml index c8c8d4d25..9e2574b23 100644 --- a/config/core.entity_view_display.node.article.default.yml +++ b/config/core.entity_view_display.node.article.default.yml @@ -28,6 +28,7 @@ content: settings: { } third_party_settings: { } label: hidden + region: content comment: type: comment_default weight: 110 @@ -36,6 +37,7 @@ content: view_mode: default pager_id: 0 third_party_settings: { } + region: content field_image: type: image weight: -1 @@ -44,6 +46,7 @@ content: image_link: '' third_party_settings: { } label: hidden + region: content field_tags: type: entity_reference_label weight: 10 @@ -51,8 +54,10 @@ content: settings: link: true third_party_settings: { } + region: content links: weight: 100 + region: content hidden: field_image: true field_tags: true diff --git a/config/core.entity_view_display.node.article.rss.yml b/config/core.entity_view_display.node.article.rss.yml index f6d165215..b264f4aaf 100644 --- a/config/core.entity_view_display.node.article.rss.yml +++ b/config/core.entity_view_display.node.article.rss.yml @@ -20,6 +20,7 @@ mode: rss content: links: weight: 100 + region: content hidden: body: true comment: true diff --git a/config/core.entity_view_display.node.article.teaser.yml b/config/core.entity_view_display.node.article.teaser.yml index e156e3acd..833d26e63 100644 --- a/config/core.entity_view_display.node.article.teaser.yml +++ b/config/core.entity_view_display.node.article.teaser.yml @@ -28,6 +28,7 @@ content: trim_length: 600 third_party_settings: { } label: hidden + region: content field_image: type: image weight: -1 @@ -36,6 +37,7 @@ content: image_link: content third_party_settings: { } label: hidden + region: content field_tags: type: entity_reference_label weight: 10 @@ -43,8 +45,10 @@ content: link: true third_party_settings: { } label: above + region: content links: weight: 100 + region: content hidden: comment: true field_image: true diff --git a/config/core.entity_view_display.node.page.default.yml b/config/core.entity_view_display.node.page.default.yml index 6ed900c9b..894c74117 100644 --- a/config/core.entity_view_display.node.page.default.yml +++ b/config/core.entity_view_display.node.page.default.yml @@ -23,14 +23,17 @@ content: weight: 100 settings: { } third_party_settings: { } + region: content field_file: weight: 102 label: inline settings: { } third_party_settings: { } type: file_default + region: content links: weight: 101 settings: { } third_party_settings: { } + region: content hidden: { } diff --git a/config/core.entity_view_display.node.page.teaser.yml b/config/core.entity_view_display.node.page.teaser.yml index 712014dd7..ecd0a7ec1 100644 --- a/config/core.entity_view_display.node.page.teaser.yml +++ b/config/core.entity_view_display.node.page.teaser.yml @@ -5,6 +5,7 @@ dependencies: config: - core.entity_view_mode.node.teaser - field.field.node.page.body + - field.field.node.page.field_file - node.type.page module: - text @@ -23,6 +24,9 @@ content: settings: trim_length: 600 third_party_settings: { } + region: content links: weight: 101 -hidden: { } + region: content +hidden: + field_file: true diff --git a/config/core.entity_view_display.node.sponsor.default.yml b/config/core.entity_view_display.node.sponsor.default.yml index 8fdadfd85..ce90a5ac7 100644 --- a/config/core.entity_view_display.node.sponsor.default.yml +++ b/config/core.entity_view_display.node.sponsor.default.yml @@ -23,6 +23,7 @@ content: weight: 101 settings: { } third_party_settings: { } + region: content field_logo: weight: 102 label: above @@ -31,12 +32,15 @@ content: image_link: '' third_party_settings: { } type: image + region: content field_sponsor_level: weight: 103 label: above settings: { } third_party_settings: { } type: list_default + region: content links: weight: 100 + region: content hidden: { } diff --git a/config/core.entity_view_display.node.sponsor.teaser.yml b/config/core.entity_view_display.node.sponsor.teaser.yml index 63635c718..8ce083571 100644 --- a/config/core.entity_view_display.node.sponsor.teaser.yml +++ b/config/core.entity_view_display.node.sponsor.teaser.yml @@ -5,6 +5,8 @@ dependencies: config: - core.entity_view_mode.node.teaser - field.field.node.sponsor.body + - field.field.node.sponsor.field_logo + - field.field.node.sponsor.field_sponsor_level - node.type.sponsor module: - text @@ -21,6 +23,10 @@ content: settings: trim_length: 600 third_party_settings: { } + region: content links: weight: 100 -hidden: { } + region: content +hidden: + field_logo: true + field_sponsor_level: true diff --git a/config/core.entity_view_display.user.user.compact.yml b/config/core.entity_view_display.user.user.compact.yml index e17a67138..90746890c 100644 --- a/config/core.entity_view_display.user.user.compact.yml +++ b/config/core.entity_view_display.user.user.compact.yml @@ -24,5 +24,6 @@ content: image_link: content third_party_settings: { } label: hidden + region: content hidden: member_for: true diff --git a/config/core.entity_view_display.user.user.default.yml b/config/core.entity_view_display.user.user.default.yml index 2d56f7a8f..91493d57c 100644 --- a/config/core.entity_view_display.user.user.default.yml +++ b/config/core.entity_view_display.user.user.default.yml @@ -17,6 +17,7 @@ mode: default content: member_for: weight: 5 + region: content user_picture: type: image weight: 0 @@ -25,4 +26,5 @@ content: image_link: content third_party_settings: { } label: hidden + region: content hidden: { } diff --git a/config/core.extension.yml b/config/core.extension.yml index 2426f0e38..6dd4d4ee8 100644 --- a/config/core.extension.yml +++ b/config/core.extension.yml @@ -52,3 +52,4 @@ theme: dcb2017: 0 _core: default_config_hash: m2GVq11UAOVuNgj8x0t5fMOPujpvQQ_zxLoaly1BMEU +profile: standard diff --git a/config/system.cron.yml b/config/system.cron.yml index a44f232fa..904a96fb6 100644 --- a/config/system.cron.yml +++ b/config/system.cron.yml @@ -3,3 +3,4 @@ threshold: requirements_error: 1209600 _core: default_config_hash: 05U0n1_8zHYzxEFSWjyHCWuJyhdez2a6Z_aTIXin04E +logging: 1 diff --git a/config/user.role.anonymous.yml b/config/user.role.anonymous.yml index 7c9c5cc86..13a491ca5 100644 --- a/config/user.role.anonymous.yml +++ b/config/user.role.anonymous.yml @@ -9,8 +9,8 @@ label: 'Anonymous user' weight: 0 is_admin: false permissions: - - 'access content' - - 'use text format restricted_html' - 'access comments' + - 'access content' - 'access site-wide contact form' - 'search content' + - 'use text format restricted_html' diff --git a/config/user.role.authenticated.yml b/config/user.role.authenticated.yml index 70aec3b70..23cd8fcf0 100644 --- a/config/user.role.authenticated.yml +++ b/config/user.role.authenticated.yml @@ -9,11 +9,11 @@ label: 'Authenticated user' weight: 1 is_admin: false permissions: - - 'access content' - - 'use text format basic_html' - 'access comments' - - 'post comments' - - 'skip comment approval' - - 'access site-wide contact form' + - 'access content' - 'access shortcuts' + - 'access site-wide contact form' + - 'post comments' - 'search content' + - 'skip comment approval' + - 'use text format basic_html' diff --git a/web/.csslintrc b/web/.csslintrc index 1133ef2a9..177e4fcc7 100644 --- a/web/.csslintrc +++ b/web/.csslintrc @@ -1,37 +1,40 @@ -{ - "important": true, - "adjoining-classes": false, - "known-properties": true, - "box-sizing": false, - "box-model": true, - "overqualified-elements": true, - "display-property-grouping": true, - "bulletproof-font-face": false, - "compatible-vendor-prefixes": false, - "regex-selectors": false, - "errors": false, - "duplicate-background-images": true, - "duplicate-properties": true, - "empty-rules": true, - "selector-max-approaching": false, - "gradients": false, - "fallback-colors": false, - "font-sizes": false, - "font-faces": false, - "floats": false, - "star-property-hack": true, - "outline-none": true, - "import": true, - "ids": true, - "underscore-property-hack": true, - "rules-count": false, - "qualified-headings": true, - "selector-max": false, - "shorthand": true, - "text-indent": true, - "unique-headings": true, - "universal-selector": false, - "unqualified-attributes": true, - "vendor-prefix": true, - "zero-units": true -} +--errors=box-model, + display-property-grouping, + duplicate-background-images, + duplicate-properties, + empty-rules, + ids, + import, + important, + known-properties, + outline-none, + overqualified-elements, + qualified-headings, + shorthand, + star-property-hack, + text-indent, + underscore-property-hack, + unique-headings, + unqualified-attributes, + vendor-prefix, + zero-units +--ignore=adjoining-classes, + box-sizing, + bulletproof-font-face, + compatible-vendor-prefixes, + errors, + fallback-colors, + floats, + font-faces, + font-sizes, + gradients, + import-ie-limit, + order-alphabetical, + regex-selectors, + rules-count, + selector-max, + selector-max-approaching, + selector-newline, + universal-selector +--exclude-list=core/assets, + vendor diff --git a/web/.eslintignore b/web/.eslintignore index 961edb753..de133ba44 100644 --- a/web/.eslintignore +++ b/web/.eslintignore @@ -6,3 +6,4 @@ libraries/**/* sites/**/libraries/**/* profiles/**/libraries/**/* **/js_test_files/**/* +**/node_modules/**/* diff --git a/web/.eslintrc.json b/web/.eslintrc.json new file mode 100644 index 000000000..d4bbc9205 --- /dev/null +++ b/web/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./core/.eslintrc.json" +} diff --git a/web/autoload.php b/web/autoload.php index 1e5ad34e3..85dc818a3 100644 --- a/web/autoload.php +++ b/web/autoload.php @@ -4,6 +4,9 @@ * @file * Includes the autoloader created by Composer. * + * This file was generated by drupal-composer/drupal-scaffold. + * https://github.com/drupal-composer/drupal-scaffold + * * @see composer.json * @see index.php * @see core/install.php diff --git a/web/composer.json b/web/composer.json index e2b64e415..9e17bfc38 100644 --- a/web/composer.json +++ b/web/composer.json @@ -6,7 +6,7 @@ "require": { "composer/installers": "^1.0.21", "wikimedia/composer-merge-plugin": "~1.3", - "drupal/core": "~8.2", + "drupal/core": "~8.3", "drupal-composer/drupal-scaffold": "dev-master" }, "replace": { @@ -22,14 +22,6 @@ "By default Drupal loads the autoloader from ./vendor/autoload.php.", "To change the autoloader you can edit ./autoload.php." ], - "merge-plugin": { - "include": [ - "core/composer.json" - ], - "recurse": false, - "replace": false, - "merge-extra": false - }, "drupal-scaffold": { "source": "http://cgit.drupalcode.org/drupal/plain/{path}?h={version}", "excludes": [ @@ -44,7 +36,6 @@ } }, "scripts": { - "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump", "post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess", "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup", "post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup" diff --git a/web/composer.lock b/web/composer.lock index feadcf901..91d15090b 100644 --- a/web/composer.lock +++ b/web/composer.lock @@ -4,31 +4,40 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "b1bad605e3192b62c91672262c3b543b", + "content-hash": "963d2c28d95078f45f3a151d07962ac0", "packages": [ { "name": "asm89/stack-cors", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/asm89/stack-cors.git", - "reference": "3ae8ef219bb4c9a6caf857421719aa07fa7776cc" + "reference": "65ccbd455370f043c2e3b93482a3813603d68731" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/asm89/stack-cors/zipball/3ae8ef219bb4c9a6caf857421719aa07fa7776cc", - "reference": "3ae8ef219bb4c9a6caf857421719aa07fa7776cc", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/65ccbd455370f043c2e3b93482a3813603d68731", + "reference": "65ccbd455370f043c2e3b93482a3813603d68731", "shasum": "" }, "require": { - "php": ">=5.3.2", - "symfony/http-foundation": "~2.1|~3.0", - "symfony/http-kernel": "~2.1|~3.0" + "php": ">=5.5.9", + "symfony/http-foundation": "~2.7|~3.0", + "symfony/http-kernel": "~2.7|~3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.0 || ^4.8.10", + "squizlabs/php_codesniffer": "^2.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, "autoload": { - "psr-0": { - "Asm89\\Stack": "src/" + "psr-4": { + "Asm89\\Stack\\": "src/Asm89/Stack/" } }, "notification-url": "https://packagist.org/downloads/", @@ -47,2939 +56,8 @@ "cors", "stack" ], - "time": "2016-08-01T12:05:04+00:00" + "time": "2017-04-11T20:03:41+00:00" }, - { - "name": "composer/installers", - "version": "v1.0.21", - "source": { - "type": "git", - "url": "https://github.com/composer/installers.git", - "reference": "d64e23fce42a4063d63262b19b8e7c0f3b5e4c45" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/installers/zipball/d64e23fce42a4063d63262b19b8e7c0f3b5e4c45", - "reference": "d64e23fce42a4063d63262b19b8e7c0f3b5e4c45", - "shasum": "" - }, - "replace": { - "roundcube/plugin-installer": "*", - "shama/baton": "*" - }, - "require-dev": { - "composer/composer": "1.0.*@dev", - "phpunit/phpunit": "4.1.*" - }, - "type": "composer-installer", - "extra": { - "class": "Composer\\Installers\\Installer", - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Composer\\Installers\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kyle Robinson Young", - "email": "kyle@dontkry.com", - "homepage": "https://github.com/shama" - } - ], - "description": "A multi-framework Composer library installer", - "homepage": "http://composer.github.com/installers/", - "keywords": [ - "Craft", - "Dolibarr", - "Hurad", - "MODX Evo", - "OXID", - "SMF", - "Thelia", - "WolfCMS", - "agl", - "aimeos", - "annotatecms", - "bitrix", - "cakephp", - "chef", - "codeigniter", - "concrete5", - "croogo", - "dokuwiki", - "drupal", - "elgg", - "fuelphp", - "grav", - "installer", - "joomla", - "kohana", - "laravel", - "lithium", - "magento", - "mako", - "mediawiki", - "modulework", - "moodle", - "phpbb", - "piwik", - "ppi", - "puppet", - "roundcube", - "shopware", - "silverstripe", - "symfony", - "typo3", - "wordpress", - "zend", - "zikula" - ], - "time": "2015-02-18T17:17:01+00:00" - }, - { - "name": "composer/semver", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "d0e1ccc6d44ab318b758d709e19176037da6b1ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/d0e1ccc6d44ab318b758d709e19176037da6b1ba", - "reference": "d0e1ccc6d44ab318b758d709e19176037da6b1ba", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "~2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.1-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com" - }, - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "time": "2015-09-21T09:42:36+00:00" - }, - { - "name": "doctrine/annotations", - "version": "v1.2.7", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535", - "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "php": ">=5.3.2" - }, - "require-dev": { - "doctrine/cache": "1.*", - "phpunit/phpunit": "4.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Annotations\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "time": "2015-08-31T12:32:49+00:00" - }, - { - "name": "doctrine/cache", - "version": "v1.4.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/8c434000f420ade76a07c64cbe08ca47e5c101ca", - "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "phpunit/phpunit": ">=3.7", - "predis/predis": "~1.0", - "satooshi/php-coveralls": "~0.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.5.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Cache\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Caching library offering an object-oriented API for many cache backends", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "cache", - "caching" - ], - "time": "2015-08-31T12:36:41+00:00" - }, - { - "name": "doctrine/collections", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/collections.git", - "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", - "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Collections\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Collections Abstraction library", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "array", - "collections", - "iterator" - ], - "time": "2015-04-14T22:21:58+00:00" - }, - { - "name": "doctrine/common", - "version": "v2.5.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/common.git", - "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/0009b8f0d4a917aabc971fb089eba80e872f83f9", - "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9", - "shasum": "" - }, - "require": { - "doctrine/annotations": "1.*", - "doctrine/cache": "1.*", - "doctrine/collections": "1.*", - "doctrine/inflector": "1.*", - "doctrine/lexer": "1.*", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~3.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Common Library for Doctrine projects", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "collections", - "eventmanager", - "persistence", - "spl" - ], - "time": "2015-08-31T13:00:22+00:00" - }, - { - "name": "doctrine/inflector", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", - "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "4.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Inflector\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "inflection", - "pluralize", - "singularize", - "string" - ], - "time": "2014-12-20T21:24:13+00:00" - }, - { - "name": "doctrine/lexer", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "lexer", - "parser" - ], - "time": "2014-09-09T13:34:57+00:00" - }, - { - "name": "drupal-composer/drupal-scaffold", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/drupal-composer/drupal-scaffold.git", - "reference": "3ad465ac853c2e52e6a808f5529859917662c256" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/drupal-composer/drupal-scaffold/zipball/3ad465ac853c2e52e6a808f5529859917662c256", - "reference": "3ad465ac853c2e52e6a808f5529859917662c256", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0.0", - "php": ">=5.4.5" - }, - "require-dev": { - "composer/composer": "dev-master", - "phpunit/phpunit": "^4.4.0" - }, - "type": "composer-plugin", - "extra": { - "class": "DrupalComposer\\DrupalScaffold\\Plugin", - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "DrupalComposer\\DrupalScaffold\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "description": "Composer Plugin for updating the Drupal scaffold files when using drupal/core", - "time": "2016-11-05 10:46:44" - }, - { - "name": "drupal/core", - "version": "8.2.7", - "source": { - "type": "git", - "url": "https://github.com/drupal-composer/drupal-core.git", - "reference": "5d3fb8a93514f23198ac6848b2679ef1026d2326" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/drupal-composer/drupal-core/zipball/5d3fb8a93514f23198ac6848b2679ef1026d2326", - "reference": "5d3fb8a93514f23198ac6848b2679ef1026d2326", - "shasum": "" - }, - "require": { - "asm89/stack-cors": "~1.0", - "composer/semver": "~1.0", - "doctrine/annotations": "1.2.*", - "doctrine/common": "2.5.*", - "easyrdf/easyrdf": "0.9.*", - "egulias/email-validator": "1.2.*", - "guzzlehttp/guzzle": "^6.2.1", - "masterminds/html5": "~2.1", - "paragonie/random_compat": "^1|^2", - "php": ">=5.5.9", - "stack/builder": "1.0.*", - "symfony-cmf/routing": "~1.4", - "symfony/class-loader": "~2.8", - "symfony/console": "~2.8", - "symfony/dependency-injection": "~2.8", - "symfony/event-dispatcher": "~2.8", - "symfony/http-foundation": "~2.8", - "symfony/http-kernel": "~2.8", - "symfony/polyfill-iconv": "~1.0", - "symfony/process": "~2.8", - "symfony/psr-http-message-bridge": "v0.2", - "symfony/routing": "~2.8", - "symfony/serializer": "~2.8", - "symfony/translation": "~2.8", - "symfony/validator": "~2.8", - "symfony/yaml": "~2.8", - "twig/twig": "^1.23.1", - "zendframework/zend-diactoros": "~1.1", - "zendframework/zend-feed": "~2.4" - }, - "replace": { - "drupal/action": "self.version", - "drupal/aggregator": "self.version", - "drupal/automated_cron": "self.version", - "drupal/ban": "self.version", - "drupal/bartik": "self.version", - "drupal/basic_auth": "self.version", - "drupal/big_pipe": "self.version", - "drupal/block": "self.version", - "drupal/block_content": "self.version", - "drupal/block_place": "self.version", - "drupal/book": "self.version", - "drupal/breakpoint": "self.version", - "drupal/ckeditor": "self.version", - "drupal/classy": "self.version", - "drupal/color": "self.version", - "drupal/comment": "self.version", - "drupal/config": "self.version", - "drupal/config_translation": "self.version", - "drupal/contact": "self.version", - "drupal/content_moderation": "self.version", - "drupal/content_translation": "self.version", - "drupal/contextual": "self.version", - "drupal/core-annotation": "self.version", - "drupal/core-assertion": "self.version", - "drupal/core-bridge": "self.version", - "drupal/core-datetime": "self.version", - "drupal/core-dependency-injection": "self.version", - "drupal/core-diff": "self.version", - "drupal/core-discovery": "self.version", - "drupal/core-event-dispatcher": "self.version", - "drupal/core-file-cache": "self.version", - "drupal/core-filesystem": "self.version", - "drupal/core-gettext": "self.version", - "drupal/core-graph": "self.version", - "drupal/core-http-foundation": "self.version", - "drupal/core-php-storage": "self.version", - "drupal/core-plugin": "self.version", - "drupal/core-proxy-builder": "self.version", - "drupal/core-render": "self.version", - "drupal/core-serialization": "self.version", - "drupal/core-transliteration": "self.version", - "drupal/core-utility": "self.version", - "drupal/core-uuid": "self.version", - "drupal/datetime": "self.version", - "drupal/datetime_range": "self.version", - "drupal/dblog": "self.version", - "drupal/dynamic_page_cache": "self.version", - "drupal/editor": "self.version", - "drupal/entity_reference": "self.version", - "drupal/field": "self.version", - "drupal/field_ui": "self.version", - "drupal/file": "self.version", - "drupal/filter": "self.version", - "drupal/forum": "self.version", - "drupal/hal": "self.version", - "drupal/help": "self.version", - "drupal/history": "self.version", - "drupal/image": "self.version", - "drupal/inline_form_errors": "self.version", - "drupal/language": "self.version", - "drupal/link": "self.version", - "drupal/locale": "self.version", - "drupal/menu_link_content": "self.version", - "drupal/menu_ui": "self.version", - "drupal/migrate": "self.version", - "drupal/migrate_drupal": "self.version", - "drupal/migrate_drupal_ui": "self.version", - "drupal/minimal": "self.version", - "drupal/node": "self.version", - "drupal/options": "self.version", - "drupal/outside_in": "self.version", - "drupal/page_cache": "self.version", - "drupal/path": "self.version", - "drupal/quickedit": "self.version", - "drupal/rdf": "self.version", - "drupal/responsive_image": "self.version", - "drupal/rest": "self.version", - "drupal/search": "self.version", - "drupal/serialization": "self.version", - "drupal/seven": "self.version", - "drupal/shortcut": "self.version", - "drupal/simpletest": "self.version", - "drupal/standard": "self.version", - "drupal/stark": "self.version", - "drupal/statistics": "self.version", - "drupal/syslog": "self.version", - "drupal/system": "self.version", - "drupal/taxonomy": "self.version", - "drupal/telephone": "self.version", - "drupal/text": "self.version", - "drupal/toolbar": "self.version", - "drupal/tour": "self.version", - "drupal/tracker": "self.version", - "drupal/update": "self.version", - "drupal/user": "self.version", - "drupal/views": "self.version", - "drupal/views_ui": "self.version" - }, - "require-dev": { - "behat/mink": "~1.7", - "behat/mink-goutte-driver": "~1.2", - "jcalderonzumba/gastonjs": "~1.0.2", - "jcalderonzumba/mink-phantomjs-driver": "~0.3.1", - "mikey179/vfsstream": "~1.2", - "phpunit/phpunit": ">=4.8.28 <5", - "symfony/css-selector": "~2.8" - }, - "type": "drupal-core", - "autoload": { - "psr-4": { - "Drupal\\Core\\": "lib/Drupal/Core", - "Drupal\\Component\\": "lib/Drupal/Component", - "Drupal\\Driver\\": "../drivers/lib/Drupal/Driver" - }, - "classmap": [ - "lib/Drupal.php", - "lib/Drupal/Component/Utility/Timer.php", - "lib/Drupal/Component/Utility/Unicode.php", - "lib/Drupal/Core/Database/Database.php", - "lib/Drupal/Core/DrupalKernel.php", - "lib/Drupal/Core/DrupalKernelInterface.php", - "lib/Drupal/Core/Site/Settings.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "description": "Drupal is an open source content management platform powering millions of websites and applications.", - "time": "2017-03-15T20:19:51+00:00" - }, - { - "name": "easyrdf/easyrdf", - "version": "0.9.1", - "source": { - "type": "git", - "url": "https://github.com/njh/easyrdf.git", - "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/njh/easyrdf/zipball/acd09dfe0555fbcfa254291e433c45fdd4652566", - "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "ext-pcre": "*", - "php": ">=5.2.8" - }, - "require-dev": { - "phpunit/phpunit": "~3.5", - "sami/sami": "~1.4", - "squizlabs/php_codesniffer": "~1.4.3" - }, - "suggest": { - "ml/json-ld": "~1.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "EasyRdf_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nicholas Humfrey", - "email": "njh@aelius.com", - "homepage": "http://www.aelius.com/njh/", - "role": "Developer" - }, - { - "name": "Alexey Zakhlestin", - "email": "indeyets@gmail.com", - "role": "Developer" - } - ], - "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.", - "homepage": "http://www.easyrdf.org/", - "keywords": [ - "Linked Data", - "RDF", - "Semantic Web", - "Turtle", - "rdfa", - "sparql" - ], - "time": "2015-02-27T09:45:49+00:00" - }, - { - "name": "egulias/email-validator", - "version": "1.2.9", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/af864423f50ea59f96c87bb1eae147a70bcf67a1", - "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1", - "shasum": "" - }, - "require": { - "doctrine/lexer": "~1.0,>=1.0.1", - "php": ">= 5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4", - "satooshi/php-coveralls": "dev-master" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Egulias\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ], - "time": "2015-06-22T21:07:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "3f808fba627f2c5b69e2501217bf31af349c1427" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/3f808fba627f2c5b69e2501217bf31af349c1427", - "reference": "3f808fba627f2c5b69e2501217bf31af349c1427", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.3.1", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2016-07-15T17:22:37+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "c10d860e2a9595f8883527fa0021c7da9e65f579" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/c10d860e2a9595f8883527fa0021c7da9e65f579", - "reference": "c10d860e2a9595f8883527fa0021c7da9e65f579", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-05-18T16:56:05+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "5c6447c9df362e8f8093bda8f5d8873fe5c7f65b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/5c6447c9df362e8f8093bda8f5d8873fe5c7f65b", - "reference": "5c6447c9df362e8f8093bda8f5d8873fe5c7f65b", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "PSR-7 message implementation", - "keywords": [ - "http", - "message", - "stream", - "uri" - ], - "time": "2016-06-24T23:00:38+00:00" - }, - { - "name": "ircmaxell/password-compat", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/ircmaxell/password_compat.git", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "4.*" - }, - "type": "library", - "autoload": { - "files": [ - "lib/password.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anthony Ferrara", - "email": "ircmaxell@php.net", - "homepage": "http://blog.ircmaxell.com" - } - ], - "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", - "homepage": "https://github.com/ircmaxell/password_compat", - "keywords": [ - "hashing", - "password" - ], - "time": "2014-11-20T16:49:30+00:00" - }, - { - "name": "masterminds/html5", - "version": "2.2.1", - "source": { - "type": "git", - "url": "https://github.com/Masterminds/html5-php.git", - "reference": "170aa5cb35b29fccafbf5ea63487c013f396fdc9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/170aa5cb35b29fccafbf5ea63487c013f396fdc9", - "reference": "170aa5cb35b29fccafbf5ea63487c013f396fdc9", - "shasum": "" - }, - "require": { - "ext-libxml": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*", - "sami/sami": "~2.0", - "satooshi/php-coveralls": "1.0.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "psr-4": { - "Masterminds\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matt Butcher", - "email": "technosophos@gmail.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - }, - { - "name": "Matt Farina", - "email": "matt@mattfarina.com" - } - ], - "description": "An HTML5 parser and serializer.", - "homepage": "http://masterminds.github.io/html5-php", - "keywords": [ - "HTML5", - "dom", - "html", - "parser", - "querypath", - "serializer", - "xml" - ], - "time": "2016-05-10T14:11:45+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "a208865a5aeffc2dbbef2a5b3409887272d93f32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/a208865a5aeffc2dbbef2a5b3409887272d93f32", - "reference": "a208865a5aeffc2dbbef2a5b3409887272d93f32", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2015-12-01T02:52:15+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", - "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2015-05-04T20:22:00+00:00" - }, - { - "name": "psr/log", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "1.0.0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/1.0.0", - "reference": "1.0.0", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-0": { - "Psr\\Log\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2012-12-21T11:40:51+00:00" - }, - { - "name": "stack/builder", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/stackphp/builder.git", - "reference": "59fcc9b448a8ce5e338a04c4e2e4aca893e83425" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/stackphp/builder/zipball/59fcc9b448a8ce5e338a04c4e2e4aca893e83425", - "reference": "59fcc9b448a8ce5e338a04c4e2e4aca893e83425", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "symfony/http-foundation": "~2.1|~3.0", - "symfony/http-kernel": "~2.1|~3.0" - }, - "require-dev": { - "silex/silex": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Stack": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "Builder for stack middlewares based on HttpKernelInterface.", - "keywords": [ - "stack" - ], - "time": "2016-06-02T06:58:42+00:00" - }, - { - "name": "symfony-cmf/routing", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony-cmf/Routing.git", - "reference": "b93704ca098334f56e9b317932f21a4362e620db" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/b93704ca098334f56e9b317932f21a4362e620db", - "reference": "b93704ca098334f56e9b317932f21a4362e620db", - "shasum": "" - }, - "require": { - "php": "^5.3.9|^7.0", - "psr/log": "1.*", - "symfony/http-kernel": "^2.2|3.*", - "symfony/routing": "^2.2|3.*" - }, - "require-dev": { - "friendsofsymfony/jsrouting-bundle": "^1.1", - "symfony-cmf/testing": "^1.3", - "symfony/config": "^2.2|3.*", - "symfony/dependency-injection": "^2.0.5|3.*", - "symfony/event-dispatcher": "^2.1|3.*" - }, - "suggest": { - "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version (~2.1)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Cmf\\Component\\Routing\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony CMF Community", - "homepage": "https://github.com/symfony-cmf/Routing/contributors" - } - ], - "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers", - "homepage": "http://cmf.symfony.com", - "keywords": [ - "database", - "routing" - ], - "time": "2016-03-31T09:11:39+00:00" - }, - { - "name": "symfony/class-loader", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/class-loader.git", - "reference": "7c46951128f7169cbece2c303fba4a9eb35cbe68" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/class-loader/zipball/7c46951128f7169cbece2c303fba4a9eb35cbe68", - "reference": "7c46951128f7169cbece2c303fba4a9eb35cbe68", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-apcu": "~1.1" - }, - "require-dev": { - "symfony/finder": "~2.0,>=2.0.5|~3.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\ClassLoader\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony ClassLoader Component", - "homepage": "https://symfony.com", - "time": "2017-01-10T14:03:07+00:00" - }, - { - "name": "symfony/console", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "2e18b8903d9c498ba02e1dfa73f64d4894bb6912" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2e18b8903d9c498ba02e1dfa73f64d4894bb6912", - "reference": "2e18b8903d9c498ba02e1dfa73f64d4894bb6912", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/debug": "~2.7,>=2.7.2|~3.0.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2017-01-08T20:43:03+00:00" - }, - { - "name": "symfony/debug", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "567681e2c4e5431704e884e4be25a95fd900770f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/567681e2c4e5431704e884e4be25a95fd900770f", - "reference": "567681e2c4e5431704e884e4be25a95fd900770f", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/class-loader": "~2.2|~3.0.0", - "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2|~3.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "time": "2017-01-02T20:30:24+00:00" - }, - { - "name": "symfony/dependency-injection", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "b75356611675364607d697f314850d9d870a84aa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/b75356611675364607d697f314850d9d870a84aa", - "reference": "b75356611675364607d697f314850d9d870a84aa", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "conflict": { - "symfony/expression-language": "<2.6" - }, - "require-dev": { - "symfony/config": "~2.2|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/yaml": "~2.3.42|~2.7.14|~2.8.7|~3.0.7" - }, - "suggest": { - "symfony/config": "", - "symfony/expression-language": "For using expressions in service container configuration", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony DependencyInjection Component", - "homepage": "https://symfony.com", - "time": "2017-01-10T14:27:01+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "74877977f90fb9c3e46378d5764217c55f32df34" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/74877977f90fb9c3e46378d5764217c55f32df34", - "reference": "74877977f90fb9c3e46378d5764217c55f32df34", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2017-01-02T20:30:24+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "464cdde6757a40701d758112cc7ff2c6adf6e82f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/464cdde6757a40701d758112cc7ff2c6adf6e82f", - "reference": "464cdde6757a40701d758112cc7ff2c6adf6e82f", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php54": "~1.0", - "symfony/polyfill-php55": "~1.0" - }, - "require-dev": { - "symfony/expression-language": "~2.4|~3.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpFoundation Component", - "homepage": "https://symfony.com", - "time": "2017-01-08T20:43:03+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "1097eb4ce0a7bdcd030f110c123682fed89a137c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1097eb4ce0a7bdcd030f110c123682fed89a137c", - "reference": "1097eb4ce0a7bdcd030f110c123682fed89a137c", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "psr/log": "~1.0", - "symfony/debug": "~2.6,>=2.6.2", - "symfony/event-dispatcher": "~2.6,>=2.6.7|~3.0.0", - "symfony/http-foundation": "~2.7.20|~2.8.13|~3.1.6" - }, - "conflict": { - "symfony/config": "<2.7" - }, - "require-dev": { - "symfony/browser-kit": "~2.3|~3.0.0", - "symfony/class-loader": "~2.1|~3.0.0", - "symfony/config": "~2.8", - "symfony/console": "~2.3|~3.0.0", - "symfony/css-selector": "~2.0,>=2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.8|~3.0.0", - "symfony/dom-crawler": "~2.0,>=2.0.5|~3.0.0", - "symfony/expression-language": "~2.4|~3.0.0", - "symfony/finder": "~2.0,>=2.0.5|~3.0.0", - "symfony/process": "~2.0,>=2.0.5|~3.0.0", - "symfony/routing": "~2.8|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0", - "symfony/templating": "~2.2|~3.0.0", - "symfony/translation": "~2.0,>=2.0.5|~3.0.0", - "symfony/var-dumper": "~2.6|~3.0.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpKernel Component", - "homepage": "https://symfony.com", - "time": "2017-01-12T20:27:24+00:00" - }, - { - "name": "symfony/polyfill-apcu", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-apcu.git", - "reference": "5d4474f447403c3348e37b70acc2b95475b7befa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/5d4474f447403c3348e37b70acc2b95475b7befa", - "reference": "5d4474f447403c3348e37b70acc2b95475b7befa", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "apcu", - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "cba36f3616d9866b3e52662e88da5c090fac1e97" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/cba36f3616d9866b3e52662e88da5c090fac1e97", - "reference": "cba36f3616d9866b3e52662e88da5c090fac1e97", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "time": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/polyfill-php54", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php54.git", - "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/90e085822963fdcc9d1c5b73deb3d2e5783b16a0", - "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php54\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/polyfill-php55", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php55.git", - "reference": "03e3f0350bca2220e3623a0e340eef194405fc67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/03e3f0350bca2220e3623a0e340eef194405fc67", - "reference": "03e3f0350bca2220e3623a0e340eef194405fc67", - "shasum": "" - }, - "require": { - "ircmaxell/password-compat": "~1.0", - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php55\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/process", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "ebb3c2abe0940a703f08e0cbe373f62d97d40231" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/ebb3c2abe0940a703f08e0cbe373f62d97d40231", - "reference": "ebb3c2abe0940a703f08e0cbe373f62d97d40231", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2017-01-02T20:30:24+00:00" - }, - { - "name": "symfony/psr-http-message-bridge", - "version": "v0.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "dc7e308e1dc2898a46776e2221a643cb08315453" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/dc7e308e1dc2898a46776e2221a643cb08315453", - "reference": "dc7e308e1dc2898a46776e2221a643cb08315453", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "psr/http-message": "~1.0", - "symfony/http-foundation": "~2.3|~3.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7|~3.0" - }, - "suggest": { - "zendframework/zend-diactoros": "To use the Zend Diactoros factory" - }, - "type": "symfony-bridge", - "autoload": { - "psr-4": { - "Symfony\\Bridge\\PsrHttpMessage\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", - "keywords": [ - "http", - "http-message", - "psr-7" - ], - "time": "2015-05-29T17:57:12+00:00" - }, - { - "name": "symfony/routing", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "2a7e3e02bbfb0a4f722e6a3154489e4ac8b3a97f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/2a7e3e02bbfb0a4f722e6a3154489e4ac8b3a97f", - "reference": "2a7e3e02bbfb0a4f722e6a3154489e4ac8b3a97f", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "conflict": { - "symfony/config": "<2.7" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.7|~3.0.0", - "symfony/expression-language": "~2.4|~3.0.0", - "symfony/http-foundation": "~2.3|~3.0.0", - "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Routing Component", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2017-01-02T20:30:24+00:00" - }, - { - "name": "symfony/serializer", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/serializer.git", - "reference": "3a5337e3daaabb9ada73d60f3271adb6bfa56a1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/3a5337e3daaabb9ada73d60f3271adb6bfa56a1a", - "reference": "3a5337e3daaabb9ada73d60f3271adb6bfa56a1a", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-php55": "~1.0" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/cache": "~1.0", - "symfony/config": "~2.2|~3.0.0", - "symfony/property-access": "~2.3|~3.0.0", - "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", - "symfony/config": "For using the XML mapping loader.", - "symfony/property-access": "For using the ObjectNormalizer.", - "symfony/yaml": "For using the default YAML mapping loader." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Serializer\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Serializer Component", - "homepage": "https://symfony.com", - "time": "2017-01-02T20:30:24+00:00" - }, - { - "name": "symfony/translation", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "b4ac4a393f6970cc157fba17be537380de396a86" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b4ac4a393f6970cc157fba17be537380de396a86", - "reference": "b4ac4a393f6970cc157fba17be537380de396a86", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/config": "<2.7" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8", - "symfony/intl": "~2.4|~3.0.0", - "symfony/yaml": "~2.2|~3.0.0" - }, - "suggest": { - "psr/log": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Translation Component", - "homepage": "https://symfony.com", - "time": "2017-01-02T20:30:24+00:00" - }, - { - "name": "symfony/validator", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/validator.git", - "reference": "3b1a3188efea75ec7c0419a2568b6e5f82031811" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/3b1a3188efea75ec7c0419a2568b6e5f82031811", - "reference": "3b1a3188efea75ec7c0419a2568b6e5f82031811", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation": "~2.4|~3.0.0" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/cache": "~1.0", - "egulias/email-validator": "~1.2,>=1.2.1", - "symfony/config": "~2.2|~3.0.0", - "symfony/expression-language": "~2.4|~3.0.0", - "symfony/http-foundation": "~2.3|~3.0.0", - "symfony/intl": "~2.7.4|~2.8|~3.0.0", - "symfony/property-access": "~2.3|~3.0.0", - "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", - "egulias/email-validator": "Strict (RFC compliant) email validation", - "symfony/config": "", - "symfony/expression-language": "For using the 2.4 Expression validator", - "symfony/http-foundation": "", - "symfony/intl": "", - "symfony/property-access": "For using the 2.4 Validator API", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Validator\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Validator Component", - "homepage": "https://symfony.com", - "time": "2017-01-12T19:24:25+00:00" - }, - { - "name": "symfony/yaml", - "version": "v2.8.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "dbe61fed9cd4a44c5b1d14e5e7b1a8640cfb2bf2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/dbe61fed9cd4a44c5b1d14e5e7b1a8640cfb2bf2", - "reference": "dbe61fed9cd4a44c5b1d14e5e7b1a8640cfb2bf2", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2017-01-03T13:49:52+00:00" - }, - { - "name": "twig/twig", - "version": "v1.24.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8", - "reference": "3e5aa30ebfbafd5951fb1b01e338e1800ce7e0e8", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.24-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org", - "keywords": [ - "templating" - ], - "time": "2016-01-25T21:22:18+00:00" - }, - { - "name": "wikimedia/composer-merge-plugin", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/wikimedia/composer-merge-plugin.git", - "reference": "0bdf8543d445ee067c9ba7d5d4a5dde70b9785f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/0bdf8543d445ee067c9ba7d5d4a5dde70b9785f4", - "reference": "0bdf8543d445ee067c9ba7d5d4a5dde70b9785f4", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0", - "php": ">=5.3.2" - }, - "require-dev": { - "composer/composer": "1.0.*@dev", - "jakub-onderka/php-parallel-lint": "~0.8", - "phpunit/phpunit": "~4.8|~5.0", - "squizlabs/php_codesniffer": "~2.1.0" - }, - "type": "composer-plugin", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - }, - "class": "Wikimedia\\Composer\\MergePlugin" - }, - "autoload": { - "psr-4": { - "Wikimedia\\Composer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bryan Davis", - "email": "bd808@wikimedia.org" - } - ], - "description": "Composer plugin to merge multiple composer.json files", - "time": "2016-03-08T17:11:37+00:00" - }, - { - "name": "zendframework/zend-diactoros", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-diactoros.git", - "reference": "e2f5c12916c74da384058d0dfbc7fbc0b03d1181" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/e2f5c12916c74da384058d0dfbc7fbc0b03d1181", - "reference": "e2f5c12916c74da384058d0dfbc7fbc0b03d1181", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "~1.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.6", - "squizlabs/php_codesniffer": "^2.3.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Diactoros\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "description": "PSR HTTP Message implementations", - "homepage": "https://github.com/zendframework/zend-diactoros", - "keywords": [ - "http", - "psr", - "psr-7" - ], - "time": "2015-08-10T20:04:20+00:00" - }, - { - "name": "zendframework/zend-escaper", - "version": "2.5.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-escaper.git", - "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73", - "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73", - "shasum": "" - }, - "require": { - "php": ">=5.3.23" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Escaper\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "homepage": "https://github.com/zendframework/zend-escaper", - "keywords": [ - "escaper", - "zf2" - ], - "time": "2015-06-03T14:05:37+00:00" - }, - { - "name": "zendframework/zend-feed", - "version": "2.5.2", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-feed.git", - "reference": "0661345b82b51428619e05d3aadd3de65b57fa54" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0661345b82b51428619e05d3aadd3de65b57fa54", - "reference": "0661345b82b51428619e05d3aadd3de65b57fa54", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "zendframework/zend-escaper": "~2.5", - "zendframework/zend-stdlib": "~2.5" - }, - "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-cache": "~2.5", - "zendframework/zend-db": "~2.5", - "zendframework/zend-http": "~2.5", - "zendframework/zend-servicemanager": "~2.5", - "zendframework/zend-validator": "~2.5" - }, - "suggest": { - "zendframework/zend-cache": "Zend\\Cache component", - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations", - "zendframework/zend-validator": "Zend\\Validator component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Feed\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "provides functionality for consuming RSS and Atom feeds", - "homepage": "https://github.com/zendframework/zend-feed", - "keywords": [ - "feed", - "zf2" - ], - "time": "2015-08-04T21:39:18+00:00" - }, - { - "name": "zendframework/zend-hydrator", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-hydrator.git", - "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/f3ed8b833355140350bbed98d8a7b8b66875903f", - "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "zendframework/zend-stdlib": "^2.5.1" - }, - "require-dev": { - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "^2.0@dev", - "zendframework/zend-eventmanager": "^2.5.1", - "zendframework/zend-filter": "^2.5.1", - "zendframework/zend-inputfilter": "^2.5.1", - "zendframework/zend-serializer": "^2.5.1", - "zendframework/zend-servicemanager": "^2.5.1" - }, - "suggest": { - "zendframework/zend-eventmanager": "^2.5.1, to support aggregate hydrator usage", - "zendframework/zend-filter": "^2.5.1, to support naming strategy hydrator usage", - "zendframework/zend-serializer": "^2.5.1, to use the SerializableStrategy", - "zendframework/zend-servicemanager": "^2.5.1, to support hydrator plugin manager usage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Hydrator\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "homepage": "https://github.com/zendframework/zend-hydrator", - "keywords": [ - "hydrator", - "zf2" - ], - "time": "2015-09-17T14:06:43+00:00" - }, - { - "name": "zendframework/zend-stdlib", - "version": "2.7.3", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "8ac0c77ff567fcf49b58689ee3bfa7595be102bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/8ac0c77ff567fcf49b58689ee3bfa7595be102bc", - "reference": "8ac0c77ff567fcf49b58689ee3bfa7595be102bc", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "zendframework/zend-hydrator": "~1.0" - }, - "require-dev": { - "athletic/athletic": "~0.1", - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-config": "~2.5", - "zendframework/zend-eventmanager": "~2.5", - "zendframework/zend-filter": "~2.5", - "zendframework/zend-inputfilter": "~2.5", - "zendframework/zend-serializer": "~2.5", - "zendframework/zend-servicemanager": "~2.5" - }, - "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-filter": "To support naming strategy hydrator usage", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev", - "dev-develop": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Stdlib\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "homepage": "https://github.com/zendframework/zend-stdlib", - "keywords": [ - "stdlib", - "zf2" - ], - "time": "2015-09-25T04:06:33+00:00" - } - ], - "packages-dev": [ { "name": "behat/mink", "version": "v1.7.1", @@ -3149,6 +227,508 @@ ], "time": "2016-03-05T09:04:22+00:00" }, + { + "name": "composer/installers", + "version": "v1.0.21", + "source": { + "type": "git", + "url": "https://github.com/composer/installers.git", + "reference": "d64e23fce42a4063d63262b19b8e7c0f3b5e4c45" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/installers/zipball/d64e23fce42a4063d63262b19b8e7c0f3b5e4c45", + "reference": "d64e23fce42a4063d63262b19b8e7c0f3b5e4c45", + "shasum": "" + }, + "replace": { + "roundcube/plugin-installer": "*", + "shama/baton": "*" + }, + "require-dev": { + "composer/composer": "1.0.*@dev", + "phpunit/phpunit": "4.1.*" + }, + "type": "composer-installer", + "extra": { + "class": "Composer\\Installers\\Installer", + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Composer\\Installers\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle Robinson Young", + "email": "kyle@dontkry.com", + "homepage": "https://github.com/shama" + } + ], + "description": "A multi-framework Composer library installer", + "homepage": "http://composer.github.com/installers/", + "keywords": [ + "Craft", + "Dolibarr", + "Hurad", + "MODX Evo", + "OXID", + "SMF", + "Thelia", + "WolfCMS", + "agl", + "aimeos", + "annotatecms", + "bitrix", + "cakephp", + "chef", + "codeigniter", + "concrete5", + "croogo", + "dokuwiki", + "drupal", + "elgg", + "fuelphp", + "grav", + "installer", + "joomla", + "kohana", + "laravel", + "lithium", + "magento", + "mako", + "mediawiki", + "modulework", + "moodle", + "phpbb", + "piwik", + "ppi", + "puppet", + "roundcube", + "shopware", + "silverstripe", + "symfony", + "typo3", + "wordpress", + "zend", + "zikula" + ], + "time": "2015-02-18T17:17:01+00:00" + }, + { + "name": "composer/semver", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "time": "2016-08-30T16:08:34+00:00" + }, + { + "name": "doctrine/annotations", + "version": "v1.2.7", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": ">=5.3.2" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Annotations\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2015-08-31T12:32:49+00:00" + }, + { + "name": "doctrine/cache", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/b6f544a20f4807e81f7044d31e679ccbb1866dc3", + "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3", + "shasum": "" + }, + "require": { + "php": "~5.5|~7.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.0", + "predis/predis": "~1.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2016-10-29T11:16:17+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba", + "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/coding-standard": "~0.1@dev", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2017-01-03T10:49:41+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.7.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "930297026c8009a567ac051fd545bf6124150347" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/930297026c8009a567ac051fd545bf6124150347", + "reference": "930297026c8009a567ac051fd545bf6124150347", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": "~5.6|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2017-01-13T14:02:13+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2015-11-06T14:35:42+00:00" + }, { "name": "doctrine/instantiator", "version": "1.0.5", @@ -3203,6 +783,397 @@ ], "time": "2015-06-14T21:17:01+00:00" }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2014-09-09T13:34:57+00:00" + }, + { + "name": "drupal-composer/drupal-scaffold", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/drupal-composer/drupal-scaffold.git", + "reference": "3ad465ac853c2e52e6a808f5529859917662c256" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/drupal-composer/drupal-scaffold/zipball/3ad465ac853c2e52e6a808f5529859917662c256", + "reference": "3ad465ac853c2e52e6a808f5529859917662c256", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0.0", + "php": ">=5.4.5" + }, + "require-dev": { + "composer/composer": "dev-master", + "phpunit/phpunit": "^4.4.0" + }, + "type": "composer-plugin", + "extra": { + "class": "DrupalComposer\\DrupalScaffold\\Plugin", + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "DrupalComposer\\DrupalScaffold\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "description": "Composer Plugin for updating the Drupal scaffold files when using drupal/core", + "time": "2016-11-05T10:46:44+00:00" + }, + { + "name": "drupal/core", + "version": "8.3.0", + "source": { + "type": "git", + "url": "https://github.com/drupal-composer/drupal-core.git", + "reference": "e503a252ec5c2811abed6af0c7b70afda8e93a3f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/drupal-composer/drupal-core/zipball/e503a252ec5c2811abed6af0c7b70afda8e93a3f", + "reference": "e503a252ec5c2811abed6af0c7b70afda8e93a3f", + "shasum": "" + }, + "require": { + "asm89/stack-cors": "~1.0", + "composer/semver": "~1.0", + "doctrine/annotations": "1.2.*", + "doctrine/common": "^2.5", + "easyrdf/easyrdf": "0.9.*", + "egulias/email-validator": "1.2.*", + "guzzlehttp/guzzle": "^6.2.1", + "masterminds/html5": "~2.1", + "paragonie/random_compat": "^1.0|^2.0", + "php": ">=5.5.9", + "stack/builder": "1.0.*", + "symfony-cmf/routing": "~1.4", + "symfony/class-loader": "~2.8", + "symfony/console": "~2.8", + "symfony/dependency-injection": "~2.8", + "symfony/event-dispatcher": "~2.8", + "symfony/http-foundation": "~2.8", + "symfony/http-kernel": "~2.8", + "symfony/polyfill-iconv": "~1.0", + "symfony/process": "~2.8", + "symfony/psr-http-message-bridge": "^1.0", + "symfony/routing": "~2.8", + "symfony/serializer": "~2.8", + "symfony/translation": "~2.8", + "symfony/validator": "~2.8", + "symfony/yaml": "~2.8", + "twig/twig": "^1.23.1", + "zendframework/zend-diactoros": "~1.1", + "zendframework/zend-feed": "~2.4" + }, + "replace": { + "drupal/action": "self.version", + "drupal/aggregator": "self.version", + "drupal/automated_cron": "self.version", + "drupal/ban": "self.version", + "drupal/bartik": "self.version", + "drupal/basic_auth": "self.version", + "drupal/big_pipe": "self.version", + "drupal/block": "self.version", + "drupal/block_content": "self.version", + "drupal/block_place": "self.version", + "drupal/book": "self.version", + "drupal/breakpoint": "self.version", + "drupal/ckeditor": "self.version", + "drupal/classy": "self.version", + "drupal/color": "self.version", + "drupal/comment": "self.version", + "drupal/config": "self.version", + "drupal/config_translation": "self.version", + "drupal/contact": "self.version", + "drupal/content_moderation": "self.version", + "drupal/content_translation": "self.version", + "drupal/contextual": "self.version", + "drupal/core-annotation": "self.version", + "drupal/core-assertion": "self.version", + "drupal/core-bridge": "self.version", + "drupal/core-datetime": "self.version", + "drupal/core-dependency-injection": "self.version", + "drupal/core-diff": "self.version", + "drupal/core-discovery": "self.version", + "drupal/core-event-dispatcher": "self.version", + "drupal/core-file-cache": "self.version", + "drupal/core-filesystem": "self.version", + "drupal/core-gettext": "self.version", + "drupal/core-graph": "self.version", + "drupal/core-http-foundation": "self.version", + "drupal/core-php-storage": "self.version", + "drupal/core-plugin": "self.version", + "drupal/core-proxy-builder": "self.version", + "drupal/core-render": "self.version", + "drupal/core-serialization": "self.version", + "drupal/core-transliteration": "self.version", + "drupal/core-utility": "self.version", + "drupal/core-uuid": "self.version", + "drupal/datetime": "self.version", + "drupal/datetime_range": "self.version", + "drupal/dblog": "self.version", + "drupal/dynamic_page_cache": "self.version", + "drupal/editor": "self.version", + "drupal/entity_reference": "self.version", + "drupal/field": "self.version", + "drupal/field_layout": "self.version", + "drupal/field_ui": "self.version", + "drupal/file": "self.version", + "drupal/filter": "self.version", + "drupal/forum": "self.version", + "drupal/hal": "self.version", + "drupal/help": "self.version", + "drupal/history": "self.version", + "drupal/image": "self.version", + "drupal/inline_form_errors": "self.version", + "drupal/language": "self.version", + "drupal/layout_discovery": "self.version", + "drupal/link": "self.version", + "drupal/locale": "self.version", + "drupal/menu_link_content": "self.version", + "drupal/menu_ui": "self.version", + "drupal/migrate": "self.version", + "drupal/migrate_drupal": "self.version", + "drupal/migrate_drupal_ui": "self.version", + "drupal/minimal": "self.version", + "drupal/node": "self.version", + "drupal/options": "self.version", + "drupal/outside_in": "self.version", + "drupal/page_cache": "self.version", + "drupal/path": "self.version", + "drupal/quickedit": "self.version", + "drupal/rdf": "self.version", + "drupal/responsive_image": "self.version", + "drupal/rest": "self.version", + "drupal/search": "self.version", + "drupal/serialization": "self.version", + "drupal/seven": "self.version", + "drupal/shortcut": "self.version", + "drupal/simpletest": "self.version", + "drupal/standard": "self.version", + "drupal/stark": "self.version", + "drupal/statistics": "self.version", + "drupal/syslog": "self.version", + "drupal/system": "self.version", + "drupal/taxonomy": "self.version", + "drupal/telephone": "self.version", + "drupal/text": "self.version", + "drupal/toolbar": "self.version", + "drupal/tour": "self.version", + "drupal/tracker": "self.version", + "drupal/update": "self.version", + "drupal/user": "self.version", + "drupal/views": "self.version", + "drupal/views_ui": "self.version", + "drupal/workflows": "self.version" + }, + "require-dev": { + "behat/mink": "1.7.x-dev", + "behat/mink-goutte-driver": "~1.2", + "drupal/coder": "8.2.12", + "jcalderonzumba/gastonjs": "~1.0.2", + "jcalderonzumba/mink-phantomjs-driver": "~0.3.1", + "mikey179/vfsstream": "~1.2", + "phpunit/phpunit": ">=4.8.28 <5", + "symfony/browser-kit": ">=2.8.13 <3.0", + "symfony/css-selector": "~2.8" + }, + "type": "drupal-core", + "autoload": { + "psr-4": { + "Drupal\\Core\\": "lib/Drupal/Core", + "Drupal\\Component\\": "lib/Drupal/Component", + "Drupal\\Driver\\": "../drivers/lib/Drupal/Driver" + }, + "classmap": [ + "lib/Drupal.php", + "lib/Drupal/Component/Utility/Timer.php", + "lib/Drupal/Component/Utility/Unicode.php", + "lib/Drupal/Core/Database/Database.php", + "lib/Drupal/Core/DrupalKernel.php", + "lib/Drupal/Core/DrupalKernelInterface.php", + "lib/Drupal/Core/Site/Settings.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "description": "Drupal is an open source content management platform powering millions of websites and applications.", + "time": "2017-04-06T00:12:44+00:00" + }, + { + "name": "easyrdf/easyrdf", + "version": "0.9.1", + "source": { + "type": "git", + "url": "https://github.com/njh/easyrdf.git", + "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/njh/easyrdf/zipball/acd09dfe0555fbcfa254291e433c45fdd4652566", + "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-pcre": "*", + "php": ">=5.2.8" + }, + "require-dev": { + "phpunit/phpunit": "~3.5", + "sami/sami": "~1.4", + "squizlabs/php_codesniffer": "~1.4.3" + }, + "suggest": { + "ml/json-ld": "~1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "EasyRdf_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nicholas Humfrey", + "email": "njh@aelius.com", + "homepage": "http://www.aelius.com/njh/", + "role": "Developer" + }, + { + "name": "Alexey Zakhlestin", + "email": "indeyets@gmail.com", + "role": "Developer" + } + ], + "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.", + "homepage": "http://www.easyrdf.org/", + "keywords": [ + "Linked Data", + "RDF", + "Semantic Web", + "Turtle", + "rdfa", + "sparql" + ], + "time": "2015-02-27T09:45:49+00:00" + }, + { + "name": "egulias/email-validator", + "version": "1.2.14", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "5642614492f0ca2064c01d60cc33284cc2f731a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/5642614492f0ca2064c01d60cc33284cc2f731a9", + "reference": "5642614492f0ca2064c01d60cc33284cc2f731a9", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">= 5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Egulias\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "time": "2017-02-03T22:48:59+00:00" + }, { "name": "fabpot/goutte", "version": "v3.1.2", @@ -3252,6 +1223,226 @@ ], "time": "2015-11-05T12:58:44+00:00" }, + { + "name": "guzzlehttp/guzzle", + "version": "6.2.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", + "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0", + "psr/log": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2017-02-28T22:50:30+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, + { + "name": "ircmaxell/password-compat", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "files": [ + "lib/password.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", + "keywords": [ + "hashing", + "password" + ], + "time": "2014-11-20T16:49:30+00:00" + }, { "name": "jcalderonzumba/gastonjs", "version": "v1.0.2", @@ -3370,6 +1561,71 @@ ], "time": "2015-12-04T13:55:02+00:00" }, + { + "name": "masterminds/html5", + "version": "2.2.2", + "source": { + "type": "git", + "url": "https://github.com/Masterminds/html5-php.git", + "reference": "7866e93dcf0245de22378414e0c2c7350abc45af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/7866e93dcf0245de22378414e0c2c7350abc45af", + "reference": "7866e93dcf0245de22378414e0c2c7350abc45af", + "shasum": "" + }, + "require": { + "ext-libxml": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "sami/sami": "~2.0", + "satooshi/php-coveralls": "1.0.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "Masterminds\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matt Butcher", + "email": "technosophos@gmail.com" + }, + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + }, + { + "name": "Matt Farina", + "email": "matt@mattfarina.com" + } + ], + "description": "An HTML5 parser and serializer.", + "homepage": "http://masterminds.github.io/html5-php", + "keywords": [ + "HTML5", + "dom", + "html", + "parser", + "querypath", + "serializer", + "xml" + ], + "time": "2016-09-22T11:01:11+00:00" + }, { "name": "mikey179/vfsStream", "version": "v1.6.0", @@ -3416,6 +1672,54 @@ "homepage": "http://vfs.bovigo.org/", "time": "2015-10-06T16:59:57+00:00" }, + { + "name": "paragonie/random_compat", + "version": "v2.0.10", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", + "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2017-03-13T16:27:32+00:00" + }, { "name": "phpdocumentor/reflection-docblock", "version": "2.0.4", @@ -3893,6 +2197,103 @@ ], "time": "2015-10-02T06:51:40+00:00" }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, { "name": "sebastian/comparator", "version": "1.2.0", @@ -4264,6 +2665,114 @@ "homepage": "https://github.com/sebastianbergmann/version", "time": "2015-06-21T13:59:46+00:00" }, + { + "name": "stack/builder", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/stackphp/builder.git", + "reference": "59fcc9b448a8ce5e338a04c4e2e4aca893e83425" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stackphp/builder/zipball/59fcc9b448a8ce5e338a04c4e2e4aca893e83425", + "reference": "59fcc9b448a8ce5e338a04c4e2e4aca893e83425", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "symfony/http-foundation": "~2.1|~3.0", + "symfony/http-kernel": "~2.1|~3.0" + }, + "require-dev": { + "silex/silex": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Stack": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "Builder for stack middlewares based on HttpKernelInterface.", + "keywords": [ + "stack" + ], + "time": "2016-06-02T06:58:42+00:00" + }, + { + "name": "symfony-cmf/routing", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony-cmf/Routing.git", + "reference": "b93704ca098334f56e9b317932f21a4362e620db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/b93704ca098334f56e9b317932f21a4362e620db", + "reference": "b93704ca098334f56e9b317932f21a4362e620db", + "shasum": "" + }, + "require": { + "php": "^5.3.9|^7.0", + "psr/log": "1.*", + "symfony/http-kernel": "^2.2|3.*", + "symfony/routing": "^2.2|3.*" + }, + "require-dev": { + "friendsofsymfony/jsrouting-bundle": "^1.1", + "symfony-cmf/testing": "^1.3", + "symfony/config": "^2.2|3.*", + "symfony/dependency-injection": "^2.0.5|3.*", + "symfony/event-dispatcher": "^2.1|3.*" + }, + "suggest": { + "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version (~2.1)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Cmf\\Component\\Routing\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony CMF Community", + "homepage": "https://github.com/symfony-cmf/Routing/contributors" + } + ], + "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers", + "homepage": "http://cmf.symfony.com", + "keywords": [ + "database", + "routing" + ], + "time": "2016-03-31T09:11:39+00:00" + }, { "name": "symfony/browser-kit", "version": "v2.8.16", @@ -4321,6 +2830,120 @@ "homepage": "https://symfony.com", "time": "2017-01-02T20:30:24+00:00" }, + { + "name": "symfony/class-loader", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/class-loader.git", + "reference": "2c8de07a8a4cc4da9c018ab7a81888b80e762f93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/class-loader/zipball/2c8de07a8a4cc4da9c018ab7a81888b80e762f93", + "reference": "2c8de07a8a4cc4da9c018ab7a81888b80e762f93", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-apcu": "~1.1" + }, + "require-dev": { + "symfony/finder": "^2.0.5|~3.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\ClassLoader\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony ClassLoader Component", + "homepage": "https://symfony.com", + "time": "2017-02-18T19:13:35+00:00" + }, + { + "name": "symfony/console", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "86407ff20855a5eaa2a7219bd815e9c40a88633e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/86407ff20855a5eaa2a7219bd815e9c40a88633e", + "reference": "86407ff20855a5eaa2a7219bd815e9c40a88633e", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/debug": "^2.7.2|~3.0.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2017-04-03T20:37:06+00:00" + }, { "name": "symfony/css-selector", "version": "v2.8.16", @@ -4375,25 +2998,145 @@ "time": "2017-01-02T20:30:24+00:00" }, { - "name": "symfony/dom-crawler", - "version": "v2.8.16", + "name": "symfony/debug", + "version": "v2.8.19", "source": { "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "52cc211afa9458c0a54c478010a55f44892c1c02" + "url": "https://github.com/symfony/debug.git", + "reference": "e90099a2958d4833a02d05b504cc06e1c234abcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/52cc211afa9458c0a54c478010a55f44892c1c02", - "reference": "52cc211afa9458c0a54c478010a55f44892c1c02", + "url": "https://api.github.com/repos/symfony/debug/zipball/e90099a2958d4833a02d05b504cc06e1c234abcc", + "reference": "e90099a2958d4833a02d05b504cc06e1c234abcc", "shasum": "" }, "require": { "php": ">=5.3.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.2|~3.0.0", + "symfony/http-kernel": "~2.3.24|~2.5.9|^2.6.2|~3.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2017-02-18T19:13:35+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "14b9d8ae69ac4c74e8f05fee7e0a57039b99c81e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/14b9d8ae69ac4c74e8f05fee7e0a57039b99c81e", + "reference": "14b9d8ae69ac4c74e8f05fee7e0a57039b99c81e", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "conflict": { + "symfony/expression-language": "<2.6" + }, + "require-dev": { + "symfony/config": "~2.2|~3.0.0", + "symfony/expression-language": "~2.6|~3.0.0", + "symfony/yaml": "~2.3.42|~2.7.14|~2.8.7|~3.0.7" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "time": "2017-04-03T22:14:48+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dff8fecf1f56990d88058e3a1885c2a5f1b8e970", + "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/css-selector": "~2.8|~3.0.0" + "symfony/css-selector": "~2.8|~3.0" }, "suggest": { "symfony/css-selector": "" @@ -4401,7 +3144,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -4428,9 +3171,1239 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2017-01-02T20:30:24+00:00" + "time": "2016-07-30T07:22:48+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "88b65f0ac25355090e524aba4ceb066025df8bd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/88b65f0ac25355090e524aba4ceb066025df8bd2", + "reference": "88b65f0ac25355090e524aba4ceb066025df8bd2", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^2.0.5|~3.0.0", + "symfony/dependency-injection": "~2.6|~3.0.0", + "symfony/expression-language": "~2.6|~3.0.0", + "symfony/stopwatch": "~2.3|~3.0.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2017-04-03T20:37:06+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "0717efd2f2264dbd3d8e1bc69a0418c2fd6295d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0717efd2f2264dbd3d8e1bc69a0418c2fd6295d2", + "reference": "0717efd2f2264dbd3d8e1bc69a0418c2fd6295d2", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php54": "~1.0", + "symfony/polyfill-php55": "~1.0" + }, + "require-dev": { + "symfony/expression-language": "~2.4|~3.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2017-04-04T15:24:26+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "3256e9e554f02ba2dd49cff253f15df69c36cf40" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3256e9e554f02ba2dd49cff253f15df69c36cf40", + "reference": "3256e9e554f02ba2dd49cff253f15df69c36cf40", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "psr/log": "~1.0", + "symfony/debug": "^2.6.2", + "symfony/event-dispatcher": "^2.6.7|~3.0.0", + "symfony/http-foundation": "~2.7.20|~2.8.13|~3.1.6" + }, + "conflict": { + "symfony/config": "<2.7" + }, + "require-dev": { + "symfony/browser-kit": "~2.3|~3.0.0", + "symfony/class-loader": "~2.1|~3.0.0", + "symfony/config": "~2.8", + "symfony/console": "~2.3|~3.0.0", + "symfony/css-selector": "^2.0.5|~3.0.0", + "symfony/dependency-injection": "~2.8|~3.0.0", + "symfony/dom-crawler": "^2.0.5|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/finder": "^2.0.5|~3.0.0", + "symfony/process": "^2.0.5|~3.0.0", + "symfony/routing": "~2.8|~3.0.0", + "symfony/stopwatch": "~2.3|~3.0.0", + "symfony/templating": "~2.2|~3.0.0", + "symfony/translation": "^2.0.5|~3.0.0", + "symfony/var-dumper": "~2.6|~3.0.0" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/class-loader": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "time": "2017-04-05T04:04:34+00:00" + }, + { + "name": "symfony/polyfill-apcu", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "5d4474f447403c3348e37b70acc2b95475b7befa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/5d4474f447403c3348e37b70acc2b95475b7befa", + "reference": "5d4474f447403c3348e37b70acc2b95475b7befa", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "apcu", + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "cba36f3616d9866b3e52662e88da5c090fac1e97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/cba36f3616d9866b3e52662e88da5c090fac1e97", + "reference": "cba36f3616d9866b3e52662e88da5c090fac1e97", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-php54", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/90e085822963fdcc9d1c5b73deb3d2e5783b16a0", + "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php54\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-php55", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php55.git", + "reference": "03e3f0350bca2220e3623a0e340eef194405fc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/03e3f0350bca2220e3623a0e340eef194405fc67", + "reference": "03e3f0350bca2220e3623a0e340eef194405fc67", + "shasum": "" + }, + "require": { + "ircmaxell/password-compat": "~1.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php55\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/process", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "41336b20b52f5fd5b42a227e394e673c8071118f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/41336b20b52f5fd5b42a227e394e673c8071118f", + "reference": "41336b20b52f5fd5b42a227e394e673c8071118f", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2017-03-04T12:20:59+00:00" + }, + { + "name": "symfony/psr-http-message-bridge", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/psr-http-message-bridge.git", + "reference": "66085f246d3893cbdbcec5f5ad15ac60546cf0de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/66085f246d3893cbdbcec5f5ad15ac60546cf0de", + "reference": "66085f246d3893cbdbcec5f5ad15ac60546cf0de", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "psr/http-message": "~1.0", + "symfony/http-foundation": "~2.3|~3.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7|~3.0" + }, + "suggest": { + "psr/http-message-implementation": "To use the HttpFoundation factory", + "zendframework/zend-diactoros": "To use the Zend Diactoros factory" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bridge\\PsrHttpMessage\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "PSR HTTP message bridge", + "homepage": "http://symfony.com", + "keywords": [ + "http", + "http-message", + "psr-7" + ], + "time": "2016-09-14T18:37:20+00:00" + }, + { + "name": "symfony/routing", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "d145cd396f702c497cb24b21785ddac90a23fe71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/d145cd396f702c497cb24b21785ddac90a23fe71", + "reference": "d145cd396f702c497cb24b21785ddac90a23fe71", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "conflict": { + "symfony/config": "<2.7" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", + "psr/log": "~1.0", + "symfony/config": "~2.7|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/http-foundation": "~2.3|~3.0.0", + "symfony/yaml": "^2.0.5|~3.0.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/dependency-injection": "For loading routes from a service", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2017-03-02T15:56:34+00:00" + }, + { + "name": "symfony/serializer", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer.git", + "reference": "d1c3d68daee29bbf0b4600745899a7000c215642" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer/zipball/d1c3d68daee29bbf0b4600745899a7000c215642", + "reference": "d1c3d68daee29bbf0b4600745899a7000c215642", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-php55": "~1.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "symfony/config": "~2.2|~3.0.0", + "symfony/property-access": "~2.3|~3.0.0", + "symfony/yaml": "^2.0.5|~3.0.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/yaml": "For using the default YAML mapping loader." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Serializer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Serializer Component", + "homepage": "https://symfony.com", + "time": "2017-03-21T22:47:17+00:00" + }, + { + "name": "symfony/translation", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "047e97a64d609778cadfc76e3a09793696bb19f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/047e97a64d609778cadfc76e3a09793696bb19f1", + "reference": "047e97a64d609778cadfc76e3a09793696bb19f1", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.7" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8", + "symfony/intl": "~2.7.25|^2.8.18|~3.2.5", + "symfony/yaml": "~2.2|~3.0.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2017-03-21T21:39:01+00:00" + }, + { + "name": "symfony/validator", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/validator.git", + "reference": "43f617ee200af4f4dedbb0782c6c689e06994286" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/validator/zipball/43f617ee200af4f4dedbb0782c6c689e06994286", + "reference": "43f617ee200af4f4dedbb0782c6c689e06994286", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation": "~2.4|~3.0.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "egulias/email-validator": "^1.2.1", + "symfony/config": "~2.2|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/http-foundation": "~2.3|~3.0.0", + "symfony/intl": "~2.7.25|^2.8.18|~3.2.5", + "symfony/property-access": "~2.3|~3.0.0", + "symfony/yaml": "^2.0.5|~3.0.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "egulias/email-validator": "Strict (RFC compliant) email validation", + "symfony/config": "", + "symfony/expression-language": "For using the 2.4 Expression validator", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For using the 2.4 Validator API", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Validator\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Validator Component", + "homepage": "https://symfony.com", + "time": "2017-03-23T16:08:03+00:00" + }, + { + "name": "symfony/yaml", + "version": "v2.8.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "286d84891690b0e2515874717e49360d1c98a703" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/286d84891690b0e2515874717e49360d1c98a703", + "reference": "286d84891690b0e2515874717e49360d1c98a703", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2017-03-20T09:41:44+00:00" + }, + { + "name": "twig/twig", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", + "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", + "shasum": "" + }, + "require": { + "php": ">=5.2.7" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "~2.7", + "symfony/phpunit-bridge": "~3.3@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.33-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ], + "time": "2017-03-22T15:40:09+00:00" + }, + { + "name": "wikimedia/composer-merge-plugin", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/wikimedia/composer-merge-plugin.git", + "reference": "0bdf8543d445ee067c9ba7d5d4a5dde70b9785f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/0bdf8543d445ee067c9ba7d5d4a5dde70b9785f4", + "reference": "0bdf8543d445ee067c9ba7d5d4a5dde70b9785f4", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": ">=5.3.2" + }, + "require-dev": { + "composer/composer": "1.0.*@dev", + "jakub-onderka/php-parallel-lint": "~0.8", + "phpunit/phpunit": "~4.8|~5.0", + "squizlabs/php_codesniffer": "~2.1.0" + }, + "type": "composer-plugin", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + }, + "class": "Wikimedia\\Composer\\MergePlugin" + }, + "autoload": { + "psr-4": { + "Wikimedia\\Composer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bryan Davis", + "email": "bd808@wikimedia.org" + } + ], + "description": "Composer plugin to merge multiple composer.json files", + "time": "2016-03-08T17:11:37+00:00" + }, + { + "name": "zendframework/zend-diactoros", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "b03f285a333f51e58c95cce54109a4a9ed691436" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/b03f285a333f51e58c95cce54109a4a9ed691436", + "reference": "b03f285a333f51e58c95cce54109a4a9ed691436", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-dom": "*", + "ext-libxml": "*", + "phpunit/phpunit": "^4.6 || ^5.5", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev", + "dev-develop": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2017-04-06T16:18:34+00:00" + }, + { + "name": "zendframework/zend-escaper", + "version": "2.5.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "2dcd14b61a72d8b8e27d579c6344e12c26141d4e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/2dcd14b61a72d8b8e27d579c6344e12c26141d4e", + "reference": "2dcd14b61a72d8b8e27d579c6344e12c26141d4e", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev", + "dev-develop": "2.6-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-escaper", + "keywords": [ + "escaper", + "zf2" + ], + "time": "2016-06-30T19:48:38+00:00" + }, + { + "name": "zendframework/zend-feed", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-feed.git", + "reference": "94579e805dd108683209fe14b3b5d4276de3de6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/94579e805dd108683209fe14b3b5d4276de3de6e", + "reference": "94579e805dd108683209fe14b3b5d4276de3de6e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-stdlib": "^2.7 || ^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "psr/http-message": "^1.0", + "zendframework/zend-cache": "^2.6", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.7", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6" + }, + "suggest": { + "psr/http-message": "PSR-7 ^1.0, if you wish to use Zend\\Feed\\Reader\\Http\\Psr7ResponseDecorator", + "zendframework/zend-cache": "Zend\\Cache component, for optionally caching feeds between requests", + "zendframework/zend-db": "Zend\\Db component, for use with PubSubHubbub", + "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for easily extending ExtensionManager implementations", + "zendframework/zend-validator": "Zend\\Validator component, for validating email addresses used in Atom feeds and entries ehen using the Writer subcomponent" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev", + "dev-develop": "2.9-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Feed\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides functionality for consuming RSS and Atom feeds", + "homepage": "https://github.com/zendframework/zend-feed", + "keywords": [ + "feed", + "zf2" + ], + "time": "2017-04-01T15:03:14+00:00" + }, + { + "name": "zendframework/zend-stdlib", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "debedcfc373a293f9250cc9aa03cf121428c8e78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/debedcfc373a293f9250cc9aa03cf121428c8e78", + "reference": "debedcfc373a293f9250cc9aa03cf121428c8e78", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "athletic/athletic": "~0.1", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev", + "dev-develop": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-stdlib", + "keywords": [ + "stdlib", + "zf2" + ], + "time": "2016-09-13T14:38:50+00:00" } ], + "packages-dev": [], "aliases": [], "minimum-stability": "dev", "stability-flags": { @@ -4438,8 +4411,6 @@ }, "prefer-stable": true, "prefer-lowest": false, - "platform": { - "php": ">=5.5.9" - }, + "platform": [], "platform-dev": [] } diff --git a/web/core/.eslintignore b/web/core/.eslintignore new file mode 100644 index 000000000..a15282a9a --- /dev/null +++ b/web/core/.eslintignore @@ -0,0 +1,4 @@ +assets/vendor/**/* +modules/locale/tests/locale_test.js +node_modules/**/* +**/js_test_files/**/* diff --git a/web/core/.eslintrc b/web/core/.eslintrc.json similarity index 98% rename from web/core/.eslintrc rename to web/core/.eslintrc.json index 9b34952fd..218d84f93 100644 --- a/web/core/.eslintrc +++ b/web/core/.eslintrc.json @@ -1,7 +1,9 @@ { "extends": "eslint:recommended", "env": { - "browser": true + "browser": true, + "es6": true, + "node": true }, "globals": { "Drupal": true, diff --git a/web/core/CHANGELOG.txt b/web/core/CHANGELOG.txt index 853260ae9..10e824f9e 100644 --- a/web/core/CHANGELOG.txt +++ b/web/core/CHANGELOG.txt @@ -1,10 +1,113 @@ -Drupal 8.2.7, 2017-03-15 +Drupal 8.3.0, 2017-04-05 ------------------------ -- Fixed security issues. See SA-CORE-2017-001. - -Drupal 8.2.3, 2016-11-16 ------------------------- -- Fixed security issues. See SA-CORE-2016-005. +- Added modules: + * Added the Workflows module (experimental) which abstracts transitions and + states from Content Moderation into a separate component for reuse by + other modules implementing non-publishing workflows. + * Added the Layout Discovery module (experimental) which provides an API for + modules or themes to register layouts. + * Added the Field Layout module (experimental) which provides the ability + for site builders to rearrange fields on content types, block types, etc. + into new regions, for both the form and display, on the same forms + provided by the normal field user interface. +- Updated vendor libraries: + * Updated to Twig 1.25. + * Updated to jQuery 2.2.4. + * Updated to CKEditor 4.6.2 (with new Moono-Lisa skin). + * Updated Symfony components to 2.8.18. + * Updated PHPUnit to 4.8.35. + * Applied patch-level updates to the latest versions for all dependencies + wherever possible. Minor updates applied for Symfony PSR-7 Bridge and + Zend Stdlib, which Drupal does not depend on directly. +- Browser support: + * Advance notice: Internet Explore 9 and 10 will no longer supported from + 8.4.x, scheduled for October 2017. Microsoft has now ended support for + these browsers. Drupal will still support Internet Explorer 11 and its + replacement, Edge. +- Raised stability levels of experimental modules: + * Updated the BigPipe module from beta to stable. + * Updated the Migrate module from alpha to beta. + * See https://www.drupal.org/core/experimental#versions for more + information about the stability levels of experimental modules. +- Improved authoring features: + * Can now drag and drop images into image fields in Quick Edit mode. + * Image fields are now limited to only accepting images, so that users on + mobile clients are not offered a confusing and non-functional video + upload option. + * CKEditor now utilizes the AutoGrow plugin to better take advantage of + larger screen sizes. +- Improved site building and administration: + * Redesigned status report. + * Standardized display of Views overview page to more closely match that of + other administrative overview pages. + * Views filter order now matches the table column order below in Content + and People overview pages. + * The "Allowed HTML tags" input has been converted to a textarea, which + significantly improves the usability of HTML filter configuration. + * Removed the 'disabled' region from block administration. + * Incoming paths are again case-insensitive for routing, similar to earlier + major Drupal versions. +- Content Moderation improvements (experimental): + * Refactored to use new experimental Workflows module. + * Now supports moderation of non-translatable entity types. + * When reverting a moderated revision, the moderation state is now + reverted too. + * Added an API to create and enforce default workflow states and + transitions. + * Allow moderation of entity types without bundles, as long as they have + revisions. + * Publishes any entity type that implements EntityPublishedInterface, not + just Nodes. +- Migration improvements (experimental): + * Drupal 7 core node translations are now migrated to Drupal 8. + * Configuration translation support is added to migrations in general and + implemented for Drupal 6 user profile fields. +- Improved REST API and decoupled site features: + * REST API now supports the registering of users. + * Anonymous REST API performance increased by 60% by utilizing the internal + page cache. + * Improved the response bodies and status codes for requests with incorrect + request headers or request bodies, in dozens of situations. + * Massive overhaul of the test coverage. + * 403 responses now return reason why access was denied. + * Serialized values for Booleans and integers are now returned as the + correct data type, rather than incorrectly typed as strings. +- Improved performance/scalability: + * Optimized class loader detection made more generic to support class + loaders other than ApcClassLoader. + * ViewsData and Token info cache now use the default cache bin to prevent + APCu memory from being filled too quickly. + * Improve statistics performance by adding a swappable backend. +- Improved developer APIs: + * Deprecated several routing services in favor of two more unified services. + * Replaced the deprecated Symfony ExecutionContextInterface by subclassing + from ConstraintValidator to prepare for an update to Symfony 3. + * EntityPublishedInterface and EntityPublishedTrait have been added to give + a generic publishing API, and are being used by Node and Comment entity + types. + * Added a collection label to EntityType. This is a plural uppercase label + for a collection of entities - e.g. "Workflows". +- Changed coding standards: + * Officially adopted short array syntax and updated all of core accordingly. + * PHP CodeSniffer and Drupal Coder have been added as composer dev + requirements, so they can be installed automatically with + `composer install --dev` rather than requiring separate installation. (Do + not use `composer install --dev` for production sites.) + * Most global constants in Drupal 8 have been deprecated in favor of class + constants. As a best practice, use appropriate class constants rather than + global constants. +- Testing improvements: + * Integrated PHPUnit verbose output in SimpleTest UI. + * Improved backward compatibility with WebTestBase. + * Improved backward compatibility between BrowserTestBase and WebTestBase. + * Many old WebTestBase tests have been moved to BrowserTestBase. + * Expanded automated test coverage for JavaScript. +- Package management: + * composer.json now uses the new official endpoint for modules and themes, + packages.drupal.org. + * Custom modules and themes can now be installed to correct locations using + composer. + * Added Package.json enabling new JavaScript language features. Drupal 8.2.0, 2016-10-05 ------------------------ diff --git a/web/core/INSTALL.txt b/web/core/INSTALL.txt index c83976126..74ceed95d 100644 --- a/web/core/INSTALL.txt +++ b/web/core/INSTALL.txt @@ -353,7 +353,7 @@ Never edit Drupal's core modules and themes; instead, use the hooks available in the Drupal API. To modify the behavior of Drupal, develop a module as described at https://www.drupal.org/developing/modules. To modify the look of Drupal, create a subtheme as described at https://www.drupal.org/node/2165673, or a -completely new theme as described at https://www.drupal.org/documentation/theme +completely new theme as described at https://www.drupal.org/docs/8/theming MULTISITE CONFIGURATION ----------------------- diff --git a/web/core/MAINTAINERS.txt b/web/core/MAINTAINERS.txt index 0739fb092..6b9e83365 100644 --- a/web/core/MAINTAINERS.txt +++ b/web/core/MAINTAINERS.txt @@ -30,8 +30,14 @@ Drupal 8 (Framework Manager - Frontend) Provisional membership: +- Lauri Eskola 'lauriii' https://www.drupal.org/u/lauriii + (Framework Manager - Frontend) +- Gábor Hojtsy 'Gábor Hojtsy' https://www.drupal.org/u/gábor-hojtsy + (Product Manager) - Chris McCafferty 'cilefen' https://www.drupal.org/u/cilefen (Release Manager) +- Roy Scholten 'yoroy' https://www.drupal.org/u/yoroy + (Product Manager) Drupal 7 - Fabian Franz 'Fabianx' https://www.drupal.org/u/fabianx @@ -176,7 +182,7 @@ Database API - ? Database Logging -- ? +- Mariano D'Agostino 'dagmar' https://www.drupal.org/u/dagmar Database Update API - ? @@ -237,6 +243,9 @@ Help Image - Claudiu Cristea 'claudiu.cristea' https://www.drupal.org/u/claudiu.cristea +Inline Form Errors +- Daniël Smidt 'dmsmidt' https://www.drupal.org/u/dmsmidt + Installer - ? @@ -267,14 +276,12 @@ Migrate - Adam Globus-Hoenich 'phenaproxima' https://www.drupal.org/u/phenaproxima - Ben Dougherty 'benjy' https://www.drupal.org/u/benjy - Lucas Hedding 'heddn' https://www.drupal.org/u/heddn -- Michael Anello 'ultimike' https://www.drupal.org/u/ultimike - Mike Ryan 'mikeryan' https://www.drupal.org/u/mikeryan - Vicki Spagnolo 'quietone' https://www.drupal.org/u/quietone Migrate (Drupal) - Ben Dougherty 'benjy' https://www.drupal.org/u/benjy - Lucas Hedding 'heddn' https://www.drupal.org/u/heddn -- Michael Anello 'ultimike' https://www.drupal.org/u/ultimike - Mike Ryan 'mikeryan' https://www.drupal.org/u/mikeryan - Vicki Spagnolo 'quietone' https://www.drupal.org/u/quietone @@ -369,7 +376,7 @@ Statistics - Tim Millwood 'timmillwood' https://www.drupal.org/u/timmillwood Syslog -- Khalid Baheyeldin 'kbahey' https://www.drupal.org/u/kbahey +- ? System (module) - ? @@ -470,9 +477,6 @@ re-architect or otherwise improve large areas of Drupal core. See https://www.drupal.org/community-initiatives/drupal-core for more information on their responsibilities. The initiative coordinators for Drupal 8 are: -Multi-lingual -- Gábor Hojtsy 'Gábor Hojtsy' https://www.drupal.org/u/gábor-hojtsy - Workflow Initiative - Dick Olsson 'dixon_' https://www.drupal.org/u/dixon_ @@ -480,6 +484,12 @@ PHPUnit Initiative - Klaus Purer 'klausi' https://www.drupal.org/u/klausi - Daniel Wehner 'dawehner' https://www.drupal.org/u/dawehner +Layout Initiative +- Tim Plunkett 'tim.plunkett' https://www.drupal.org/u/tim.plunkett + +Media Initiative +- Janez Urevc 'slashrsm' https://www.drupal.org/u/slashrsm + Provisional membership: None at this time. diff --git a/web/core/assets/vendor/ckeditor/CHANGES.md b/web/core/assets/vendor/ckeditor/CHANGES.md index d291c8d58..72c579805 100644 --- a/web/core/assets/vendor/ckeditor/CHANGES.md +++ b/web/core/assets/vendor/ckeditor/CHANGES.md @@ -1,11 +1,113 @@ CKEditor 4 Changelog ==================== +## CKEditor 4.6.2 + +New Features: + +* [#16733](http://dev.ckeditor.com/ticket/16733): Added a new pastel color palette for the [Color Button](http://ckeditor.com/addon/colorbutton) plugin and a new [`config.colorButton_colorsPerRow`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-colorButton_colorsPerRow) configuration option for setting the number of rows in the color selector. +* [#16752](http://dev.ckeditor.com/ticket/16752): Added a new Azerbaijani localization. Thanks to the [Azerbaijani language team](https://www.transifex.com/ckeditor/teams/11143/az/)! +* [#13818](http://dev.ckeditor.com/ticket/13818): It is now possible to group [Widget](http://ckeditor.com/addon/widget) [style definitions](http://docs.ckeditor.com/#!/guide/dev_styles-section-widget-styles), so applying one style disables the other. + +Fixed Issues: + +* [#13446](http://dev.ckeditor.com/ticket/13446): [Chrome] Fixed: It is possible to type in an unfocused inline editor. +* [#14856](http://dev.ckeditor.com/ticket/14856): Fixed: [Font size and font family](http://ckeditor.com/addon/font) reset each other when modified at certain positions. +* [#16745](http://dev.ckeditor.com/ticket/16745): [Edge] Fixed: List items are lost when [pasted from Word](http://ckeditor.com/addon/pastefromword). +* [#16682](http://dev.ckeditor.com/ticket/16682): [Edge] Fixed: A list gets [pasted from Word](http://ckeditor.com/addon/pastefromword) as a set of paragraphs. Added the [`config.pasteFromWord_heuristicsEdgeList`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWord_heuristicsEdgeList) configuration option. +* [#10373](http://dev.ckeditor.com/ticket/10373): Fixed: Context menu items can be dragged into the editor. +* [#16728](http://dev.ckeditor.com/ticket/16728): [IE] Fixed: [Copy Formatting](http://ckeditor.com/addon/copyformatting) breaks the editor in Quirks Mode. +* [#16795](http://dev.ckeditor.com/ticket/16795): [IE] Fixed: [Copy Formatting](http://ckeditor.com/addon/copyformatting) breaks the editor in Compatibility Mode. +* [#16675](http://dev.ckeditor.com/ticket/16675): Fixed: Styles applied with [Copy Formatting](http://ckeditor.com/addon/copyformatting) to a single table cell are applied to the whole table. +* [#16753](http://dev.ckeditor.com/ticket/16753): Fixed: [`element.setSize`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-setSize) sets incorrect editor dimensions if the border width is represented as a fraction of pixels. +* [#16705](http://dev.ckeditor.com/ticket/16705): [Firefox] Fixed: Unable to paste images as Base64 strings when using [Clipboard](http://ckeditor.com/addon/clipboard). +* [#14869](http://dev.ckeditor.com/ticket/14869): Fixed: JavaScript error is thrown when trying to use [Find](http://ckeditor.com/addon/find) in a [`
`-based editor](http://ckeditor.com/addon/divarea). + +## CKEditor 4.6.1 + +New Features: + +* [#16639](http://dev.ckeditor.com/ticket/16639): The `callback` parameter in the [CKEDITOR.ajax.post](http://docs.ckeditor.com/#!/api/CKEDITOR.ajax-method-post) method became optional. + +Fixed Issues: + +* [#11064](http://dev.ckeditor.com/ticket/11064): [Blink, WebKit] Fixed: Cannot select all editor content when a widget or a non-editable element is the first or last element of the content. Also fixes this issue in the [Select All](http://ckeditor.com/addon/selectall) plugin. +* [#14755](http://dev.ckeditor.com/ticket/14755): [Blink, WebKit, IE8] Fixed: Browser hangs when a table is inserted in the place of a selected list with an empty last item. +* [#16624](http://dev.ckeditor.com/ticket/16624): Fixed: Improved the [Color Button](http://ckeditor.com/addon/colorbutton) plugin which will now normalize the CSS `background` property if it only contains a color value. This fixes missing background colors when using [Paste from Word](http://ckeditor.com/addon/pastefromword). +* [#16600](http://dev.ckeditor.com/ticket/16600): [Blink, WebKit] Fixed: Error thrown occasionally by an uninitialized editable for multiple CKEditor instances on the same page. + +## CKEditor 4.6 + +New Features: + +* [#14569](http://dev.ckeditor.com/ticket/14569): Added a new, flat, default CKEditor skin called [Moono-Lisa](http://ckeditor.com/addon/moono-lisa). Refreshed default colors available in the [Color Button](http://ckeditor.com/addon/colorbutton) plugin ([Text Color and Background Color](http://docs.ckeditor.com/#!/guide/dev_colorbutton) feature). +* [#14707](http://dev.ckeditor.com/ticket/14707): Added a new [Copy Formatting](http://ckeditor.com/addon/copyformatting) feature to enable easy copying of styles between your document parts. +* Introduced the completely rewritten [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin: + * Backward incompatibility: The [`config.pasteFromWordRemoveFontStyles`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveFontStyles) option now defaults to `false`. This option will be deprecated in the future. Use [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_acf) to replicate the effect of setting it to `true`. + * Backward incompatibility: The [`config.pasteFromWordNumberedHeadingToList`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordNumberedHeadingToList) and [`config.pasteFromWordRemoveStyles`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveStyles) options were dropped and no longer have any effect on pasted content. + * Major improvements in preservation of list numbering, styling and indentation (nested lists with multiple levels). + * Major improvements in document structure parsing that fix plenty of issues with distorted or missing content after paste. +* Added new translation: Occitan. Thanks to [Cédric Valmary](https://totenoc.eu/)! +* [#10015](http://dev.ckeditor.com/ticket/10015): Keyboard shortcuts (relevant to the operating system in use) will now be displayed in tooltips and context menus. +* [#13794](http://dev.ckeditor.com/ticket/13794): The [Upload Image](http://ckeditor.com/addon/uploadimage) feature now uses `uploaded.width/height` if set. +* [#12541](http://dev.ckeditor.com/ticket/12541): Added the [Upload File](http://ckeditor.com/addon/uploadfile) plugin that lets you upload a file by drag&dropping it into the editor content. +* [#14449](http://dev.ckeditor.com/ticket/14449): Introduced the [Balloon Panel](http://ckeditor.com/addon/balloonpanel) plugin that lets you create stylish floating UI elements for the editor. +* [#12077](https://dev.ckeditor.com/ticket/12077): Added support for the HTML5 `download` attribute in link (``) elements. Selecting the "Force Download" checkbox in the [Link](http://ckeditor.com/addon/link) dialog will cause the linked file to be downloaded automatically. Thanks to [sbusse](https://github.com/sbusse)! +* [#13518](http://dev.ckeditor.com/ticket/13518): Introduced the [`additionalRequestParameters`](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition-property-additionalRequestParameters) property for file uploads to make it possible to send additional information about the uploaded file to the server. +* [#14889](http://dev.ckeditor.com/ticket/14889): Added the [`config.image2_altRequired`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_altRequired) option for the [Enhanced Image](http://ckeditor.com/addon/image2) plugin to allow making alternative text a mandatory field. Thanks to [Andrey Fedoseev](https://github.com/andreyfedoseev)! + +Fixed Issues: + +* [#9991](http://dev.ckeditor.com/ticket/9991): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) should only normalize input data. +* [#7209](http://dev.ckeditor.com/ticket/7209): Fixed: Lists with 3 levels not [pasted from Word](http://ckeditor.com/addon/pastefromword) correctly. +* [#14335](http://dev.ckeditor.com/ticket/14335): Fixed: Pasting a numbered list starting with a value different from "1" from Microsoft Word does not work correctly. +* [#14542](http://dev.ckeditor.com/ticket/14542): Fixed: Copying a numbered list from Microsoft Word does not preserve list formatting. +* [#14544](http://dev.ckeditor.com/ticket/14544): Fixed: Copying a nested list from Microsoft Word results in an empty list. +* [#14660](http://dev.ckeditor.com/ticket/14660): Fixed: [Pasting text from Word](http://ckeditor.com/addon/pastefromword) breaks the styling in some cases. +* [#14867](http://dev.ckeditor.com/ticket/14867): [Firefox] Fixed: Text gets stripped when [pasting content from Word](http://ckeditor.com/addon/pastefromword). +* [#2507](http://dev.ckeditor.com/ticket/2507): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) does not detect pasting a part of a paragraph. +* [#3336](http://dev.ckeditor.com/ticket/3336): Fixed: Extra blank row added on top of the content [pasted from Word](http://ckeditor.com/addon/pastefromword). +* [#6115](http://dev.ckeditor.com/ticket/6115): Fixed: When Right-to-Left text direction is applied to a table [pasted from Word](http://ckeditor.com/addon/pastefromword), borders are missing on one side. +* [#6342](http://dev.ckeditor.com/ticket/6342): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) filters out a basic text style when it is [configured to use attributes](http://docs.ckeditor.com/#!/guide/dev_basicstyles-section-custom-basic-text-style-definition). +* [#6457](http://dev.ckeditor.com/ticket/6457): [IE] Fixed: [Pasting from Word](http://ckeditor.com/addon/pastefromword) is extremely slow. +* [#6789](http://dev.ckeditor.com/ticket/6789): Fixed: The `mso-list: ignore` style is not handled properly when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#7262](http://dev.ckeditor.com/ticket/7262): Fixed: Lists in preformatted body disappear when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#7662](http://dev.ckeditor.com/ticket/7662): [Opera] Fixed: Extra empty number/bullet shown in the editor body when editing a multi-level list [pasted from Word](http://ckeditor.com/addon/pastefromword). +* [#7807](http://dev.ckeditor.com/ticket/7807): Fixed: Last item in a list not converted to a `
  • ` element after [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#7950](http://dev.ckeditor.com/ticket/7950): [IE] Fixed: Content [from Word pasted](http://ckeditor.com/addon/pastefromword) differently than in other browsers. +* [#7982](http://dev.ckeditor.com/ticket/7982): Fixed: Multi-level lists get split into smaller ones when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#8231](http://dev.ckeditor.com/ticket/8231): [WebKit, Opera] Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) inserts empty paragraphs. +* [#8266](http://dev.ckeditor.com/ticket/8266): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) inserts a blank line at the top. +* [#8341](http://dev.ckeditor.com/ticket/8341), [#7646](http://dev.ckeditor.com/ticket/7646): Fixed: Faulty removal of empty `` elements in [Paste from Word](http://ckeditor.com/addon/pastefromword) content cleanup breaking content formatting. +* [#8754](http://dev.ckeditor.com/ticket/8754): [Firefox] Fixed: Incorrect pasting of multiple nested lists in [Paste from Word](http://ckeditor.com/addon/pastefromword). +* [#8983](http://dev.ckeditor.com/ticket/8983): Fixed: Alignment lost when [pasting from Word](http://ckeditor.com/addon/pastefromword) with [`config.enterMode`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) set to [`CKEDITOR.ENTER_BR`](http://docs.ckeditor.com/#!/api/CKEDITOR-property-ENTER_BR). +* [#9331](http://dev.ckeditor.com/ticket/9331): [IE] Fixed: [Pasting text from Word](http://ckeditor.com/addon/pastefromword) creates a simple Caesar cipher. +* [#9422](http://dev.ckeditor.com/ticket/9422): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) leaves an unwanted `color:windowtext` style. +* [#10011](http://dev.ckeditor.com/ticket/10011): [IE9-10] Fixed: [`config.pasteFromWordRemoveFontStyles`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveFontStyles) is ignored under certain conditions. +* [#10643](http://dev.ckeditor.com/ticket/10643): Fixed: Differences between using Ctrl+V and pasting from the [Paste from Word](http://ckeditor.com/addon/pastefromword) dialog. +* [#10784](http://dev.ckeditor.com/ticket/10784): Fixed: Lines missing when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#11294](http://dev.ckeditor.com/ticket/11294): [IE10] Fixed: Font size is not preserved when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#11627](http://dev.ckeditor.com/ticket/11627): Fixed: Missing words when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#12784](http://dev.ckeditor.com/ticket/12784): Fixed: Bulleted list with custom bullets gets changed to a numbered list when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#13174](http://dev.ckeditor.com/ticket/13174): Fixed: Data loss after [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#13828](http://dev.ckeditor.com/ticket/13828): Fixed: Widget classes should be added to the wrapper rather than the widget element. +* [#13829](http://dev.ckeditor.com/ticket/13829): Fixed: No class in [Widget](http://ckeditor.com/addon/widget) wrapper to identify the widget type. +* [#13519](http://dev.ckeditor.com/ticket/13519): Server response received when uploading files should be more flexible. + +Other Changes: + +* Updated [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) and [WebSpellChecker](http://ckeditor.com/addon/wsc) plugins: + * Support for the new default Moono-Lisa skin. + * [#121](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/121): Fixed: [Basic Styles](http://ckeditor.com/addon/basicstyles) do not work when SCAYT is enabled. + * [#125](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/125): Fixed: Inline styles are not continued when writing multiple lines of styled text with SCAYT enabled. + * [#127](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/127): Fixed: Uncaught TypeError after enabling SCAYT in the CKEditor `
    ` element. + * [#128](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/128): Fixed: Error thrown after enabling SCAYT caused by conflicts with RequireJS. + ## CKEditor 4.5.11 **Security Updates:** -* [Severity: minor] Fixed the target="_blank" vulnerability reported by James Gaskell. +* [Severity: minor] Fixed the `target="_blank"` vulnerability reported by James Gaskell. Issue summary: If a victim had access to a spoofed version of ckeditor.com via HTTP (e.g. due to DNS spoofing, using a hacked public network or mailicious hotspot), then when using a link to the ckeditor.com website it was possible for the attacker to change the current URL of the opening page, even if the opening page was protected with SSL. @@ -52,7 +154,6 @@ Fixed Issues: * [#11697](http://dev.ckeditor.com/ticket/11697): Fixed: Content is replaced ignoring the letter case setting in the [Find and Replace](http://ckeditor.com/addon/find) dialog window. * [#13886](http://dev.ckeditor.com/ticket/13886): Fixed: Invalid handling of the [`CKEDITOR.style`](http://docs.ckeditor.com/#!/api/CKEDITOR.style) instance with the `styles` property by [`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter). * [#14535](http://dev.ckeditor.com/ticket/14535): Fixed: CSS syntax corrections. Thanks to [mdjdenormandie](https://github.com/mdjdenormandie)! -* [#14312](http://dev.ckeditor.com/ticket/14312): [IE] Fixed: Artifact is visible after pasting any text. ## CKEditor 4.5.8 diff --git a/web/core/assets/vendor/ckeditor/LICENSE.md b/web/core/assets/vendor/ckeditor/LICENSE.md index 55be53afa..d6f58ca44 100644 --- a/web/core/assets/vendor/ckeditor/LICENSE.md +++ b/web/core/assets/vendor/ckeditor/LICENSE.md @@ -2,7 +2,7 @@ Software License Agreement ========================== CKEditor - The text editor for Internet - http://ckeditor.com -Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. Licensed under the terms of any of the following licenses at your choice: @@ -37,7 +37,7 @@ done by developers outside of CKSource with their express permission. The following libraries are included in CKEditor under the MIT license (see Appendix D): -* CKSource Samples Framework (included in the samples) - Copyright (c) 2014-2016, CKSource - Frederico Knabben. +* CKSource Samples Framework (included in the samples) - Copyright (c) 2014-2017, CKSource - Frederico Knabben. * PicoModal (included in `samples/js/sf.js`) - Copyright (c) 2012 James Frasca. * CodeMirror (included in the samples) - Copyright (C) 2014 by Marijn Haverbeke and others. diff --git a/web/core/assets/vendor/ckeditor/build-config.js b/web/core/assets/vendor/ckeditor/build-config.js index c4eda91da..4a3398147 100644 --- a/web/core/assets/vendor/ckeditor/build-config.js +++ b/web/core/assets/vendor/ckeditor/build-config.js @@ -22,76 +22,79 @@ /* exported CKBUILDER_CONFIG */ var CKBUILDER_CONFIG = { - skin: 'moono', + skin: 'moono-lisa', ignore: [ // CKEditor repository structure: unrelated to the usage of CKEditor itself. - 'dev', - 'README.md', - '.editorconfig', - '.gitignore', - '.gitattributes', - '.idea', - '.mailmap', - '.DS_Store', - 'tests', - 'package.json', 'bender.js', '.bender', 'bender-err.log', 'bender-out.log', - 'node_modules', + 'dev', + 'docs', + '.DS_Store', + '.editorconfig', + '.gitignore', + '.gitattributes', + 'gruntfile.js', + '.idea', '.jscsrc', + '.jshintignore', '.jshintrc', + 'less', + '.mailmap', + 'node_modules', + 'package.json', + 'README.md', + 'tests', // Parts of CKEditor that we consciously don't ship with Drupal. 'adapters', 'config.js', 'contents.css', - 'gruntfile.js', 'styles.js', 'samples', - 'skins/moono/readme.md' + 'skins/moono-lisa/readme.md' ], - plugins : { - 'about' : 1, - 'a11yhelp' : 1, - 'basicstyles' : 1, - 'blockquote' : 1, - 'clipboard' : 1, - 'contextmenu' : 1, - 'resize' : 1, - 'toolbar' : 1, - 'elementspath' : 1, - 'enterkey' : 1, - 'entities' : 1, - 'filebrowser' : 1, - 'floatingspace' : 1, - 'format' : 1, - 'htmlwriter' : 1, - 'horizontalrule' : 1, - 'wysiwygarea' : 1, - 'indent' : 1, - 'indentlist' : 1, - 'language' : 1, - 'list' : 1, - 'magicline' : 1, - 'maximize' : 1, - 'pastetext' : 1, - 'pastefromword' : 1, - 'removeformat' : 1, - 'sourcearea' : 1, - 'specialchar' : 1, - 'stylescombo' : 1, - 'tab' : 1, - 'table' : 1, - 'tabletools' : 1, - 'undo' : 1, - 'justify' : 1, - 'showblocks' : 1, - 'showborders' : 1, - 'tableresize' : 1, - 'sharedspace' : 1, - 'sourcedialog' : 1, - 'widget' : 1, - 'image2' : 1 + plugins: { + a11yhelp: 1, + about: 1, + autogrow: 1, + basicstyles: 1, + blockquote: 1, + clipboard: 1, + contextmenu: 1, + elementspath: 1, + enterkey: 1, + entities: 1, + filebrowser: 1, + floatingspace: 1, + format: 1, + horizontalrule: 1, + htmlwriter: 1, + image2: 1, + indent: 1, + indentlist: 1, + justify: 1, + language: 1, + list: 1, + magicline: 1, + maximize: 1, + pastefromword: 1, + pastetext: 1, + removeformat: 1, + sharedspace: 1, + showblocks: 1, + showborders: 1, + sourcearea: 1, + sourcedialog: 1, + specialchar: 1, + stylescombo: 1, + tab: 1, + table: 1, + tableresize: 1, + tabletools: 1, + toolbar: 1, + undo: 1, + widget: 1, + wysiwygarea: 1 } }; diff --git a/web/core/assets/vendor/ckeditor/ckeditor.js b/web/core/assets/vendor/ckeditor/ckeditor.js index 2c8c7b5ce..7de640e87 100644 --- a/web/core/assets/vendor/ckeditor/ckeditor.js +++ b/web/core/assets/vendor/ckeditor/ckeditor.js @@ -1,549 +1,563 @@ /* -Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.md or http://ckeditor.com/license */ -(function(){window.CKEDITOR&&window.CKEDITOR.dom||(window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,f={timestamp:"G88J",version:"4.5.11",revision:"3876e73",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var e=window.CKEDITOR_BASEPATH||"";if(!e)for(var c=document.getElementsByTagName("script"),f=0;fg.getListenerIndex(h)){g=g.listeners;f||(f=this);isNaN(k)&&(k=10);var p=this;b.fn=h;b.priority=k;for(var v=g.length-1;0<=v;v--)if(g[v].priority<=k)return g.splice(v+1,0,b),{removeListener:d};g.unshift(b)}return{removeListener:d}},once:function(){var a=Array.prototype.slice.call(arguments),c=a[1];a[1]=function(a){a.removeListener();return c.apply(this, -arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,c=function(){a=1},m=0,l=function(){m=1};return function(k,b,d){var g=f(this)[k];k=a;var p=m;a=m=0;if(g){var v=g.listeners;if(v.length)for(var v=v.slice(0),u,t=0;tg.getListenerIndex(h)){g=g.listeners;e||(e=this);isNaN(k)&&(k=10);var p=this;d.fn=h;d.priority=k;for(var v=g.length-1;0<=v;v--)if(g[v].priority<=k)return g.splice(v+1,0,d),{removeListener:b};g.unshift(d)}return{removeListener:b}},once:function(){var a=Array.prototype.slice.call(arguments),c=a[1];a[1]=function(a){a.removeListener();return c.apply(this, +arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,c=function(){a=1},m=0,l=function(){m=1};return function(k,d,b){var g=e(this)[k];k=a;var p=m;a=m=0;if(g){var v=g.listeners;if(v.length)for(var v=v.slice(0),r,w=0;wdocument.documentMode),mobile:-1e||c.quirks);c.gecko&&(f=a.match(/rv:([\d\.]+)/))&&(f=f[1].split("."),e=1E4*f[0]+100*(f[1]||0)+1*(f[2]||0));c.air&&(e=parseFloat(a.match(/ adobeair\/(\d+)/)[1]));c.webkit&&(e=parseFloat(a.match(/ applewebkit\/(\d+)/)[1]));c.version=e;c.isCompatible=!(c.ie&&7>e)&&!(c.gecko&&4E4>e)&&!(c.webkit&& -534>e);c.hidpi=2<=window.devicePixelRatio;c.needsBrFiller=c.gecko||c.webkit||c.ie&&10e;c.cssClass="cke_browser_"+(c.ie?"ie":c.gecko?"gecko":c.webkit?"webkit":"unknown");c.quirks&&(c.cssClass+=" cke_browser_quirks");c.ie&&(c.cssClass+=" cke_browser_ie"+(c.quirks?"6 cke_browser_iequirks":c.version));c.air&&(c.cssClass+=" cke_browser_air");c.iOS&&(c.cssClass+=" cke_browser_ios");c.hidpi&&(c.cssClass+=" cke_hidpi");return c}()),"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR); -CKEDITOR.loadFullCore=function(){if("basic_ready"!=CKEDITOR.status)CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var a=CKEDITOR.loadFullCore,f=CKEDITOR.loadFullCoreTimeout;a&&(CKEDITOR.status= -"basic_ready",a&&a._load?a():f&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},1E3*f))})})();CKEDITOR.status="basic_loaded"}(),"use strict",CKEDITOR.VERBOSITY_WARN=1,CKEDITOR.VERBOSITY_ERROR=2,CKEDITOR.verbosity=CKEDITOR.VERBOSITY_WARN|CKEDITOR.VERBOSITY_ERROR,CKEDITOR.warn=function(a,f){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_WARN&&CKEDITOR.fire("log",{type:"warn",errorCode:a,additionalData:f})},CKEDITOR.error=function(a,f){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_ERROR&&CKEDITOR.fire("log", -{type:"error",errorCode:a,additionalData:f})},CKEDITOR.on("log",function(a){if(window.console&&window.console.log){var f=console[a.data.type]?a.data.type:"log",c=a.data.errorCode;if(a=a.data.additionalData)console[f]("[CKEDITOR] Error code: "+c+".",a);else console[f]("[CKEDITOR] Error code: "+c+".");console[f]("[CKEDITOR] For more information about this error go to http://docs.ckeditor.com/#!/guide/dev_errors-section-"+c)}},null,null,999),CKEDITOR.dom={},function(){var a=[],f=CKEDITOR.env.gecko?"-moz-": -CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",c=/&/g,e=/>/g,h=/|\s) /g,function(g,d){return d+"\x26nbsp;"}).replace(/ (?=<)/g, -"\x26nbsp;")},getNextNumber:function(){var d=0;return function(){return++d}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var d="e",g=0;8>g;g++)d+=Math.floor(65536*(1+Math.random())).toString(16).substring(1);return d},override:function(d,g){var b=g(d);b.prototype=d.prototype;return b},setTimeout:function(d,g,b,a,k){k||(k=window);b||(b=k);return k.setTimeout(function(){a?d.apply(b,[].concat(a)):d.apply(b)},g||0)},trim:function(){var d=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g; -return function(g){return g.replace(d,"")}}(),ltrim:function(){var d=/^[ \t\n\r]+/g;return function(g){return g.replace(d,"")}}(),rtrim:function(){var d=/[ \t\n\r]+$/g;return function(g){return g.replace(d,"")}}(),indexOf:function(d,g){if("function"==typeof g)for(var b=0,a=d.length;bd;d++)g[d]=("0"+parseInt(g[d],10).toString(16)).slice(-2);return"#"+g.join("")})},normalizeHex:function(d){return d.replace(/#(([0-9a-f]{3}){1,2})($|;|\s+)/gi, -function(g,d,b,a){g=d.toLowerCase();3==g.length&&(g=g.split(""),g=[g[0],g[0],g[1],g[1],g[2],g[2]].join(""));return"#"+g+a})},parseCssText:function(d,g,b){var a={};b&&(d=(new CKEDITOR.dom.element("span")).setAttribute("style",d).getAttribute("style")||"");d&&(d=CKEDITOR.tools.normalizeHex(CKEDITOR.tools.convertRgbToHex(d)));if(!d||";"==d)return a;d.replace(/"/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(d,b,k){g&&(b=b.toLowerCase(),"font-family"==b&&(k=k.replace(/\s*,\s*/g, -",")),k=CKEDITOR.tools.trim(k));a[b]=k});return a},writeCssText:function(d,g){var b,a=[];for(b in d)a.push(b+":"+d[b]);g&&a.sort();return a.join("; ")},objectCompare:function(d,g,b){var a;if(!d&&!g)return!0;if(!d||!g)return!1;for(a in d)if(d[a]!=g[a])return!1;if(!b)for(a in g)if(d[a]!=g[a])return!1;return!0},objectKeys:function(d){var g=[],b;for(b in d)g.push(b);return g},convertArrayToObject:function(d,g){var b={};1==arguments.length&&(g=!0);for(var a=0,k=d.length;ab;b++)d.push(Math.floor(256*Math.random())); -for(b=0;bCKEDITOR.env.version&&(this.type==CKEDITOR.NODE_ELEMENT||this.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)&&e(h);return h},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfter:function(a){a.$.parentNode.insertBefore(this.$,a.$.nextSibling);return a},insertBefore:function(a){a.$.parentNode.insertBefore(this.$,a.$);return a},insertBeforeMe:function(a){this.$.parentNode.insertBefore(a.$, -this.$);return a},getAddress:function(a){for(var f=[],c=this.getDocument().$.documentElement,e=this.$;e&&e!=c;){var h=e.parentNode;h&&f.unshift(this.getIndex.call({$:e},a));e=h}return f},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(a){function f(a,k){var b=k?a.nextSibling:a.previousSibling;return b&&b.nodeType==CKEDITOR.NODE_TEXT?c(b)?f(b,k):b:null}function c(a){return!a.nodeValue||a.nodeValue==CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE} -var e=this.$,h=-1,m;if(!this.$.parentNode||a&&e.nodeType==CKEDITOR.NODE_TEXT&&c(e)&&!f(e)&&!f(e,!0))return-1;do a&&e!=this.$&&e.nodeType==CKEDITOR.NODE_TEXT&&(m||c(e))||(h++,m=e.nodeType==CKEDITOR.NODE_TEXT);while(e=e.previousSibling);return h},getNextSourceNode:function(a,f,c){if(c&&!c.call){var e=c;c=function(a){return!a.equals(e)}}a=!a&&this.getFirst&&this.getFirst();var h;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&c&&!1===c(this,!0))return null;a=this.getNext()}for(;!a&&(h=(h||this).getParent());){if(c&& -!1===c(h,!0))return null;a=h.getNext()}return!a||c&&!1===c(a)?null:f&&f!=a.type?a.getNextSourceNode(!1,f,c):a},getPreviousSourceNode:function(a,f,c){if(c&&!c.call){var e=c;c=function(a){return!a.equals(e)}}a=!a&&this.getLast&&this.getLast();var h;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&c&&!1===c(this,!0))return null;a=this.getPrevious()}for(;!a&&(h=(h||this).getParent());){if(c&&!1===c(h,!0))return null;a=h.getPrevious()}return!a||c&&!1===c(a)?null:f&&a.type!=f?a.getPreviousSourceNode(!1,f,c): -a},getPrevious:function(a){var f=this.$,c;do c=(f=f.previousSibling)&&10!=f.nodeType&&new CKEDITOR.dom.node(f);while(c&&a&&!a(c));return c},getNext:function(a){var f=this.$,c;do c=(f=f.nextSibling)&&new CKEDITOR.dom.node(f);while(c&&a&&!a(c));return c},getParent:function(a){var f=this.$.parentNode;return f&&(f.nodeType==CKEDITOR.NODE_ELEMENT||a&&f.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?new CKEDITOR.dom.node(f):null},getParents:function(a){var f=this,c=[];do c[a?"push":"unshift"](f);while(f=f.getParent()); -return c},getCommonAncestor:function(a){if(a.equals(this))return this;if(a.contains&&a.contains(this))return a;var f=this.contains?this:this.getParent();do if(f.contains(a))return f;while(f=f.getParent());return null},getPosition:function(a){var f=this.$,c=a.$;if(f.compareDocumentPosition)return f.compareDocumentPosition(c);if(f==c)return CKEDITOR.POSITION_IDENTICAL;if(this.type==CKEDITOR.NODE_ELEMENT&&a.type==CKEDITOR.NODE_ELEMENT){if(f.contains){if(f.contains(c))return CKEDITOR.POSITION_CONTAINS+ -CKEDITOR.POSITION_PRECEDING;if(c.contains(f))return CKEDITOR.POSITION_IS_CONTAINED+CKEDITOR.POSITION_FOLLOWING}if("sourceIndex"in f)return 0>f.sourceIndex||0>c.sourceIndex?CKEDITOR.POSITION_DISCONNECTED:f.sourceIndex=document.documentMode||!f||(a=f+":"+a);return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(a))},getHead:function(){var a=this.$.getElementsByTagName("head")[0];return a=a?new CKEDITOR.dom.element(a):this.getDocumentElement().append(new CKEDITOR.dom.element("head"),!0)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){return new CKEDITOR.dom.window(this.$.parentWindow|| -this.$.defaultView)},write:function(a){this.$.open("text/html","replace");CKEDITOR.env.ie&&(a=a.replace(/(?:^\s*]*?>)|^/i,'$\x26\n\x3cscript data-cke-temp\x3d"1"\x3e('+CKEDITOR.tools.fixDomain+")();\x3c/script\x3e"));this.$.write(a);this.$.close()},find:function(a){return new CKEDITOR.dom.nodeList(this.$.querySelectorAll(a))},findOne:function(a){return(a=this.$.querySelector(a))?new CKEDITOR.dom.element(a):null},_getHtml5ShivFrag:function(){var a=this.getCustomData("html5ShivFrag");a|| -(a=this.$.createDocumentFragment(),CKEDITOR.tools.enableHtml5Elements(a,!0),this.setCustomData("html5ShivFrag",a));return a}}),CKEDITOR.dom.nodeList=function(a){this.$=a},CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(a){return 0>a||a>=this.$.length?null:(a=this.$[a])?new CKEDITOR.dom.node(a):null}},CKEDITOR.dom.element=function(a,f){"string"==typeof a&&(a=(f?f.$:document).createElement(a));CKEDITOR.dom.domObject.call(this,a)},CKEDITOR.dom.element.get=function(a){return(a= -"string"==typeof a?document.getElementById(a)||document.getElementsByName(a)[0]:a)&&(a.$?a:new CKEDITOR.dom.element(a))},CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node,CKEDITOR.dom.element.createFromHtml=function(a,f){var c=new CKEDITOR.dom.element("div",f);c.setHtml(a);return c.getFirst().remove()},CKEDITOR.dom.element.setMarker=function(a,f,c,e){var h=f.getCustomData("list_marker_id")||f.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),m=f.getCustomData("list_marker_names")|| -f.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");a[h]=f;m[c]=1;return f.setCustomData(c,e)},CKEDITOR.dom.element.clearAllMarkers=function(a){for(var f in a)CKEDITOR.dom.element.clearMarkers(a,a[f],1)},CKEDITOR.dom.element.clearMarkers=function(a,f,c){var e=f.getCustomData("list_marker_names"),h=f.getCustomData("list_marker_id"),m;for(m in e)f.removeCustomData(m);f.removeCustomData("list_marker_names");c&&(f.removeCustomData("list_marker_id"),delete a[h])},function(){function a(a, -b){return-1<(" "+a+" ").replace(m," ").indexOf(" "+b+" ")}function f(a){var b=!0;a.$.id||(a.$.id="cke_tmp_"+CKEDITOR.tools.getNextNumber(),b=!1);return function(){b||a.removeAttribute("id")}}function c(a,b){var d=CKEDITOR.tools.escapeCss(a.$.id);return"#"+d+" "+b.split(/,\s*/).join(", #"+d+" ")}function e(a){for(var b=0,d=0,g=l[a].length;dCKEDITOR.env.version? -this.$.text+=a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(a){if(a||CKEDITOR.env.needsBrFiller){for(a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();a&&a.is&&a.is("br")||(a=this.getDocument().createElement("br"),CKEDITOR.env.gecko&&a.setAttribute("type","_moz"),this.append(a))}},breakParent:function(a,b){var d=new CKEDITOR.dom.range(this.getDocument());d.setStartAfter(this);d.setEndAfter(a);var g=d.extractContents(!1,b||!1),c;d.insertNode(this.remove()); -if(CKEDITOR.env.ie&&!CKEDITOR.env.edge){for(d=new CKEDITOR.dom.element("div");c=g.getFirst();)c.$.style.backgroundColor&&(c.$.style.backgroundColor=c.$.style.backgroundColor),d.append(c);d.insertAfter(this);d.remove(!0)}else g.insertAfterNode(this)},contains:document.compareDocumentPosition?function(a){return!!(this.$.compareDocumentPosition(a.$)&16)}:function(a){var b=this.$;return a.type!=CKEDITOR.NODE_ELEMENT?b.contains(a.getParent().$):b!=a.$&&b.contains(a.$)},focus:function(){function a(){try{this.$.focus()}catch(b){}} -return function(b){b?CKEDITOR.tools.setTimeout(a,100,this):a.call(this)}}(),getHtml:function(){var a=this.$.innerHTML;return CKEDITOR.env.ie?a.replace(/<\?[^>]*>/g,""):a},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\?[^>]*>/,"");var a=this.$.ownerDocument.createElement("div");a.appendChild(this.$.cloneNode(!0));return a.innerHTML},getClientRect:function(){var a=CKEDITOR.tools.extend({},this.$.getBoundingClientRect());!a.width&&(a.width=a.right-a.left);!a.height&& -(a.height=a.bottom-a.top);return a},setHtml:CKEDITOR.env.ie&&9>CKEDITOR.env.version?function(a){try{var b=this.$;if(this.getParent())return b.innerHTML=a;var d=this.getDocument()._getHtml5ShivFrag();d.appendChild(b);b.innerHTML=a;d.removeChild(b);return a}catch(g){this.$.innerHTML="";b=new CKEDITOR.dom.element("body",this.getDocument());b.$.innerHTML=a;for(b=b.getChildren();b.count();)this.append(b.getItem(0));return a}}:function(a){return this.$.innerHTML=a},setText:function(){var a=document.createElement("p"); -a.innerHTML="x";a=a.textContent;return function(b){this.$[a?"textContent":"innerText"]=b}}(),getAttribute:function(){var a=function(a){return this.$.getAttribute(a,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){switch(a){case "class":a="className";break;case "http-equiv":a="httpEquiv";break;case "name":return this.$.name;case "tabindex":return a=this.$.getAttribute(a,2),0!==a&&0===this.$.tabIndex&&(a=null),a;case "checked":return a=this.$.attributes.getNamedItem(a), -(a.specified?a.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[a];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedItem("contentEditable").specified?this.$.getAttribute("contentEditable"):null}return this.$.getAttribute(a,2)}:a}(),getAttributes:function(a){var b={},d=this.$.attributes,g;a=CKEDITOR.tools.isArray(a)?a:[];for(g=0;g=document.documentMode){var b=this.$.scopeName;"HTML"!= -b&&(a=b.toLowerCase()+":"+a)}this.getName=function(){return a};return this.getName()},getValue:function(){return this.$.value},getFirst:function(a){var b=this.$.firstChild;(b=b&&new CKEDITOR.dom.node(b))&&a&&!a(b)&&(b=b.getNext(a));return b},getLast:function(a){var b=this.$.lastChild;(b=b&&new CKEDITOR.dom.node(b))&&a&&!a(b)&&(b=b.getPrevious(a));return b},getStyle:function(a){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]},is:function(){var a=this.getName();if("object"==typeof arguments[0])return!!arguments[0][a]; -for(var b=0;bCKEDITOR.env.version&&this.is("a")){var d=this.getParent(); -d.type==CKEDITOR.NODE_ELEMENT&&(d=d.clone(),d.setHtml(b),b=d.getHtml(),d.setHtml(a),a=d.getHtml())}return b==a},isVisible:function(){var a=(this.$.offsetHeight||this.$.offsetWidth)&&"hidden"!=this.getComputedStyle("visibility"),b,d;a&&CKEDITOR.env.webkit&&(b=this.getWindow(),!b.equals(CKEDITOR.document.getWindow())&&(d=b.$.frameElement)&&(a=(new CKEDITOR.dom.element(d)).isVisible()));return!!a},isEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return!1;for(var a=this.getChildren(), -b=0,d=a.count();bCKEDITOR.env.version?function(b){return"name"==b?!!this.$.name:a.call(this,b)}:a:function(a){return!!this.$.attributes.getNamedItem(a)}}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,b){var d=this.$;a=a.$;if(d!=a){var g;if(b)for(;g=d.lastChild;)a.insertBefore(d.removeChild(g),a.firstChild);else for(;g=d.firstChild;)a.appendChild(d.removeChild(g))}},mergeSiblings:function(){function a(b,d,g){if(d&&d.type==CKEDITOR.NODE_ELEMENT){for(var c=[];d.data("cke-bookmark")||d.isEmptyInlineRemoveable();)if(c.push(d), -d=g?d.getNext():d.getPrevious(),!d||d.type!=CKEDITOR.NODE_ELEMENT)return;if(b.isIdentical(d)){for(var e=g?b.getLast():b.getFirst();c.length;)c.shift().move(b,!g);d.moveChildren(b,!g);d.remove();e&&e.type==CKEDITOR.NODE_ELEMENT&&e.mergeSiblings()}}}return function(b){if(!1===b||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a"))a(this,this.getNext(),!0),a(this,this.getPrevious())}}(),show:function(){this.setStyles({display:"",visibility:""})},setAttribute:function(){var a=function(a,d){this.$.setAttribute(a, -d);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(b,d){"class"==b?this.$.className=d:"style"==b?this.$.style.cssText=d:"tabindex"==b?this.$.tabIndex=d:"checked"==b?this.$.checked=d:"contenteditable"==b?a.call(this,"contentEditable",d):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(b,d){if("src"==b&&d.match(/^http:\/\//))try{a.apply(this,arguments)}catch(g){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var b in a)this.setAttribute(b, -a[b]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){"class"==a?a="className":"tabindex"==a?a="tabIndex":"contenteditable"==a&&(a="contentEditable");this.$.removeAttribute(a)}:a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))for(var b=0;bCKEDITOR.env.version?(a=Math.round(100*a),this.setStyle("filter",100<=a?"":"progid:DXImageTransform.Microsoft.Alpha(opacity\x3d"+a+")")):this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select","none")); -if(CKEDITOR.env.ie){this.setAttribute("unselectable","on");for(var a,b=this.getElementsByTag("*"),d=0,g=b.count();dh||0h?h:c);d&&(0>e||0e?e:g,0)},setState:function(a,b,d){b=b||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(b+"_on");this.removeClass(b+ -"_off");this.removeClass(b+"_disabled");d&&this.setAttribute("aria-pressed",!0);d&&this.removeAttribute("aria-disabled");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(b+"_disabled");this.removeClass(b+"_off");this.removeClass(b+"_on");d&&this.setAttribute("aria-disabled",!0);d&&this.removeAttribute("aria-pressed");break;default:this.addClass(b+"_off"),this.removeClass(b+"_on"),this.removeClass(b+"_disabled"),d&&this.removeAttribute("aria-pressed"),d&&this.removeAttribute("aria-disabled")}}, -getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(b){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,b){var d=this.$.attributes;b=b||{};for(var g=0;gf||c.quirks);c.gecko&&(e=a.match(/rv:([\d\.]+)/))&&(e=e[1].split("."),f=1E4*e[0]+100*(e[1]||0)+1*(e[2]||0));c.air&&(f=parseFloat(a.match(/ adobeair\/(\d+)/)[1]));c.webkit&&(f=parseFloat(a.match(/ applewebkit\/(\d+)/)[1]));c.version=f;c.isCompatible=!(c.ie&&7>f)&&!(c.gecko&&4E4>f)&&!(c.webkit&& +534>f);c.hidpi=2<=window.devicePixelRatio;c.needsBrFiller=c.gecko||c.webkit||c.ie&&10f;c.cssClass="cke_browser_"+(c.ie?"ie":c.gecko?"gecko":c.webkit?"webkit":"unknown");c.quirks&&(c.cssClass+=" cke_browser_quirks");c.ie&&(c.cssClass+=" cke_browser_ie"+(c.quirks?"6 cke_browser_iequirks":c.version));c.air&&(c.cssClass+=" cke_browser_air");c.iOS&&(c.cssClass+=" cke_browser_ios");c.hidpi&&(c.cssClass+=" cke_hidpi");return c}()),"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR); +CKEDITOR.loadFullCore=function(){if("basic_ready"!=CKEDITOR.status)CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var a=CKEDITOR.loadFullCore,e=CKEDITOR.loadFullCoreTimeout;a&&(CKEDITOR.status= +"basic_ready",a&&a._load?a():e&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},1E3*e))})})();CKEDITOR.status="basic_loaded"}(),"use strict",CKEDITOR.VERBOSITY_WARN=1,CKEDITOR.VERBOSITY_ERROR=2,CKEDITOR.verbosity=CKEDITOR.VERBOSITY_WARN|CKEDITOR.VERBOSITY_ERROR,CKEDITOR.warn=function(a,e){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_WARN&&CKEDITOR.fire("log",{type:"warn",errorCode:a,additionalData:e})},CKEDITOR.error=function(a,e){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_ERROR&&CKEDITOR.fire("log", +{type:"error",errorCode:a,additionalData:e})},CKEDITOR.on("log",function(a){if(window.console&&window.console.log){var e=console[a.data.type]?a.data.type:"log",c=a.data.errorCode;if(a=a.data.additionalData)console[e]("[CKEDITOR] Error code: "+c+".",a);else console[e]("[CKEDITOR] Error code: "+c+".");console[e]("[CKEDITOR] For more information about this error go to http://docs.ckeditor.com/#!/guide/dev_errors-section-"+c)}},null,null,999),CKEDITOR.dom={},function(){var a=[],e=CKEDITOR.env.gecko?"-moz-": +CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",c=/&/g,f=/>/g,h=/|\s) /g,function(g,b){return b+"\x26nbsp;"}).replace(/ (?=<)/g, +"\x26nbsp;")},getNextNumber:function(){var b=0;return function(){return++b}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var b="e",g=0;8>g;g++)b+=Math.floor(65536*(1+Math.random())).toString(16).substring(1);return b},override:function(b,g){var d=g(b);d.prototype=b.prototype;return d},setTimeout:function(b,g,d,a,k){k||(k=window);d||(d=k);return k.setTimeout(function(){a?b.apply(d,[].concat(a)):b.apply(d)},g||0)},trim:function(){var b=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g; +return function(g){return g.replace(b,"")}}(),ltrim:function(){var b=/^[ \t\n\r]+/g;return function(g){return g.replace(b,"")}}(),rtrim:function(){var b=/[ \t\n\r]+$/g;return function(g){return g.replace(b,"")}}(),indexOf:function(b,g){if("function"==typeof g)for(var d=0,a=b.length;db;b++)g[b]=("0"+parseInt(g[b],10).toString(16)).slice(-2);return"#"+g.join("")})},normalizeHex:function(b){return b.replace(/#(([0-9a-f]{3}){1,2})($|;|\s+)/gi, +function(g,b,d,a){g=b.toLowerCase();3==g.length&&(g=g.split(""),g=[g[0],g[0],g[1],g[1],g[2],g[2]].join(""));return"#"+g+a})},parseCssText:function(b,g,d){var a={};d&&(b=(new CKEDITOR.dom.element("span")).setAttribute("style",b).getAttribute("style")||"");b&&(b=CKEDITOR.tools.normalizeHex(CKEDITOR.tools.convertRgbToHex(b)));if(!b||";"==b)return a;b.replace(/"/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(b,d,k){g&&(d=d.toLowerCase(),"font-family"==d&&(k=k.replace(/\s*,\s*/g, +",")),k=CKEDITOR.tools.trim(k));a[d]=k});return a},writeCssText:function(b,g){var d,a=[];for(d in b)a.push(d+":"+b[d]);g&&a.sort();return a.join("; ")},objectCompare:function(b,g,d){var a;if(!b&&!g)return!0;if(!b||!g)return!1;for(a in b)if(b[a]!=g[a])return!1;if(!d)for(a in g)if(b[a]!=g[a])return!1;return!0},objectKeys:function(b){var g=[],d;for(d in b)g.push(d);return g},convertArrayToObject:function(b,g){var d={};1==arguments.length&&(g=!0);for(var a=0,k=b.length;ad;d++)b.push(Math.floor(256*Math.random()));for(d=0;dCKEDITOR.env.version&&(this.type==CKEDITOR.NODE_ELEMENT||this.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)&&f(h);return h},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling}, +insertAfter:function(a){a.$.parentNode.insertBefore(this.$,a.$.nextSibling);return a},insertBefore:function(a){a.$.parentNode.insertBefore(this.$,a.$);return a},insertBeforeMe:function(a){this.$.parentNode.insertBefore(a.$,this.$);return a},getAddress:function(a){for(var e=[],c=this.getDocument().$.documentElement,f=this.$;f&&f!=c;){var h=f.parentNode;h&&e.unshift(this.getIndex.call({$:f},a));f=h}return e},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)}, +getIndex:function(a){function e(a,k){var d=k?a.nextSibling:a.previousSibling;return d&&d.nodeType==CKEDITOR.NODE_TEXT?c(d)?e(d,k):d:null}function c(a){return!a.nodeValue||a.nodeValue==CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE}var f=this.$,h=-1,m;if(!this.$.parentNode||a&&f.nodeType==CKEDITOR.NODE_TEXT&&c(f)&&!e(f)&&!e(f,!0))return-1;do a&&f!=this.$&&f.nodeType==CKEDITOR.NODE_TEXT&&(m||c(f))||(h++,m=f.nodeType==CKEDITOR.NODE_TEXT);while(f=f.previousSibling);return h},getNextSourceNode:function(a, +e,c){if(c&&!c.call){var f=c;c=function(a){return!a.equals(f)}}a=!a&&this.getFirst&&this.getFirst();var h;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&c&&!1===c(this,!0))return null;a=this.getNext()}for(;!a&&(h=(h||this).getParent());){if(c&&!1===c(h,!0))return null;a=h.getNext()}return!a||c&&!1===c(a)?null:e&&e!=a.type?a.getNextSourceNode(!1,e,c):a},getPreviousSourceNode:function(a,e,c){if(c&&!c.call){var f=c;c=function(a){return!a.equals(f)}}a=!a&&this.getLast&&this.getLast();var h;if(!a){if(this.type== +CKEDITOR.NODE_ELEMENT&&c&&!1===c(this,!0))return null;a=this.getPrevious()}for(;!a&&(h=(h||this).getParent());){if(c&&!1===c(h,!0))return null;a=h.getPrevious()}return!a||c&&!1===c(a)?null:e&&a.type!=e?a.getPreviousSourceNode(!1,e,c):a},getPrevious:function(a){var e=this.$,c;do c=(e=e.previousSibling)&&10!=e.nodeType&&new CKEDITOR.dom.node(e);while(c&&a&&!a(c));return c},getNext:function(a){var e=this.$,c;do c=(e=e.nextSibling)&&new CKEDITOR.dom.node(e);while(c&&a&&!a(c));return c},getParent:function(a){var e= +this.$.parentNode;return e&&(e.nodeType==CKEDITOR.NODE_ELEMENT||a&&e.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?new CKEDITOR.dom.node(e):null},getParents:function(a){var e=this,c=[];do c[a?"push":"unshift"](e);while(e=e.getParent());return c},getCommonAncestor:function(a){if(a.equals(this))return this;if(a.contains&&a.contains(this))return a;var e=this.contains?this:this.getParent();do if(e.contains(a))return e;while(e=e.getParent());return null},getPosition:function(a){var e=this.$,c=a.$;if(e.compareDocumentPosition)return e.compareDocumentPosition(c); +if(e==c)return CKEDITOR.POSITION_IDENTICAL;if(this.type==CKEDITOR.NODE_ELEMENT&&a.type==CKEDITOR.NODE_ELEMENT){if(e.contains){if(e.contains(c))return CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING;if(c.contains(e))return CKEDITOR.POSITION_IS_CONTAINED+CKEDITOR.POSITION_FOLLOWING}if("sourceIndex"in e)return 0>e.sourceIndex||0>c.sourceIndex?CKEDITOR.POSITION_DISCONNECTED:e.sourceIndex=document.documentMode||!e||(a=e+":"+a);return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(a))},getHead:function(){var a=this.$.getElementsByTagName("head")[0];return a=a?new CKEDITOR.dom.element(a):this.getDocumentElement().append(new CKEDITOR.dom.element("head"), +!0)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){return new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView)},write:function(a){this.$.open("text/html","replace");CKEDITOR.env.ie&&(a=a.replace(/(?:^\s*]*?>)|^/i,'$\x26\n\x3cscript data-cke-temp\x3d"1"\x3e('+CKEDITOR.tools.fixDomain+")();\x3c/script\x3e"));this.$.write(a);this.$.close()},find:function(a){return new CKEDITOR.dom.nodeList(this.$.querySelectorAll(a))}, +findOne:function(a){return(a=this.$.querySelector(a))?new CKEDITOR.dom.element(a):null},_getHtml5ShivFrag:function(){var a=this.getCustomData("html5ShivFrag");a||(a=this.$.createDocumentFragment(),CKEDITOR.tools.enableHtml5Elements(a,!0),this.setCustomData("html5ShivFrag",a));return a}}),CKEDITOR.dom.nodeList=function(a){this.$=a},CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(a){return 0>a||a>=this.$.length?null:(a=this.$[a])?new CKEDITOR.dom.node(a):null}}, +CKEDITOR.dom.element=function(a,e){"string"==typeof a&&(a=(e?e.$:document).createElement(a));CKEDITOR.dom.domObject.call(this,a)},CKEDITOR.dom.element.get=function(a){return(a="string"==typeof a?document.getElementById(a)||document.getElementsByName(a)[0]:a)&&(a.$?a:new CKEDITOR.dom.element(a))},CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node,CKEDITOR.dom.element.createFromHtml=function(a,e){var c=new CKEDITOR.dom.element("div",e);c.setHtml(a);return c.getFirst().remove()},CKEDITOR.dom.element.setMarker= +function(a,e,c,f){var h=e.getCustomData("list_marker_id")||e.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),m=e.getCustomData("list_marker_names")||e.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");a[h]=e;m[c]=1;return e.setCustomData(c,f)},CKEDITOR.dom.element.clearAllMarkers=function(a){for(var e in a)CKEDITOR.dom.element.clearMarkers(a,a[e],1)},CKEDITOR.dom.element.clearMarkers=function(a,e,c){var f=e.getCustomData("list_marker_names"), +h=e.getCustomData("list_marker_id"),m;for(m in f)e.removeCustomData(m);e.removeCustomData("list_marker_names");c&&(e.removeCustomData("list_marker_id"),delete a[h])},function(){function a(a,d){return-1<(" "+a+" ").replace(m," ").indexOf(" "+d+" ")}function e(a){var d=!0;a.$.id||(a.$.id="cke_tmp_"+CKEDITOR.tools.getNextNumber(),d=!1);return function(){d||a.removeAttribute("id")}}function c(a,d){var b=CKEDITOR.tools.escapeCss(a.$.id);return"#"+b+" "+d.split(/,\s*/).join(", #"+b+" ")}function f(a){for(var d= +0,b=0,g=l[a].length;bCKEDITOR.env.version?this.$.text+=a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(a){if(a||CKEDITOR.env.needsBrFiller){for(a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();a&&a.is&&a.is("br")||(a=this.getDocument().createElement("br"),CKEDITOR.env.gecko&&a.setAttribute("type", +"_moz"),this.append(a))}},breakParent:function(a,d){var b=new CKEDITOR.dom.range(this.getDocument());b.setStartAfter(this);b.setEndAfter(a);var g=b.extractContents(!1,d||!1),c;b.insertNode(this.remove());if(CKEDITOR.env.ie&&!CKEDITOR.env.edge){for(b=new CKEDITOR.dom.element("div");c=g.getFirst();)c.$.style.backgroundColor&&(c.$.style.backgroundColor=c.$.style.backgroundColor),b.append(c);b.insertAfter(this);b.remove(!0)}else g.insertAfterNode(this)},contains:document.compareDocumentPosition?function(a){return!!(this.$.compareDocumentPosition(a.$)& +16)}:function(a){var d=this.$;return a.type!=CKEDITOR.NODE_ELEMENT?d.contains(a.getParent().$):d!=a.$&&d.contains(a.$)},focus:function(){function a(){try{this.$.focus()}catch(d){}}return function(d){d?CKEDITOR.tools.setTimeout(a,100,this):a.call(this)}}(),getHtml:function(){var a=this.$.innerHTML;return CKEDITOR.env.ie?a.replace(/<\?[^>]*>/g,""):a},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\?[^>]*>/,"");var a=this.$.ownerDocument.createElement("div");a.appendChild(this.$.cloneNode(!0)); +return a.innerHTML},getClientRect:function(){var a=CKEDITOR.tools.extend({},this.$.getBoundingClientRect());!a.width&&(a.width=a.right-a.left);!a.height&&(a.height=a.bottom-a.top);return a},setHtml:CKEDITOR.env.ie&&9>CKEDITOR.env.version?function(a){try{var d=this.$;if(this.getParent())return d.innerHTML=a;var b=this.getDocument()._getHtml5ShivFrag();b.appendChild(d);d.innerHTML=a;b.removeChild(d);return a}catch(g){this.$.innerHTML="";d=new CKEDITOR.dom.element("body",this.getDocument());d.$.innerHTML= +a;for(d=d.getChildren();d.count();)this.append(d.getItem(0));return a}}:function(a){return this.$.innerHTML=a},setText:function(){var a=document.createElement("p");a.innerHTML="x";a=a.textContent;return function(d){this.$[a?"textContent":"innerText"]=d}}(),getAttribute:function(){var a=function(a){return this.$.getAttribute(a,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){switch(a){case "class":a="className";break;case "http-equiv":a="httpEquiv";break;case "name":return this.$.name; +case "tabindex":return a=this.$.getAttribute(a,2),0!==a&&0===this.$.tabIndex&&(a=null),a;case "checked":return a=this.$.attributes.getNamedItem(a),(a.specified?a.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[a];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedItem("contentEditable").specified?this.$.getAttribute("contentEditable"):null}return this.$.getAttribute(a,2)}:a}(),getAttributes:function(a){var d= +{},b=this.$.attributes,g;a=CKEDITOR.tools.isArray(a)?a:[];for(g=0;g=document.documentMode){var d=this.$.scopeName;"HTML"!=d&&(a=d.toLowerCase()+":"+a)}this.getName=function(){return a};return this.getName()},getValue:function(){return this.$.value},getFirst:function(a){var d=this.$.firstChild;(d=d&&new CKEDITOR.dom.node(d))&&a&&!a(d)&&(d=d.getNext(a));return d},getLast:function(a){var d=this.$.lastChild;(d=d&&new CKEDITOR.dom.node(d))&&a&&!a(d)&&(d=d.getPrevious(a));return d},getStyle:function(a){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]}, +is:function(){var a=this.getName();if("object"==typeof arguments[0])return!!arguments[0][a];for(var d=0;dCKEDITOR.env.version&&this.is("a")){var b=this.getParent();b.type==CKEDITOR.NODE_ELEMENT&&(b=b.clone(),b.setHtml(d),d=b.getHtml(),b.setHtml(a),a=b.getHtml())}return d==a},isVisible:function(){var a=(this.$.offsetHeight||this.$.offsetWidth)&&"hidden"!=this.getComputedStyle("visibility"),d,b;a&&CKEDITOR.env.webkit&&(d=this.getWindow(),!d.equals(CKEDITOR.document.getWindow())&&(b=d.$.frameElement)&&(a=(new CKEDITOR.dom.element(b)).isVisible()));return!!a},isEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return!1; +for(var a=this.getChildren(),d=0,b=a.count();dCKEDITOR.env.version?function(d){return"name"==d?!!this.$.name:a.call(this,d)}:a:function(a){return!!this.$.attributes.getNamedItem(a)}}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,d){var b=this.$;a=a.$;if(b!=a){var g;if(d)for(;g=b.lastChild;)a.insertBefore(b.removeChild(g),a.firstChild);else for(;g=b.firstChild;)a.appendChild(b.removeChild(g))}},mergeSiblings:function(){function a(d,b,g){if(b&&b.type==CKEDITOR.NODE_ELEMENT){for(var c= +[];b.data("cke-bookmark")||b.isEmptyInlineRemoveable();)if(c.push(b),b=g?b.getNext():b.getPrevious(),!b||b.type!=CKEDITOR.NODE_ELEMENT)return;if(d.isIdentical(b)){for(var k=g?d.getLast():d.getFirst();c.length;)c.shift().move(d,!g);b.moveChildren(d,!g);b.remove();k&&k.type==CKEDITOR.NODE_ELEMENT&&k.mergeSiblings()}}}return function(d){if(!1===d||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a"))a(this,this.getNext(),!0),a(this,this.getPrevious())}}(),show:function(){this.setStyles({display:"", +visibility:""})},setAttribute:function(){var a=function(a,b){this.$.setAttribute(a,b);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(d,b){"class"==d?this.$.className=b:"style"==d?this.$.style.cssText=b:"tabindex"==d?this.$.tabIndex=b:"checked"==d?this.$.checked=b:"contenteditable"==d?a.call(this,"contentEditable",b):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(d,b){if("src"==d&&b.match(/^http:\/\//))try{a.apply(this, +arguments)}catch(g){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var d in a)this.setAttribute(d,a[d]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){"class"==a?a="className":"tabindex"==a?a="tabIndex":"contenteditable"==a&&(a="contentEditable");this.$.removeAttribute(a)}:a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))for(var d= +0;dCKEDITOR.env.version?(a=Math.round(100*a),this.setStyle("filter",100<=a?"":"progid:DXImageTransform.Microsoft.Alpha(opacity\x3d"+a+")")):this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select", +"none"));if(CKEDITOR.env.ie){this.setAttribute("unselectable","on");for(var a,d=this.getElementsByTag("*"),b=0,g=d.count();bh||0h?h:c);b&&(0>f||0f?f:g,0)},setState:function(a,d,b){d=d||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(d+"_on");this.removeClass(d+ +"_off");this.removeClass(d+"_disabled");b&&this.setAttribute("aria-pressed",!0);b&&this.removeAttribute("aria-disabled");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(d+"_disabled");this.removeClass(d+"_off");this.removeClass(d+"_on");b&&this.setAttribute("aria-disabled",!0);b&&this.removeAttribute("aria-pressed");break;default:this.addClass(d+"_off"),this.removeClass(d+"_on"),this.removeClass(d+"_disabled"),b&&this.removeAttribute("aria-pressed"),b&&this.removeAttribute("aria-disabled")}}, +getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(d){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,d){var b=this.$.attributes;d=d||{};for(var g=0;g=B.getChildCount()?(B=B.getChild(y-1),F=!0):B=B.getChild(y):L=F=!0;w.type==CKEDITOR.NODE_TEXT?r?G=!0:w.split(z):0S)for(;U;)U=h(U,P,!0);P=K}r||k()}}function c(){var a=!1,b=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(!0),c=CKEDITOR.dom.walker.bogus();return function(e){return d(e)||b(e)?!0:c(e)&&!a?a=!0:e.type==CKEDITOR.NODE_TEXT&&(e.hasAscendant("pre")||CKEDITOR.tools.trim(e.getText()).length)||e.type==CKEDITOR.NODE_ELEMENT&&!e.is(m)?!1:!0}}function e(a){var b=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(1); -return function(c){return d(c)||b(c)?!0:!a&&l(c)||c.type==CKEDITOR.NODE_ELEMENT&&c.is(CKEDITOR.dtd.$removeEmpty)}}function h(a){return function(){var c;return this[a?"getPreviousNode":"getNextNode"](function(a){!c&&d(a)&&(c=a);return b(a)&&!(l(a)&&a.equals(c))})}}var m={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},l=CKEDITOR.dom.walker.bogus(),k=/^[\t\r\n ]*(?: |\xa0)$/, -b=CKEDITOR.dom.walker.editable(),d=CKEDITOR.dom.walker.ignored(!0);CKEDITOR.dom.range.prototype={clone:function(){var a=new CKEDITOR.dom.range(this.root);a._setStartContainer(this.startContainer);a.startOffset=this.startOffset;a._setEndContainer(this.endContainer);a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){a?(this._setEndContainer(this.startContainer),this.endOffset=this.startOffset):(this._setStartContainer(this.endContainer),this.startOffset=this.endOffset); -this.collapsed=!0},cloneContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||f(this,2,b,!1,"undefined"==typeof a?!0:a);return b},deleteContents:function(a){this.collapsed||f(this,0,null,a)},extractContents:function(a,b){var d=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||f(this,1,d,a,"undefined"==typeof b?!0:b);return d},createBookmark:function(a){var b,d,c,e,h=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display", -"none");b.setHtml("\x26nbsp;");a&&(c="cke_bm_"+CKEDITOR.tools.getNextNumber(),b.setAttribute("id",c+(h?"C":"S")));h||(d=b.clone(),d.setHtml("\x26nbsp;"),a&&d.setAttribute("id",c+"E"),e=this.clone(),e.collapse(),e.insertNode(d));e=this.clone();e.collapse(!0);e.insertNode(b);d?(this.setStartAfter(b),this.setEndBefore(d)):this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?c+(h?"C":"S"):b,endNode:a?c+"E":d,serializable:a,collapsed:h}},createBookmark2:function(){function a(g){var b= -g.container,c=g.offset,e;e=b;var h=c;e=e.type!=CKEDITOR.NODE_ELEMENT||0===h||h==e.getChildCount()?0:e.getChild(h-1).type==CKEDITOR.NODE_TEXT&&e.getChild(h).type==CKEDITOR.NODE_TEXT;e&&(b=b.getChild(c-1),c=b.getLength());if(b.type==CKEDITOR.NODE_ELEMENT&&0=a.offset&&(a.offset=c.getIndex(),a.container=c.getParent()))}}var d=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_TEXT,!0);return function(d){var c=this.collapsed,e={container:this.startContainer, -offset:this.startOffset},h={container:this.endContainer,offset:this.endOffset};d&&(a(e),b(e,this.root),c||(a(h),b(h,this.root)));return{start:e.container.getAddress(d),end:c?null:h.container.getAddress(d),startOffset:e.offset,endOffset:h.offset,normalized:d,collapsed:c,is2:!0}}}(),moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),d=a.startOffset,c=a.end&&this.document.getByAddress(a.end,a.normalized);a=a.endOffset;this.setStart(b,d);c?this.setEnd(c,a):this.collapse(!0)}else b= -(d=a.serializable)?this.document.getById(a.startNode):a.startNode,a=d?this.document.getById(a.endNode):a.endNode,this.setStartBefore(b),b.remove(),a?(this.setEndBefore(a),a.remove()):this.collapse(!0)},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,d=this.startOffset,c=this.endOffset,e;if(a.type==CKEDITOR.NODE_ELEMENT)if(e=a.getChildCount(),e>d)a=a.getChild(d);else if(1>e)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a= -a.getNextSourceNode()||a}if(b.type==CKEDITOR.NODE_ELEMENT)if(e=b.getChildCount(),e>c)b=b.getChild(c).getPreviousSourceNode(!0);else if(1>e)b=b.getPreviousSourceNode();else{for(b=b.$;b.lastChild;)b=b.lastChild;b=new CKEDITOR.dom.node(b)}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var d=this.startContainer,c=this.endContainer,d=d.equals(c)?a&&d.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?d.getChild(this.startOffset): +getChildCount:1,getChild:1,getChildren:1}),function(){function a(a,g){var b=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(b.collapsed)return this.end(),null;b.optimize()}var d,c=b.startContainer;d=b.endContainer;var f=b.startOffset,h=b.endOffset,p,e=this.guard,k=this.type,m=a?"getPreviousSourceNode":"getNextSourceNode";if(!a&&!this._.guardLTR){var l=d.type==CKEDITOR.NODE_ELEMENT?d:d.getParent(),A=d.type==CKEDITOR.NODE_ELEMENT?d.getChild(h):d.getNext();this._.guardLTR=function(a, +g){return(!g||!l.equals(a))&&(!A||!a.equals(A))&&(a.type!=CKEDITOR.NODE_ELEMENT||!g||!a.equals(b.root))}}if(a&&!this._.guardRTL){var C=c.type==CKEDITOR.NODE_ELEMENT?c:c.getParent(),E=c.type==CKEDITOR.NODE_ELEMENT?f?c.getChild(f-1):null:c.getPrevious();this._.guardRTL=function(a,g){return(!g||!C.equals(a))&&(!E||!a.equals(E))&&(a.type!=CKEDITOR.NODE_ELEMENT||!g||!a.equals(b.root))}}var D=a?this._.guardRTL:this._.guardLTR;p=e?function(a,g){return!1===D(a,g)?!1:e(a,g)}:D;this.current?d=this.current[m](!1, +k,p):(a?d.type==CKEDITOR.NODE_ELEMENT&&(d=0=l.getChildCount()?(l=l.getChild(A-1),E=!0):l=l.getChild(A):I=E=!0;x.type==CKEDITOR.NODE_TEXT?t?H=!0:x.split(z):0X)for(;W;)W=n(W,O,!0);O=T}t||e()}}function c(){var a=!1,b=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(!0),c=CKEDITOR.dom.walker.bogus();return function(f){return d(f)||b(f)?!0:c(f)&&!a?a=!0:f.type==CKEDITOR.NODE_TEXT&&(f.hasAscendant("pre")||CKEDITOR.tools.trim(f.getText()).length)||f.type==CKEDITOR.NODE_ELEMENT&&!f.is(m)?!1:!0}}function f(a){var b=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(1); +return function(c){return d(c)||b(c)?!0:!a&&l(c)||c.type==CKEDITOR.NODE_ELEMENT&&c.is(CKEDITOR.dtd.$removeEmpty)}}function h(a){return function(){var c;return this[a?"getPreviousNode":"getNextNode"](function(a){!c&&b(a)&&(c=a);return d(a)&&!(l(a)&&a.equals(c))})}}var m={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},l=CKEDITOR.dom.walker.bogus(),k=/^[\t\r\n ]*(?: |\xa0)$/, +d=CKEDITOR.dom.walker.editable(),b=CKEDITOR.dom.walker.ignored(!0);CKEDITOR.dom.range.prototype={clone:function(){var a=new CKEDITOR.dom.range(this.root);a._setStartContainer(this.startContainer);a.startOffset=this.startOffset;a._setEndContainer(this.endContainer);a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){a?(this._setEndContainer(this.startContainer),this.endOffset=this.startOffset):(this._setStartContainer(this.endContainer),this.startOffset=this.endOffset); +this.collapsed=!0},cloneContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||e(this,2,b,!1,"undefined"==typeof a?!0:a);return b},deleteContents:function(a){this.collapsed||e(this,0,null,a)},extractContents:function(a,b){var d=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||e(this,1,d,a,"undefined"==typeof b?!0:b);return d},createBookmark:function(a){var b,d,c,f,n=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display", +"none");b.setHtml("\x26nbsp;");a&&(c="cke_bm_"+CKEDITOR.tools.getNextNumber(),b.setAttribute("id",c+(n?"C":"S")));n||(d=b.clone(),d.setHtml("\x26nbsp;"),a&&d.setAttribute("id",c+"E"),f=this.clone(),f.collapse(),f.insertNode(d));f=this.clone();f.collapse(!0);f.insertNode(b);d?(this.setStartAfter(b),this.setEndBefore(d)):this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?c+(n?"C":"S"):b,endNode:a?c+"E":d,serializable:a,collapsed:n}},createBookmark2:function(){function a(g){var b= +g.container,c=g.offset,f;f=b;var h=c;f=f.type!=CKEDITOR.NODE_ELEMENT||0===h||h==f.getChildCount()?0:f.getChild(h-1).type==CKEDITOR.NODE_TEXT&&f.getChild(h).type==CKEDITOR.NODE_TEXT;f&&(b=b.getChild(c-1),c=b.getLength());if(b.type==CKEDITOR.NODE_ELEMENT&&0=a.offset&&(a.offset=c.getIndex(),a.container=c.getParent()))}}var d=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_TEXT,!0);return function(d){var c=this.collapsed,f={container:this.startContainer, +offset:this.startOffset},h={container:this.endContainer,offset:this.endOffset};d&&(a(f),b(f,this.root),c||(a(h),b(h,this.root)));return{start:f.container.getAddress(d),end:c?null:h.container.getAddress(d),startOffset:f.offset,endOffset:h.offset,normalized:d,collapsed:c,is2:!0}}}(),moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),d=a.startOffset,c=a.end&&this.document.getByAddress(a.end,a.normalized);a=a.endOffset;this.setStart(b,d);c?this.setEnd(c,a):this.collapse(!0)}else b= +(d=a.serializable)?this.document.getById(a.startNode):a.startNode,a=d?this.document.getById(a.endNode):a.endNode,this.setStartBefore(b),b.remove(),a?(this.setEndBefore(a),a.remove()):this.collapse(!0)},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,d=this.startOffset,c=this.endOffset,f;if(a.type==CKEDITOR.NODE_ELEMENT)if(f=a.getChildCount(),f>d)a=a.getChild(d);else if(1>f)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a= +a.getNextSourceNode()||a}if(b.type==CKEDITOR.NODE_ELEMENT)if(f=b.getChildCount(),f>c)b=b.getChild(c).getPreviousSourceNode(!0);else if(1>f)b=b.getPreviousSourceNode();else{for(b=b.$;b.lastChild;)b=b.lastChild;b=new CKEDITOR.dom.node(b)}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var d=this.startContainer,c=this.endContainer,d=d.equals(c)?a&&d.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?d.getChild(this.startOffset): d:d.getCommonAncestor(c);return b&&!d.is?d.getParent():d},optimize:function(){var a=this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setStartAfter(a):this.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,b=this.endContainer;a.is&&a.is("span")&&a.data("cke-bookmark")&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START); -b&&b.is&&b.is("span")&&b.data("cke-bookmark")&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},trim:function(a,b){var d=this.startContainer,c=this.startOffset,e=this.collapsed;if((!a||e)&&d&&d.type==CKEDITOR.NODE_TEXT){if(c)if(c>=d.getLength())c=d.getIndex()+1,d=d.getParent();else{var h=d.split(c),c=d.getIndex()+1,d=d.getParent();this.startContainer.equals(this.endContainer)?this.setEnd(h,this.endOffset-this.startOffset):d.equals(this.endContainer)&&(this.endOffset+=1)}else c=d.getIndex(),d=d.getParent(); -this.setStart(d,c);if(e){this.collapse(!0);return}}d=this.endContainer;c=this.endOffset;b||e||!d||d.type!=CKEDITOR.NODE_TEXT||(c?(c>=d.getLength()||d.split(c),c=d.getIndex()+1):c=d.getIndex(),d=d.getParent(),this.setEnd(d,c))},enlarge:function(a,b){function d(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")?null:a}var c=new RegExp(/[^\s\ufeff]/);switch(a){case CKEDITOR.ENLARGE_INLINE:var e=1;case CKEDITOR.ENLARGE_ELEMENT:var h=function(a,b){var d=new CKEDITOR.dom.range(k); -d.setStart(a,b);d.setEndAt(k,CKEDITOR.POSITION_BEFORE_END);var d=new CKEDITOR.dom.walker(d),g;for(d.guard=function(a){return!(a.type==CKEDITOR.NODE_ELEMENT&&a.isBlockBoundary())};g=d.next();){if(g.type!=CKEDITOR.NODE_TEXT)return!1;D=g!=a?g.getText():g.substring(b);if(c.test(D))return!1}return!0};if(this.collapsed)break;var f=this.getCommonAncestor(),k=this.root,m,l,r,w,B,z=!1,y,D;y=this.startContainer;var F=this.startOffset;y.type==CKEDITOR.NODE_TEXT?(F&&(y=!CKEDITOR.tools.trim(y.substring(0,F)).length&& -y,z=!!y),y&&((w=y.getPrevious())||(r=y.getParent()))):(F&&(w=y.getChild(F-1)||y.getLast()),w||(r=y));for(r=d(r);r||w;){if(r&&!w){!B&&r.equals(f)&&(B=!0);if(e?r.isBlockBoundary():!k.contains(r))break;z&&"inline"==r.getComputedStyle("display")||(z=!1,B?m=r:this.setStartBefore(r));w=r.getPrevious()}for(;w;)if(y=!1,w.type==CKEDITOR.NODE_COMMENT)w=w.getPrevious();else{if(w.type==CKEDITOR.NODE_TEXT)D=w.getText(),c.test(D)&&(w=null),y=/[\s\ufeff]$/.test(D);else if((w.$.offsetWidth>(CKEDITOR.env.webkit?1: -0)||b&&w.is("br"))&&!w.data("cke-bookmark"))if(z&&CKEDITOR.dtd.$removeEmpty[w.getName()]){D=w.getText();if(c.test(D))w=null;else for(var F=w.$.getElementsByTagName("*"),E=0,L;L=F[E++];)if(!CKEDITOR.dtd.$removeEmpty[L.nodeName.toLowerCase()]){w=null;break}w&&(y=!!D.length)}else w=null;y&&(z?B?m=r:r&&this.setStartBefore(r):z=!0);if(w){y=w.getPrevious();if(!r&&!y){r=w;w=null;break}w=y}else r=null}r&&(r=d(r.getParent()))}y=this.endContainer;F=this.endOffset;r=w=null;B=z=!1;y.type==CKEDITOR.NODE_TEXT? -CKEDITOR.tools.trim(y.substring(F)).length?z=!0:(z=!y.getLength(),F==y.getLength()?(w=y.getNext())||(r=y.getParent()):h(y,F)&&(r=y.getParent())):(w=y.getChild(F))||(r=y);for(;r||w;){if(r&&!w){!B&&r.equals(f)&&(B=!0);if(e?r.isBlockBoundary():!k.contains(r))break;z&&"inline"==r.getComputedStyle("display")||(z=!1,B?l=r:r&&this.setEndAfter(r));w=r.getNext()}for(;w;){y=!1;if(w.type==CKEDITOR.NODE_TEXT)D=w.getText(),h(w,0)||(w=null),y=/^[\s\ufeff]/.test(D);else if(w.type==CKEDITOR.NODE_ELEMENT){if((0=e.getLength()?c.setStartAfter(e):(c.setStartBefore(e),m=0):c.setStartBefore(e));h&&h.type==CKEDITOR.NODE_TEXT&&(f?f>=h.getLength()?c.setEndAfter(h):(c.setEndAfter(h),l=0):c.setEndBefore(h));var c=new CKEDITOR.dom.walker(c),r=CKEDITOR.dom.walker.bookmark();c.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var w;c.guard=function(b,c){if(r(b))return!0;if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||c&&b.equals(w)||!1===d&&b.type== -CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary()||b.type==CKEDITOR.NODE_ELEMENT&&b.hasAttribute("contenteditable"))return!1;c||b.type!=CKEDITOR.NODE_ELEMENT||(w=b);return!0};m&&(e=c[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(e,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);l&&(c.reset(),(c=c[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(c,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END));return!(!m&&!l)}},insertNode:function(a){this.optimizeBookmark(); +b&&b.is&&b.is("span")&&b.data("cke-bookmark")&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},trim:function(a,b){var d=this.startContainer,c=this.startOffset,f=this.collapsed;if((!a||f)&&d&&d.type==CKEDITOR.NODE_TEXT){if(c)if(c>=d.getLength())c=d.getIndex()+1,d=d.getParent();else{var h=d.split(c),c=d.getIndex()+1,d=d.getParent();this.startContainer.equals(this.endContainer)?this.setEnd(h,this.endOffset-this.startOffset):d.equals(this.endContainer)&&(this.endOffset+=1)}else c=d.getIndex(),d=d.getParent(); +this.setStart(d,c);if(f){this.collapse(!0);return}}d=this.endContainer;c=this.endOffset;b||f||!d||d.type!=CKEDITOR.NODE_TEXT||(c?(c>=d.getLength()||d.split(c),c=d.getIndex()+1):c=d.getIndex(),d=d.getParent(),this.setEnd(d,c))},enlarge:function(a,b){function d(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")?null:a}var c=new RegExp(/[^\s\ufeff]/);switch(a){case CKEDITOR.ENLARGE_INLINE:var f=1;case CKEDITOR.ENLARGE_ELEMENT:var h=function(a,b){var d=new CKEDITOR.dom.range(k); +d.setStart(a,b);d.setEndAt(k,CKEDITOR.POSITION_BEFORE_END);var d=new CKEDITOR.dom.walker(d),g;for(d.guard=function(a){return!(a.type==CKEDITOR.NODE_ELEMENT&&a.isBlockBoundary())};g=d.next();){if(g.type!=CKEDITOR.NODE_TEXT)return!1;C=g!=a?g.getText():g.substring(b);if(c.test(C))return!1}return!0};if(this.collapsed)break;var e=this.getCommonAncestor(),k=this.root,l,m,t,x,F,z=!1,A,C;A=this.startContainer;var E=this.startOffset;A.type==CKEDITOR.NODE_TEXT?(E&&(A=!CKEDITOR.tools.trim(A.substring(0,E)).length&& +A,z=!!A),A&&((x=A.getPrevious())||(t=A.getParent()))):(E&&(x=A.getChild(E-1)||A.getLast()),x||(t=A));for(t=d(t);t||x;){if(t&&!x){!F&&t.equals(e)&&(F=!0);if(f?t.isBlockBoundary():!k.contains(t))break;z&&"inline"==t.getComputedStyle("display")||(z=!1,F?l=t:this.setStartBefore(t));x=t.getPrevious()}for(;x;)if(A=!1,x.type==CKEDITOR.NODE_COMMENT)x=x.getPrevious();else{if(x.type==CKEDITOR.NODE_TEXT)C=x.getText(),c.test(C)&&(x=null),A=/[\s\ufeff]$/.test(C);else if((x.$.offsetWidth>(CKEDITOR.env.webkit?1: +0)||b&&x.is("br"))&&!x.data("cke-bookmark"))if(z&&CKEDITOR.dtd.$removeEmpty[x.getName()]){C=x.getText();if(c.test(C))x=null;else for(var E=x.$.getElementsByTagName("*"),D=0,I;I=E[D++];)if(!CKEDITOR.dtd.$removeEmpty[I.nodeName.toLowerCase()]){x=null;break}x&&(A=!!C.length)}else x=null;A&&(z?F?l=t:t&&this.setStartBefore(t):z=!0);if(x){A=x.getPrevious();if(!t&&!A){t=x;x=null;break}x=A}else t=null}t&&(t=d(t.getParent()))}A=this.endContainer;E=this.endOffset;t=x=null;F=z=!1;A.type==CKEDITOR.NODE_TEXT? +CKEDITOR.tools.trim(A.substring(E)).length?z=!0:(z=!A.getLength(),E==A.getLength()?(x=A.getNext())||(t=A.getParent()):h(A,E)&&(t=A.getParent())):(x=A.getChild(E))||(t=A);for(;t||x;){if(t&&!x){!F&&t.equals(e)&&(F=!0);if(f?t.isBlockBoundary():!k.contains(t))break;z&&"inline"==t.getComputedStyle("display")||(z=!1,F?m=t:t&&this.setEndAfter(t));x=t.getNext()}for(;x;){A=!1;if(x.type==CKEDITOR.NODE_TEXT)C=x.getText(),h(x,0)||(x=null),A=/^[\s\ufeff]/.test(C);else if(x.type==CKEDITOR.NODE_ELEMENT){if((0=f.getLength()?c.setStartAfter(f):(c.setStartBefore(f),l=0):c.setStartBefore(f));h&&h.type==CKEDITOR.NODE_TEXT&&(k?k>=h.getLength()?c.setEndAfter(h):(c.setEndAfter(h),m=0):c.setEndBefore(h));var c=new CKEDITOR.dom.walker(c),t=CKEDITOR.dom.walker.bookmark();c.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var x;c.guard=function(b,c){if(t(b))return!0;if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||c&&b.equals(x)||!1===d&&b.type== +CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary()||b.type==CKEDITOR.NODE_ELEMENT&&b.hasAttribute("contenteditable"))return!1;c||b.type!=CKEDITOR.NODE_ELEMENT||(x=b);return!0};l&&(f=c[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(f,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);m&&(c.reset(),(c=c[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(c,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END));return!(!l&&!m)}},insertNode:function(a){this.optimizeBookmark(); this.trim(!1,!0);var b=this.startContainer,d=b.getChild(this.startOffset);d?a.insertBefore(d):b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(!0)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a,a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())}, setStart:function(b,d){b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]&&(d=b.getIndex(),b=b.getParent());this._setStartContainer(b);this.startOffset=d;this.endContainer||(this._setEndContainer(b),this.endOffset=d);a(this)},setEnd:function(b,d){b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]&&(d=b.getIndex()+1,b=b.getParent());this._setEndContainer(b);this.endOffset=d;this.startContainer||(this._setStartContainer(b),this.startOffset=d);a(this)},setStartAfter:function(a){this.setStart(a.getParent(), a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),a.getIndex())},setStartAt:function(b,d){switch(d){case CKEDITOR.POSITION_AFTER_START:this.setStart(b,0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setStart(b,b.getLength()):this.setStart(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(b); break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(b)}a(this)},setEndAt:function(b,d){switch(d){case CKEDITOR.POSITION_AFTER_START:this.setEnd(b,0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setEnd(b,b.getLength()):this.setEnd(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(b);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(b)}a(this)},fixBlock:function(a,b){var d=this.createBookmark(),c=this.document.createElement(b);this.collapse(a); -this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(c);c.trim();this.insertNode(c);var e=c.getBogus();e&&e.remove();c.appendBogus();this.moveToBookmark(d);return c},splitBlock:function(a,b){var d=new CKEDITOR.dom.elementPath(this.startContainer,this.root),c=new CKEDITOR.dom.elementPath(this.endContainer,this.root),e=d.block,h=c.block,k=null;if(!d.blockLimit.equals(c.blockLimit))return null;"br"!=a&&(e||(e=this.fixBlock(!0,a),h=(new CKEDITOR.dom.elementPath(this.endContainer, -this.root)).block),h||(h=this.fixBlock(!1,a)));d=e&&this.checkStartOfBlock();c=h&&this.checkEndOfBlock();this.deleteContents();e&&e.equals(h)&&(c?(k=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(h,CKEDITOR.POSITION_AFTER_END),h=null):d?(k=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START),e=null):(h=this.splitElement(e,b||!1),e.is("ul","ol")||e.appendBogus()));return{previousBlock:e,nextBlock:h,wasStartOfBlock:d, -wasEndOfBlock:c,elementPath:k}},splitElement:function(a,b){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var d=this.extractContents(!1,b||!1),c=a.clone(!1,b||!1);d.appendTo(c);c.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return c},removeEmptyBlocksAtEnd:function(){function a(g){return function(a){return b(a)||d(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable()||g.is("table")&&a.is("caption")?!1:!0}}var b=CKEDITOR.dom.walker.whitespaces(), -d=CKEDITOR.dom.walker.bookmark(!1);return function(b){for(var d=this.createBookmark(),c=this[b?"endPath":"startPath"](),e=c.block||c.blockLimit,h;e&&!e.equals(c.root)&&!e.getFirst(a(e));)h=e.getParent(),this[b?"setEndAt":"setStartAt"](e,CKEDITOR.POSITION_AFTER_END),e.remove(1),e=h;this.moveToBookmark(d)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,this.root)},checkBoundaryOfElement:function(a, -b){var d=b==CKEDITOR.START,c=this.clone();c.collapse(d);c[d?"setStartAt":"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(c);c.evaluator=e(d);return c[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,b=this.startOffset;CKEDITOR.env.ie&&b&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.ltrim(a.substring(0,b)),k.test(a)&&this.trim(0,1));this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer,this.root); +this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(c);c.trim();this.insertNode(c);var f=c.getBogus();f&&f.remove();c.appendBogus();this.moveToBookmark(d);return c},splitBlock:function(a,b){var d=new CKEDITOR.dom.elementPath(this.startContainer,this.root),c=new CKEDITOR.dom.elementPath(this.endContainer,this.root),f=d.block,h=c.block,e=null;if(!d.blockLimit.equals(c.blockLimit))return null;"br"!=a&&(f||(f=this.fixBlock(!0,a),h=(new CKEDITOR.dom.elementPath(this.endContainer, +this.root)).block),h||(h=this.fixBlock(!1,a)));d=f&&this.checkStartOfBlock();c=h&&this.checkEndOfBlock();this.deleteContents();f&&f.equals(h)&&(c?(e=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(h,CKEDITOR.POSITION_AFTER_END),h=null):d?(e=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(f,CKEDITOR.POSITION_BEFORE_START),f=null):(h=this.splitElement(f,b||!1),f.is("ul","ol")||f.appendBogus()));return{previousBlock:f,nextBlock:h,wasStartOfBlock:d, +wasEndOfBlock:c,elementPath:e}},splitElement:function(a,b){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var d=this.extractContents(!1,b||!1),c=a.clone(!1,b||!1);d.appendTo(c);c.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return c},removeEmptyBlocksAtEnd:function(){function a(g){return function(a){return b(a)||d(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable()||g.is("table")&&a.is("caption")?!1:!0}}var b=CKEDITOR.dom.walker.whitespaces(), +d=CKEDITOR.dom.walker.bookmark(!1);return function(b){for(var d=this.createBookmark(),c=this[b?"endPath":"startPath"](),f=c.block||c.blockLimit,h;f&&!f.equals(c.root)&&!f.getFirst(a(f));)h=f.getParent(),this[b?"setEndAt":"setStartAt"](f,CKEDITOR.POSITION_AFTER_END),f.remove(1),f=h;this.moveToBookmark(d)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,this.root)},checkBoundaryOfElement:function(a, +b){var d=b==CKEDITOR.START,c=this.clone();c.collapse(d);c[d?"setStartAt":"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(c);c.evaluator=f(d);return c[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,b=this.startOffset;CKEDITOR.env.ie&&b&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.ltrim(a.substring(0,b)),k.test(a)&&this.trim(0,1));this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer,this.root); b=this.clone();b.collapse(!0);b.setStartAt(a.block||a.blockLimit,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(b);a.evaluator=c();return a.checkBackward()},checkEndOfBlock:function(){var a=this.endContainer,b=this.endOffset;CKEDITOR.env.ie&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.rtrim(a.substring(b)),k.test(a)&&this.trim(1,0));this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer,this.root);b=this.clone();b.collapse(!1);b.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END); a=new CKEDITOR.dom.walker(b);a.evaluator=c();return a.checkForward()},getPreviousNode:function(a,b,d){var c=this.clone();c.collapse(1);c.setStartAt(d||this.root,CKEDITOR.POSITION_AFTER_START);d=new CKEDITOR.dom.walker(c);d.evaluator=a;d.guard=b;return d.previous()},getNextNode:function(a,b,d){var c=this.clone();c.collapse();c.setEndAt(d||this.root,CKEDITOR.POSITION_BEFORE_END);d=new CKEDITOR.dom.walker(c);d.evaluator=a;d.guard=b;return d.next()},checkReadOnly:function(){function a(b,d){for(;b;){if(b.type== -CKEDITOR.NODE_ELEMENT){if("false"==b.getAttribute("contentEditable")&&!b.data("cke-editable"))return 0;if(b.is("html")||"true"==b.getAttribute("contentEditable")&&(b.contains(d)||b.equals(d)))break}b=b.getParent()}return 1}return function(){var b=this.startContainer,d=this.endContainer;return!(a(b,d)&&a(d,b))}}(),moveToElementEditablePosition:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(!1))return this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START), -!0;for(var c=0;a;){if(a.type==CKEDITOR.NODE_TEXT){b&&this.endContainer&&this.checkEndOfBlock()&&k.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);c=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable())this.moveToPosition(a,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START),c=1;else if(b&&a.is("br")&&this.endContainer&&this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START); -else if("false"==a.getAttribute("contenteditable")&&a.is(CKEDITOR.dtd.$block))return this.setStartBefore(a),this.setEndAfter(a),!0;var e=a,h=c,n=void 0;e.type==CKEDITOR.NODE_ELEMENT&&e.isEditable(!1)&&(n=e[b?"getLast":"getFirst"](d));h||n||(n=e[b?"getPrevious":"getNext"](d));a=n}return!!c},moveToClosestEditablePosition:function(a,b){var d,c=0,e,h,k=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];a?(d=new CKEDITOR.dom.range(this.root),d.moveToPosition(a,k[b?0:1])):d=this.clone();if(a&& -!a.is(CKEDITOR.dtd.$block))c=1;else if(e=d[b?"getNextEditableNode":"getPreviousEditableNode"]())c=1,(h=e.type==CKEDITOR.NODE_ELEMENT)&&e.is(CKEDITOR.dtd.$block)&&"false"==e.getAttribute("contenteditable")?(d.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),d.setEndAt(e,CKEDITOR.POSITION_AFTER_END)):!CKEDITOR.env.needsBrFiller&&h&&e.is(CKEDITOR.dom.walker.validEmptyBlockContainers)?(d.setEnd(e,0),d.collapse()):d.moveToPosition(e,k[b?1:0]);c&&this.moveToRange(d);return!!c},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)}, +CKEDITOR.NODE_ELEMENT){if("false"==b.getAttribute("contentEditable")&&!b.data("cke-editable"))return 0;if(b.is("html")||"true"==b.getAttribute("contentEditable")&&(b.contains(d)||b.equals(d)))break}b=b.getParent()}return 1}return function(){var b=this.startContainer,d=this.endContainer;return!(a(b,d)&&a(d,b))}}(),moveToElementEditablePosition:function(a,d){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(!1))return this.moveToPosition(a,d?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START), +!0;for(var c=0;a;){if(a.type==CKEDITOR.NODE_TEXT){d&&this.endContainer&&this.checkEndOfBlock()&&k.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,d?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);c=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable())this.moveToPosition(a,d?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START),c=1;else if(d&&a.is("br")&&this.endContainer&&this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START); +else if("false"==a.getAttribute("contenteditable")&&a.is(CKEDITOR.dtd.$block))return this.setStartBefore(a),this.setEndAfter(a),!0;var f=a,h=c,n=void 0;f.type==CKEDITOR.NODE_ELEMENT&&f.isEditable(!1)&&(n=f[d?"getLast":"getFirst"](b));h||n||(n=f[d?"getPrevious":"getNext"](b));a=n}return!!c},moveToClosestEditablePosition:function(a,b){var d,c=0,f,h,e=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];a?(d=new CKEDITOR.dom.range(this.root),d.moveToPosition(a,e[b?0:1])):d=this.clone();if(a&& +!a.is(CKEDITOR.dtd.$block))c=1;else if(f=d[b?"getNextEditableNode":"getPreviousEditableNode"]())c=1,(h=f.type==CKEDITOR.NODE_ELEMENT)&&f.is(CKEDITOR.dtd.$block)&&"false"==f.getAttribute("contenteditable")?(d.setStartAt(f,CKEDITOR.POSITION_BEFORE_START),d.setEndAt(f,CKEDITOR.POSITION_AFTER_END)):!CKEDITOR.env.needsBrFiller&&h&&f.is(CKEDITOR.dom.walker.validEmptyBlockContainers)?(d.setEnd(f,0),d.collapse()):d.moveToPosition(f,e[b?1:0]);c&&this.moveToRange(d);return!!c},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)}, moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,!0)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(!1,!0),d=CKEDITOR.dom.walker.whitespaces(!0);a.evaluator=function(a){return d(a)&&b(a)};var c=a.next();a.reset();return c&&c.equals(a.previous())?c:null},getTouchedStartNode:function(){var a=this.startContainer; -return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:h(),getPreviousEditableNode:h(1),scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",this.document),b,d,c,e=this.clone();e.optimize();(c=e.startContainer.type==CKEDITOR.NODE_TEXT)?(d=e.startContainer.getText(), -b=e.startContainer.split(e.startOffset),a.insertAfter(e.startContainer)):e.insertNode(a);a.scrollIntoView();c&&(e.startContainer.setText(d),b.remove());a.remove()},_setStartContainer:function(a){this.startContainer=a},_setEndContainer:function(a){this.endContainer=a},_find:function(a,b){var d=this.getCommonAncestor(),c=this.getBoundaryNodes(),e=[],h,k,f,m;if(d&&d.find)for(k=d.find(a),h=0;h -arguments.length||(this.range=a,this.forceBrBreak=0,this.enlargeBr=1,this.enforceRealBlocks=0,this._||(this._={}))}function f(a){var b=[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return b.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return b}function c(a,b,e,h){a:{null==h&&(h=f(e));for(var k;k=h.shift();)if(k.getDtd().p){h={element:k,remaining:h};break a}h=null}if(!h)return 0;if((k=CKEDITOR.filter.instances[h.element.data("cke-filter")])&&!k.check(b))return c(a,b,e,h.remaining); -b=new CKEDITOR.dom.range(h.element);b.selectNodeContents(h.element);b=b.createIterator();b.enlargeBr=a.enlargeBr;b.enforceRealBlocks=a.enforceRealBlocks;b.activeFilter=b.filter=k;a._.nestedEditable={element:h.element,container:e,remaining:h.remaining,iterator:b};return 1}function e(a,b,c){if(!b)return!1;a=a.clone();a.collapse(!c);return a.checkBoundaryOfElement(b,c?CKEDITOR.START:CKEDITOR.END)}var h=/^[\r\n\t ]+$/,m=CKEDITOR.dom.walker.bookmark(!1,!0),l=CKEDITOR.dom.walker.whitespaces(!0),k=function(a){return m(a)&& -l(a)},b={dd:1,dt:1,li:1};a.prototype={getNextParagraph:function(a){var g,f,l,u,t;a=a||"p";if(this._.nestedEditable){if(g=this._.nestedEditable.iterator.getNextParagraph(a))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,g;this.activeFilter=this.filter;if(c(this,a,this._.nestedEditable.container,this._.nestedEditable.remaining))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,this._.nestedEditable.iterator.getNextParagraph(a);this._.nestedEditable=null}if(!this.range.root.getDtd()[a])return null; -if(!this._.started){var n=this.range.clone();f=n.startPath();var q=n.endPath(),x=!n.collapsed&&e(n,f.block),A=!n.collapsed&&e(n,q.block,1);n.shrink(CKEDITOR.SHRINK_ELEMENT,!0);x&&n.setStartAt(f.block,CKEDITOR.POSITION_BEFORE_END);A&&n.setEndAt(q.block,CKEDITOR.POSITION_AFTER_START);f=n.endContainer.hasAscendant("pre",!0)||n.startContainer.hasAscendant("pre",!0);n.enlarge(this.forceBrBreak&&!f||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);n.collapsed||(f=new CKEDITOR.dom.walker(n.clone()), -q=CKEDITOR.dom.walker.bookmark(!0,!0),f.evaluator=q,this._.nextNode=f.next(),f=new CKEDITOR.dom.walker(n.clone()),f.evaluator=q,f=f.previous(),this._.lastNode=f.getNextSourceNode(!0,null,n.root),this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()&&(q=this.range.clone(),q.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END),q.checkEndOfBlock()&&(q=new CKEDITOR.dom.elementPath(q.endContainer, -q.root),this._.lastNode=(q.block||q.blockLimit).getNextSourceNode(!0))),this._.lastNode&&n.root.contains(this._.lastNode)||(this._.lastNode=this._.docEndMarker=n.document.createText(""),this._.lastNode.insertAfter(f)),n=null);this._.started=1;f=n}q=this._.nextNode;n=this._.lastNode;for(this._.nextNode=null;q;){var x=0,A=q.hasAscendant("pre"),C=q.type!=CKEDITOR.NODE_ELEMENT,r=0;if(C)q.type==CKEDITOR.NODE_TEXT&&h.test(q.getText())&&(C=0);else{var w=q.getName();if(CKEDITOR.dtd.$block[w]&&"false"==q.getAttribute("contenteditable")){g= -q;c(this,a,g);break}else if(q.isBlockBoundary(this.forceBrBreak&&!A&&{br:1})){if("br"==w)C=1;else if(!f&&!q.getChildCount()&&"hr"!=w){g=q;l=q.equals(n);break}f&&(f.setEndAt(q,CKEDITOR.POSITION_BEFORE_START),"br"!=w&&(this._.nextNode=q));x=1}else{if(q.getFirst()){f||(f=this.range.clone(),f.setStartAt(q,CKEDITOR.POSITION_BEFORE_START));q=q.getFirst();continue}C=1}}C&&!f&&(f=this.range.clone(),f.setStartAt(q,CKEDITOR.POSITION_BEFORE_START));l=(!x||C)&&q.equals(n);if(f&&!x)for(;!q.getNext(k)&&!l;){w= -q.getParent();if(w.isBlockBoundary(this.forceBrBreak&&!A&&{br:1})){x=1;C=0;l||w.equals(n);f.setEndAt(w,CKEDITOR.POSITION_BEFORE_END);break}q=w;C=1;l=q.equals(n);r=1}C&&f.setEndAt(q,CKEDITOR.POSITION_AFTER_END);q=this._getNextSourceNode(q,r,n);if((l=!q)||x&&f)break}if(!g){if(!f)return this._.docEndMarker&&this._.docEndMarker.remove(),this._.nextNode=null;g=new CKEDITOR.dom.elementPath(f.startContainer,f.root);q=g.blockLimit;x={div:1,th:1,td:1};g=g.block;!g&&q&&!this.enforceRealBlocks&&x[q.getName()]&& -f.checkStartOfBlock()&&f.checkEndOfBlock()&&!q.equals(f.root)?g=q:!g||this.enforceRealBlocks&&g.is(b)?(g=this.range.document.createElement(a),f.extractContents().appendTo(g),g.trim(),f.insertNode(g),u=t=!0):"li"!=g.getName()?f.checkStartOfBlock()&&f.checkEndOfBlock()||(g=g.clone(!1),f.extractContents().appendTo(g),g.trim(),t=f.splitBlock(),u=!t.wasStartOfBlock,t=!t.wasEndOfBlock,f.insertNode(g)):l||(this._.nextNode=g.equals(n)?null:this._getNextSourceNode(f.getBoundaryNodes().endNode,1,n))}u&&(u= -g.getPrevious())&&u.type==CKEDITOR.NODE_ELEMENT&&("br"==u.getName()?u.remove():u.getLast()&&"br"==u.getLast().$.nodeName.toLowerCase()&&u.getLast().remove());t&&(u=g.getLast())&&u.type==CKEDITOR.NODE_ELEMENT&&"br"==u.getName()&&(!CKEDITOR.env.needsBrFiller||u.getPrevious(m)||u.getNext(m))&&u.remove();this._.nextNode||(this._.nextNode=l||g.equals(n)||!n?null:this._getNextSourceNode(g,1,n));return g},_getNextSourceNode:function(a,b,c){function e(a){return!(a.equals(c)||a.equals(h))}var h=this.range.root; -for(a=a.getNextSourceNode(b,null,e);!m(a);)a=a.getNextSourceNode(b,null,e);return a}};CKEDITOR.dom.range.prototype.createIterator=function(){return new a(this)}}(),CKEDITOR.command=function(a,f){this.uiItems=[];this.exec=function(c){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return!1;this.editorFocus&&a.focus();return!1===this.fire("exec")?!0:!1!==f.exec.call(this,a,c)};this.refresh=function(a,c){if(!this.readOnly&&a.readOnly)return!0;if(this.context&&!c.isContextFor(this.context)|| -!this.checkAllowed(!0))return this.disable(),!0;this.startDisabled||this.enable();this.modes&&!this.modes[a.mode]&&this.disable();return!1===this.fire("refresh",{editor:a,path:c})?!0:f.refresh&&!1!==f.refresh.apply(this,arguments)};var c;this.checkAllowed=function(e){return e||"boolean"!=typeof c?c=a.activeFilter.checkFeature(this):c};CKEDITOR.tools.extend(this,f,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!f.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)},CKEDITOR.command.prototype= +return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:h(),getPreviousEditableNode:h(1),scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",this.document),b,d,c,f=this.clone();f.optimize();(c=f.startContainer.type==CKEDITOR.NODE_TEXT)?(d=f.startContainer.getText(), +b=f.startContainer.split(f.startOffset),a.insertAfter(f.startContainer)):f.insertNode(a);a.scrollIntoView();c&&(f.startContainer.setText(d),b.remove());a.remove()},_setStartContainer:function(a){this.startContainer=a},_setEndContainer:function(a){this.endContainer=a},_find:function(a,b){var d=this.getCommonAncestor(),c=this.getBoundaryNodes(),f=[],h,e,k,l;if(d&&d.find)for(e=d.find(a),h=0;h +arguments.length||(this.range=a,this.forceBrBreak=0,this.enlargeBr=1,this.enforceRealBlocks=0,this._||(this._={}))}function e(a){var d=[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return d.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return d}function c(a,d,f,h){a:{null==h&&(h=e(f));for(var k;k=h.shift();)if(k.getDtd().p){h={element:k,remaining:h};break a}h=null}if(!h)return 0;if((k=CKEDITOR.filter.instances[h.element.data("cke-filter")])&&!k.check(d))return c(a,d,f,h.remaining); +d=new CKEDITOR.dom.range(h.element);d.selectNodeContents(h.element);d=d.createIterator();d.enlargeBr=a.enlargeBr;d.enforceRealBlocks=a.enforceRealBlocks;d.activeFilter=d.filter=k;a._.nestedEditable={element:h.element,container:f,remaining:h.remaining,iterator:d};return 1}function f(a,d,c){if(!d)return!1;a=a.clone();a.collapse(!c);return a.checkBoundaryOfElement(d,c?CKEDITOR.START:CKEDITOR.END)}var h=/^[\r\n\t ]+$/,m=CKEDITOR.dom.walker.bookmark(!1,!0),l=CKEDITOR.dom.walker.whitespaces(!0),k=function(a){return m(a)&& +l(a)},d={dd:1,dt:1,li:1};a.prototype={getNextParagraph:function(a){var g,e,l,r,w;a=a||"p";if(this._.nestedEditable){if(g=this._.nestedEditable.iterator.getNextParagraph(a))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,g;this.activeFilter=this.filter;if(c(this,a,this._.nestedEditable.container,this._.nestedEditable.remaining))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,this._.nestedEditable.iterator.getNextParagraph(a);this._.nestedEditable=null}if(!this.range.root.getDtd()[a])return null; +if(!this._.started){var n=this.range.clone();e=n.startPath();var q=n.endPath(),u=!n.collapsed&&f(n,e.block),B=!n.collapsed&&f(n,q.block,1);n.shrink(CKEDITOR.SHRINK_ELEMENT,!0);u&&n.setStartAt(e.block,CKEDITOR.POSITION_BEFORE_END);B&&n.setEndAt(q.block,CKEDITOR.POSITION_AFTER_START);e=n.endContainer.hasAscendant("pre",!0)||n.startContainer.hasAscendant("pre",!0);n.enlarge(this.forceBrBreak&&!e||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);n.collapsed||(e=new CKEDITOR.dom.walker(n.clone()), +q=CKEDITOR.dom.walker.bookmark(!0,!0),e.evaluator=q,this._.nextNode=e.next(),e=new CKEDITOR.dom.walker(n.clone()),e.evaluator=q,e=e.previous(),this._.lastNode=e.getNextSourceNode(!0,null,n.root),this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()&&(q=this.range.clone(),q.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END),q.checkEndOfBlock()&&(q=new CKEDITOR.dom.elementPath(q.endContainer, +q.root),this._.lastNode=(q.block||q.blockLimit).getNextSourceNode(!0))),this._.lastNode&&n.root.contains(this._.lastNode)||(this._.lastNode=this._.docEndMarker=n.document.createText(""),this._.lastNode.insertAfter(e)),n=null);this._.started=1;e=n}q=this._.nextNode;n=this._.lastNode;for(this._.nextNode=null;q;){var u=0,B=q.hasAscendant("pre"),y=q.type!=CKEDITOR.NODE_ELEMENT,t=0;if(y)q.type==CKEDITOR.NODE_TEXT&&h.test(q.getText())&&(y=0);else{var x=q.getName();if(CKEDITOR.dtd.$block[x]&&"false"==q.getAttribute("contenteditable")){g= +q;c(this,a,g);break}else if(q.isBlockBoundary(this.forceBrBreak&&!B&&{br:1})){if("br"==x)y=1;else if(!e&&!q.getChildCount()&&"hr"!=x){g=q;l=q.equals(n);break}e&&(e.setEndAt(q,CKEDITOR.POSITION_BEFORE_START),"br"!=x&&(this._.nextNode=q));u=1}else{if(q.getFirst()){e||(e=this.range.clone(),e.setStartAt(q,CKEDITOR.POSITION_BEFORE_START));q=q.getFirst();continue}y=1}}y&&!e&&(e=this.range.clone(),e.setStartAt(q,CKEDITOR.POSITION_BEFORE_START));l=(!u||y)&&q.equals(n);if(e&&!u)for(;!q.getNext(k)&&!l;){x= +q.getParent();if(x.isBlockBoundary(this.forceBrBreak&&!B&&{br:1})){u=1;y=0;l||x.equals(n);e.setEndAt(x,CKEDITOR.POSITION_BEFORE_END);break}q=x;y=1;l=q.equals(n);t=1}y&&e.setEndAt(q,CKEDITOR.POSITION_AFTER_END);q=this._getNextSourceNode(q,t,n);if((l=!q)||u&&e)break}if(!g){if(!e)return this._.docEndMarker&&this._.docEndMarker.remove(),this._.nextNode=null;g=new CKEDITOR.dom.elementPath(e.startContainer,e.root);q=g.blockLimit;u={div:1,th:1,td:1};g=g.block;!g&&q&&!this.enforceRealBlocks&&u[q.getName()]&& +e.checkStartOfBlock()&&e.checkEndOfBlock()&&!q.equals(e.root)?g=q:!g||this.enforceRealBlocks&&g.is(d)?(g=this.range.document.createElement(a),e.extractContents().appendTo(g),g.trim(),e.insertNode(g),r=w=!0):"li"!=g.getName()?e.checkStartOfBlock()&&e.checkEndOfBlock()||(g=g.clone(!1),e.extractContents().appendTo(g),g.trim(),w=e.splitBlock(),r=!w.wasStartOfBlock,w=!w.wasEndOfBlock,e.insertNode(g)):l||(this._.nextNode=g.equals(n)?null:this._getNextSourceNode(e.getBoundaryNodes().endNode,1,n))}r&&(r= +g.getPrevious())&&r.type==CKEDITOR.NODE_ELEMENT&&("br"==r.getName()?r.remove():r.getLast()&&"br"==r.getLast().$.nodeName.toLowerCase()&&r.getLast().remove());w&&(r=g.getLast())&&r.type==CKEDITOR.NODE_ELEMENT&&"br"==r.getName()&&(!CKEDITOR.env.needsBrFiller||r.getPrevious(m)||r.getNext(m))&&r.remove();this._.nextNode||(this._.nextNode=l||g.equals(n)||!n?null:this._getNextSourceNode(g,1,n));return g},_getNextSourceNode:function(a,d,c){function f(a){return!(a.equals(c)||a.equals(h))}var h=this.range.root; +for(a=a.getNextSourceNode(d,null,f);!m(a);)a=a.getNextSourceNode(d,null,f);return a}};CKEDITOR.dom.range.prototype.createIterator=function(){return new a(this)}}(),CKEDITOR.command=function(a,e){this.uiItems=[];this.exec=function(c){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return!1;this.editorFocus&&a.focus();return!1===this.fire("exec")?!0:!1!==e.exec.call(this,a,c)};this.refresh=function(a,c){if(!this.readOnly&&a.readOnly)return!0;if(this.context&&!c.isContextFor(this.context)|| +!this.checkAllowed(!0))return this.disable(),!0;this.startDisabled||this.enable();this.modes&&!this.modes[a.mode]&&this.disable();return!1===this.fire("refresh",{editor:a,path:c})?!0:e.refresh&&!1!==e.refresh.apply(this,arguments)};var c;this.checkAllowed=function(f){return f||"boolean"!=typeof c?c=a.activeFilter.checkFeature(this):c};CKEDITOR.tools.extend(this,e,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!e.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)},CKEDITOR.command.prototype= {enable:function(){this.state==CKEDITOR.TRISTATE_DISABLED&&this.checkAllowed()&&this.setState(this.preserveState&&"undefined"!=typeof this.previousState?this.previousState:CKEDITOR.TRISTATE_OFF)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(a){if(this.state==a||a!=CKEDITOR.TRISTATE_DISABLED&&!this.checkAllowed())return!1;this.previousState=this.state;this.state=a;this.fire("state");return!0},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF?this.setState(CKEDITOR.TRISTATE_ON): this.state==CKEDITOR.TRISTATE_ON&&this.setState(CKEDITOR.TRISTATE_OFF)}},CKEDITOR.event.implementOn(CKEDITOR.command.prototype),CKEDITOR.ENTER_P=1,CKEDITOR.ENTER_BR=2,CKEDITOR.ENTER_DIV=3,CKEDITOR.config={customConfig:"config.js",autoUpdateElement:!0,language:"",defaultLanguage:"en",contentsLangDirection:"",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:"\x3c!DOCTYPE html\x3e",bodyId:"",bodyClass:"",fullPage:!1,height:200,contentsCss:CKEDITOR.getUrl("contents.css"), -extraPlugins:"",removePlugins:"",protectedSource:[],tabIndex:0,width:"",baseFloatZIndex:1E4,blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]},function(){function a(a,b,d,c,g){var e,h;a=[];for(e in b){h=b[e];h="boolean"==typeof h?{}:"function"==typeof h?{match:h}:E(h);"$"!=e.charAt(0)&&(h.elements=e);d&&(h.featureName=d.toLowerCase());var f=h;f.elements=l(f.elements,/\s+/)||null;f.propertiesOnly=f.propertiesOnly||!0===f.elements;var n=/\s*,\s*/,k=void 0;for(k in N){f[k]=l(f[k], -n)||null;var r=f,m=O[k],p=l(f[O[k]],n),w=f[k],q=[],C=!0,B=void 0;p?C=!1:p={};for(B in w)"!"==B.charAt(0)&&(B=B.slice(1),q.push(B),p[B]=!0,C=!1);for(;B=q.pop();)w[B]=w["!"+B],delete w["!"+B];r[m]=(C?!1:p)||null}f.match=f.match||null;c.push(h);a.push(h)}b=g.elements;g=g.generic;var t;d=0;for(c=a.length;d=--k&&(m&&CKEDITOR.document.getDocumentElement().removeStyle("cursor"),g(c))},v=function(b,d){a[b]=1;var c=f[b];delete f[b];for(var g=0;g=CKEDITOR.env.version||CKEDITOR.env.ie9Compat)?c.$.onreadystatechange=function(){if("loaded"== -c.$.readyState||"complete"==c.$.readyState)c.$.onreadystatechange=null,v(b,!0)}:(c.$.onload=function(){setTimeout(function(){v(b,!0)},0)},c.$.onerror=function(){v(b,!1)}));c.appendTo(CKEDITOR.document.getHead())}}};m&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var t=0;t=--k&&(m&&CKEDITOR.document.getDocumentElement().removeStyle("cursor"),g(c))},v=function(b,d){a[b]=1;var c=e[b];delete e[b];for(var g=0;g=CKEDITOR.env.version||CKEDITOR.env.ie9Compat)? +c.$.onreadystatechange=function(){if("loaded"==c.$.readyState||"complete"==c.$.readyState)c.$.onreadystatechange=null,v(b,!0)}:(c.$.onload=function(){setTimeout(function(){v(b,!0)},0)},c.$.onerror=function(){v(b,!1)}));c.appendTo(CKEDITOR.document.getHead())}}};m&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var w=0;w]+)>)|(?:!--([\S|\s]*?)--\x3e)|(?:([^\/\s>]+)((?:\s+[\w\-:.]+(?:\s*=\s*?(?:(?:"[^"]*")|(?:'[^']*')|[^\s"'\/>]+))?)*)[\S\s]*?(\/?)>))/g}},function(){var a=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,f={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){}, -onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(c){for(var e,h,m=0,l;e=this._.htmlPartsRegex.exec(c);){h=e.index;if(h>m)if(m=c.substring(m,h),l)l.push(m);else this.onText(m);m=this._.htmlPartsRegex.lastIndex;if(h=e[1])if(h=h.toLowerCase(),l&&CKEDITOR.dtd.$cdata[h]&&(this.onCDATA(l.join("")),l=null),!l){this.onTagClose(h);continue}if(l)l.push(e[0]);else if(h=e[3]){if(h=h.toLowerCase(),!/="/.test(h)){var k={},b,d=e[4];e=!!e[5];if(d)for(;b=a.exec(d);){var g=b[1].toLowerCase(); -b=b[2]||b[3]||b[4]||"";k[g]=!b&&f[g]?g:CKEDITOR.tools.htmlDecodeAttr(b)}this.onTagOpen(h,k,e);!l&&CKEDITOR.dtd.$cdata[h]&&(l=[])}}else if(h=e[2])this.onComment(h)}if(c.length>m)this.onText(c.substring(m,c.length))}}}(),CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(a){this._.output.push("\x3c",a)},openTagClose:function(a,f){f?this._.output.push(" /\x3e"):this._.output.push("\x3e")},attribute:function(a,f){"string"==typeof f&&(f= -CKEDITOR.tools.htmlEncodeAttr(f));this._.output.push(" ",a,'\x3d"',f,'"')},closeTag:function(a){this._.output.push("\x3c/",a,"\x3e")},text:function(a){this._.output.push(a)},comment:function(a){this._.output.push("\x3c!--",a,"--\x3e")},write:function(a){this._.output.push(a)},reset:function(){this._.output=[];this._.indent=!1},getHtml:function(a){var f=this._.output.join("");a&&this.reset();return f}}}),"use strict",function(){CKEDITOR.htmlParser.node=function(){};CKEDITOR.htmlParser.node.prototype= -{remove:function(){var a=this.parent.children,f=CKEDITOR.tools.indexOf(a,this),c=this.previous,e=this.next;c&&(c.next=e);e&&(e.previous=c);a.splice(f,1);this.parent=null},replaceWith:function(a){var f=this.parent.children,c=CKEDITOR.tools.indexOf(f,this),e=a.previous=this.previous,h=a.next=this.next;e&&(e.next=a);h&&(h.previous=a);f[c]=a;a.parent=this.parent;this.parent=null},insertAfter:function(a){var f=a.parent.children,c=CKEDITOR.tools.indexOf(f,a),e=a.next;f.splice(c+1,0,this);this.next=a.next; -this.previous=a;a.next=this;e&&(e.previous=this);this.parent=a.parent},insertBefore:function(a){var f=a.parent.children,c=CKEDITOR.tools.indexOf(f,a);f.splice(c,0,this);this.next=a;(this.previous=a.previous)&&(a.previous.next=this);a.previous=this;this.parent=a.parent},getAscendant:function(a){var f="function"==typeof a?a:"string"==typeof a?function(c){return c.name==a}:function(c){return c.name in a},c=this.parent;for(;c&&c.type==CKEDITOR.NODE_ELEMENT;){if(f(c))return c;c=c.parent}return null},wrapWith:function(a){this.replaceWith(a); -a.add(this);return a},getIndex:function(){return CKEDITOR.tools.indexOf(this.parent.children,this)},getFilterContext:function(a){return a||{}}}}(),"use strict",CKEDITOR.htmlParser.comment=function(a){this.value=a;this._={isBlockLike:!1}},CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_COMMENT,filter:function(a,f){var c=this.value;if(!(c=a.onComment(f,c,this)))return this.remove(),!1;if("string"!=typeof c)return this.replaceWith(c),!1;this.value= -c;return!0},writeHtml:function(a,f){f&&this.filter(f);a.comment(this.value)}}),"use strict",function(){CKEDITOR.htmlParser.text=function(a){this.value=a;this._={isBlockLike:!1}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(a,f){if(!(this.value=a.onText(f,this.value,this)))return this.remove(),!1},writeHtml:function(a,f){f&&this.filter(f);a.text(this.value)}})}(),"use strict",function(){CKEDITOR.htmlParser.cdata=function(a){this.value= -a};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(a){a.write(this.value)}})}(),"use strict",CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:!0,hasInlineStarted:!1}},function(){function a(a){return a.attributes["data-cke-survive"]?!1:"a"==a.name&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var f=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1}, -CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),c={ol:1,ul:1},e=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1}),h={ul:"li",ol:"li",dl:"dd",table:"tbody",tbody:"tr",thead:"tr",tfoot:"tr",tr:"td"};CKEDITOR.htmlParser.fragment.fromHtml=function(m,l,k){function b(a){var b;if(0l;l++)if(f=h[l]){f=f.exec(a,e,this);if(!1===f)return null;if(f&&f!=e)return this.onNode(a,f);if(e.parent&&!e.name)break}return e},onNode:function(a,e){var h=e.type;return h==CKEDITOR.NODE_ELEMENT?this.onElement(a,e):h==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText(a,e.value)): -h==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(a,e.value)):null},onAttribute:function(a,e,h,f){return(h=this.attributesRules[h])?h.exec(a,f,e,this):f}}});CKEDITOR.htmlParser.filterRulesGroup=a;a.prototype={add:function(a,e,h){this.rules.splice(this.findIndex(e),0,{value:a,priority:e,options:h})},addMany:function(a,e,h){for(var f=[this.findIndex(e),0],l=0,k=a.length;l/g, -"\x26gt;")+"\x3c/textarea\x3e");return"\x3ccke:encoded\x3e"+encodeURIComponent(a)+"\x3c/cke:encoded\x3e"})}function p(a){return a.replace(N,function(a,b){return decodeURIComponent(b)})}function v(a){return a.replace(/\x3c!--(?!{cke_protected})[\s\S]+?--\x3e/g,function(a){return"\x3c!--"+x+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\x3e"})}function u(a){return a.replace(/\x3c!--\{cke_protected\}\{C\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)})}function t(a,b){var d=b._.dataStore; -return a.replace(/\x3c!--\{cke_protected\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return d&&d[b]||""})}function n(a,b){var d=[],c=b.config.protectedSource,g=b._.dataStore||(b._.dataStore={id:1}),e=/<\!--\{cke_temp(comment)?\}(\d*?)--\x3e/g,c=[/|$)/gi,//gi,//gi].concat(c);a=a.replace(/\x3c!--[\s\S]*?--\x3e/g,function(a){return"\x3c!--{cke_tempcomment}"+(d.push(a)- -1)+"--\x3e"});for(var h=0;h]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g,function(a){return a.replace(/\x3c!--\{cke_protected\}([^>]*)--\x3e/g,function(a,b){g[g.id]= -decodeURIComponent(b);return"{cke_protected_"+g.id++ +"}"})});return a=a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g,function(a,d,c,g){return"\x3c"+d+c+"\x3e"+t(u(g),b)+"\x3c/"+d+"\x3e"})}CKEDITOR.htmlDataProcessor=function(b){var c,e,h=this;this.editor=b;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=e=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(w);c.addRules(B,{applyToAll:!0});c.addRules(a(b,"data"),{applyToAll:!0}); -e.addRules(z);e.addRules(y,{applyToAll:!0});e.addRules(a(b,"html"),{applyToAll:!0});b.on("toHtml",function(a){a=a.data;var c=a.dataValue,e,c=n(c,b),c=g(c,G),c=d(c),c=g(c,L),c=c.replace(O,"$1cke:$2"),c=c.replace(R,"\x3ccke:$1$2\x3e\x3c/cke:$1\x3e"),c=c.replace(/(]*>)(\r\n|\n)/g,"$1$2$2"),c=c.replace(/([^a-z0-9<\-])(on\w{3,})(?!>)/gi,"$1data-cke-"+CKEDITOR.rnd+"-$2");e=a.context||b.editable().getName();var h;CKEDITOR.env.ie&&9>CKEDITOR.env.version&&"pre"==e&&(e="div",c="\x3cpre\x3e"+c+"\x3c/pre\x3e", -h=1);e=b.document.createElement(e);e.setHtml("a"+c);c=e.getHtml().substr(1);c=c.replace(new RegExp("data-cke-"+CKEDITOR.rnd+"-","ig"),"");h&&(c=c.replace(/^
    |<\/pre>$/gi,""));c=c.replace(I,"$1$2");c=p(c);c=u(c);e=!1===a.fixForBody?!1:f(a.enterMode,b.config.autoParagraph);c=CKEDITOR.htmlParser.fragment.fromHtml(c,a.context,e);e&&(h=c,!h.children.length&&CKEDITOR.dtd[h.name][e]&&(e=new CKEDITOR.htmlParser.element(e),h.add(e)));a.dataValue=c},null,null,5);b.on("toHtml",function(a){a.data.filter.applyTo(a.data.dataValue,
    -!0,a.data.dontFilter,a.data.enterMode)&&b.fire("dataFiltered")},null,null,6);b.on("toHtml",function(a){a.data.dataValue.filterChildren(h.dataFilter,!0)},null,null,10);b.on("toHtml",function(a){a=a.data;var b=a.dataValue,d=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(d);b=d.getHtml(!0);a.dataValue=v(b)},null,null,15);b.on("toDataFormat",function(a){var d=a.data.dataValue;a.data.enterMode!=CKEDITOR.ENTER_BR&&(d=d.replace(/^
    /i,""));a.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(d, -a.data.context,f(a.data.enterMode,b.config.autoParagraph))},null,null,5);b.on("toDataFormat",function(a){a.data.dataValue.filterChildren(h.htmlFilter,!0)},null,null,10);b.on("toDataFormat",function(a){a.data.filter.applyTo(a.data.dataValue,!1,!0)},null,null,11);b.on("toDataFormat",function(a){var d=a.data.dataValue,c=h.writer;c.reset();d.writeChildrenHtml(c);d=c.getHtml(!0);d=u(d);d=t(d,b);a.data.dataValue=d},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,d,c){var g=this.editor, -e,h,f,k;b&&"object"==typeof b?(e=b.context,d=b.fixForBody,c=b.dontFilter,h=b.filter,f=b.enterMode,k=b.protectedWhitespaces):e=b;e||null===e||(e=g.editable().getName());return g.fire("toHtml",{dataValue:a,context:e,fixForBody:d,dontFilter:c,filter:h||g.filter,enterMode:f||g.enterMode,protectedWhitespaces:k}).dataValue},toDataFormat:function(a,b){var d,c,g;b&&(d=b.context,c=b.filter,g=b.enterMode);d||null===d||(d=this.editor.editable().getName());return this.editor.fire("toDataFormat",{dataValue:a, -filter:c||this.editor.filter,context:d,enterMode:g||this.editor.enterMode}).dataValue}};var q=/(?: |\xa0)$/,x="{cke_protected}",A=CKEDITOR.dtd,C="caption colgroup col thead tfoot tbody".split(" "),r=CKEDITOR.tools.extend({},A.$blockLimit,A.$block),w={elements:{input:k,textarea:k}},B={attributeNames:[[/^on/,"data-cke-pa-on"],[/^data-cke-expando$/,""]]},z={elements:{embed:function(a){var b=a.parent;if(b&&"object"==b.name){var d=b.attributes.width,b=b.attributes.height;d&&(a.attributes.width=d); -b&&(a.attributes.height=b)}},a:function(a){var b=a.attributes;if(!(a.children.length||b.name||b.id||a.attributes["data-cke-saved-name"]))return!1}}},y={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var b=a.attributes;if(b){if(b["data-cke-temp"])return!1;for(var d=["name","href","src"],c,g=0;gc?1:-1})},param:function(a){a.children=[];a.isEmpty=!0;return a},span:function(a){"Apple-style-span"==a.attributes["class"]&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable}, -style:function(a){var b=a.children[0];b&&b.value&&(b.value=CKEDITOR.tools.trim(b.value));a.attributes.type||(a.attributes.type="text/css")},title:function(a){var b=a.children[0];!b&&l(a,b=new CKEDITOR.htmlParser.text);b.value=a.attributes["data-cke-title"]||""},input:b,textarea:b},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||!1}}};CKEDITOR.env.ie&&(y.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,function(a){return a.toLowerCase()})}); -var D=/<(a|area|img|input|source)\b([^>]*)>/gi,F=/([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,E=/^(href|src|name)$/i,L=/(?:])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,G=/(])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi,N=/([^<]*)<\/cke:encoded>/gi,O=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,I=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,R=/]*?)\/?>(?!\s*<\/cke:\1)/gi}(),"use strict",CKEDITOR.htmlParser.element= -function(a,f){this.name=a;this.attributes=f||{};this.children=[];var c=a||"",e=c.match(/^cke:(.*)/);e&&(c=e[1]);c=!!(CKEDITOR.dtd.$nonBodyContent[c]||CKEDITOR.dtd.$block[c]||CKEDITOR.dtd.$listItem[c]||CKEDITOR.dtd.$tableContent[c]||CKEDITOR.dtd.$nonEditable[c]||"br"==c);this.isEmpty=!!CKEDITOR.dtd.$empty[a];this.isUnknown=!CKEDITOR.dtd[a];this._={isBlockLike:c,hasInlineStarted:this.isEmpty||!c}},CKEDITOR.htmlParser.cssStyle=function(a){var f={};((a instanceof CKEDITOR.htmlParser.element?a.attributes.style: -a)||"").replace(/"/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,e,h){"font-family"==e&&(h=h.replace(/["']/g,""));f[e.toLowerCase()]=h});return{rules:f,populate:function(a){var e=this.toString();e&&(a instanceof CKEDITOR.dom.element?a.setAttribute("style",e):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=e:a.style=e)},toString:function(){var a=[],e;for(e in f)f[e]&&a.push(e,":",f[e],";");return a.join("")}}},function(){function a(a){return function(c){return c.type== -CKEDITOR.NODE_ELEMENT&&("string"==typeof a?c.name==a:c.name in a)}}var f=function(a,c){a=a[0];c=c[0];return ac?1:0},c=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:c.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a,c){var f=this,l,k;c=f.getFilterContext(c);if(c.off)return!0;if(!f.parent)a.onRoot(c,f);for(;;){l=f.name;if(!(k= -a.onElementName(c,l)))return this.remove(),!1;f.name=k;if(!(f=a.onElement(c,f)))return this.remove(),!1;if(f!==this)return this.replaceWith(f),!1;if(f.name==l)break;if(f.type!=CKEDITOR.NODE_ELEMENT)return this.replaceWith(f),!1;if(!f.name)return this.replaceWithChildren(),!1}l=f.attributes;var b,d;for(b in l){for(k=l[b];;)if(d=a.onAttributeName(c,b))if(d!=b)delete l[b],b=d;else break;else{delete l[b];break}d&&(!1===(k=a.onAttribute(c,f,d,k))?delete l[d]:l[d]=k)}f.isEmpty||this.filterChildren(a,!1, -c);return!0},filterChildren:c.filterChildren,writeHtml:function(a,c){c&&this.filter(c);var m=this.name,l=[],k=this.attributes,b,d;a.openTag(m,k);for(b in k)l.push([b,k[b]]);a.sortAttributes&&l.sort(f);b=0;for(d=l.length;bCKEDITOR.env.version||CKEDITOR.env.quirks))this.hasFocus&&(this.focus(),b());else if(this.hasFocus)this.focus(),a();else this.once("focus",function(){a()},null,null,-999)},getHtmlFromRange:function(a){if(a.collapsed)return new CKEDITOR.dom.documentFragment(a.document);a={doc:this.getDocument(), -range:a.clone()};x.eol.detect(a,this);x.bogus.exclude(a);x.cell.shrink(a);a.fragment=a.range.cloneContents();x.tree.rebuild(a,this);x.eol.fix(a,this);return new CKEDITOR.dom.documentFragment(a.fragment.$)},extractHtmlFromRange:function(a,b){var d=A,c={range:a,doc:a.document},g=this.getHtmlFromRange(a);if(a.collapsed)return a.optimize(),g;a.enlarge(CKEDITOR.ENLARGE_INLINE,1);d.table.detectPurge(c);c.bookmark=a.createBookmark();delete c.range;var e=this.editor.createRange();e.moveToPosition(c.bookmark.startNode, -CKEDITOR.POSITION_BEFORE_START);c.targetBookmark=e.createBookmark();d.list.detectMerge(c,this);d.table.detectRanges(c,this);d.block.detectMerge(c,this);c.tableContentsRanges?(d.table.deleteRanges(c),a.moveToBookmark(c.bookmark),c.range=a):(a.moveToBookmark(c.bookmark),c.range=a,a.extractContents(d.detectExtractMerge(c)));a.moveToBookmark(c.targetBookmark);a.optimize();d.fixUneditableRangePosition(a);d.list.merge(c,this);d.table.purge(c,this);d.block.merge(c,this);if(b){d=a.startPath();if(c=a.checkStartOfBlock()&& -a.checkEndOfBlock()&&d.block&&!a.root.equals(d.block)){a:{var c=d.block.getElementsByTag("span"),e=0,h;if(c)for(;h=c.getItem(e++);)if(!p(h)){c=!0;break a}c=!1}c=!c}c&&(a.moveToPosition(d.block,CKEDITOR.POSITION_BEFORE_START),d.block.remove())}else d.autoParagraph(this.editor,a),v(a.startContainer)&&a.startContainer.appendBogus();a.startContainer.mergeSiblings();return g},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var b=this.getData();this.is("textarea")||!1!== -a.config.ignoreEmptyParagraph&&(b=b.replace(t,function(a,b){return b}));a.setData(b,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,"beforeFocus",function(){var b=a.getSelection();(b=b&&b.getNative())&&"Control"==b.type||this.focus()},this);this.attachListener(a,"insertHtml", -function(a){this.insertHtml(a.data.dataValue,a.data.mode,a.data.range)},this);this.attachListener(a,"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?this.attachClass("cke_editable_inline"):a.elementMode!=CKEDITOR.ELEMENT_MODE_REPLACE&&a.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO||this.attachClass("cke_editable_themed"); -this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]=+a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(){this.hasFocus=!1},null,null,-1);this.on("focus",function(){this.hasFocus=!0},null,null,-1);if(CKEDITOR.env.webkit)this.on("scroll",function(){a._.previousScrollTop=a.editable().$.scrollTop},null,null,-1);if(CKEDITOR.env.edge&&14CKEDITOR.env.version?p.$.styleSheet.cssText=k:p.setText(k)):(k=h.appendStyleText(k),k=new CKEDITOR.dom.element(k.ownerNode||k.owningElement),f.setCustomData("stylesheet",k),k.data("cke-temp",1))}f=h.getCustomData("stylesheet_ref")||0;h.setCustomData("stylesheet_ref",f+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling); -this.attachListener(this,"click",function(a){a=a.data;var b=(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains("a");b&&2!=a.$.button&&b.isReadOnly()&&a.preventDefault()});var l={8:1,46:1};this.attachListener(a,"key",function(b){if(a.readOnly)return!0;var d=b.data.domEvent.getKey(),c;if(d in l){b=a.getSelection();var e,h=b.getRanges()[0],f=h.startPath(),k,p,r,d=8==d;CKEDITOR.env.ie&&11>CKEDITOR.env.version&&(e=b.getSelectedElement())||(e=m(b))?(a.fire("saveSnapshot"),h.moveToPosition(e,CKEDITOR.POSITION_BEFORE_START), -e.remove(),h.select(),a.fire("saveSnapshot"),c=1):h.collapsed&&((k=f.block)&&(r=k[d?"getPrevious":"getNext"](g))&&r.type==CKEDITOR.NODE_ELEMENT&&r.is("table")&&h[d?"checkStartOfBlock":"checkEndOfBlock"]()?(a.fire("saveSnapshot"),h[d?"checkEndOfBlock":"checkStartOfBlock"]()&&k.remove(),h["moveToElementEdit"+(d?"End":"Start")](r),h.select(),a.fire("saveSnapshot"),c=1):f.blockLimit&&f.blockLimit.is("td")&&(p=f.blockLimit.getAscendant("table"))&&h.checkBoundaryOfElement(p,d?CKEDITOR.START:CKEDITOR.END)&& -(r=p[d?"getPrevious":"getNext"](g))?(a.fire("saveSnapshot"),h["moveToElementEdit"+(d?"End":"Start")](r),h.checkStartOfBlock()&&h.checkEndOfBlock()?r.remove():h.select(),a.fire("saveSnapshot"),c=1):(p=f.contains(["td","th","caption"]))&&h.checkBoundaryOfElement(p,d?CKEDITOR.START:CKEDITOR.END)&&(c=1))}return!c});a.blockless&&CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller&&this.attachListener(this,"keyup",function(b){b.data.getKeystroke()in l&&!this.getFirst(e)&&(this.appendBogus(),b=a.createRange(),b.moveToPosition(this, -CKEDITOR.POSITION_AFTER_START),b.select())});this.attachListener(this,"dblclick",function(b){if(a.readOnly)return!1;b={element:b.data.getTarget()};a.fire("doubleclick",b)});CKEDITOR.env.ie&&this.attachListener(this,"click",c);CKEDITOR.env.ie&&!CKEDITOR.env.edge||this.attachListener(this,"mousedown",function(b){var d=b.data.getTarget();d.is("img","hr","input","textarea","select")&&!d.isReadOnly()&&(a.getSelection().selectElement(d),d.is("input","textarea","select")&&b.data.preventDefault())});CKEDITOR.env.edge&& -this.attachListener(this,"mouseup",function(b){(b=b.data.getTarget())&&b.is("img")&&a.getSelection().selectElement(b)});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(2==b.data.$.button&&(b=b.data.getTarget(),!b.getOuterHtml().replace(t,""))){var d=a.createRange();d.moveToElementEditStart(b);d.select(!0)}});CKEDITOR.env.webkit&&(this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()}),this.attachListener(this,"mouseup", -function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()}));CKEDITOR.env.webkit&&this.attachListener(a,"key",function(b){if(a.readOnly)return!0;b=b.data.domEvent.getKey();if(b in l){var c=8==b,g=a.getSelection().getRanges()[0];b=g.startPath();if(g.collapsed)a:{var e=b.block;if(e&&g[c?"checkStartOfBlock":"checkEndOfBlock"]()&&g.moveToClosestEditablePosition(e,!c)&&g.collapsed){if(g.startContainer.type==CKEDITOR.NODE_ELEMENT){var h=g.startContainer.getChild(g.startOffset-(c?1: -0));if(h&&h.type==CKEDITOR.NODE_ELEMENT&&h.is("hr")){a.fire("saveSnapshot");h.remove();b=!0;break a}}g=g.startPath().block;if(!g||g&&g.contains(e))b=void 0;else{a.fire("saveSnapshot");var f;(f=(c?g:e).getBogus())&&f.remove();f=a.getSelection();h=f.createBookmarks();(c?e:g).moveChildren(c?g:e,!1);b.lastElement.mergeSiblings();d(e,g,!c);f.selectBookmarks(h);b=!0}}else b=!1}else c=g,f=b.block,g=c.endPath().block,f&&g&&!f.equals(g)?(a.fire("saveSnapshot"),(e=f.getBogus())&&e.remove(),c.enlarge(CKEDITOR.ENLARGE_INLINE), -c.deleteContents(),g.getParent()&&(g.moveChildren(f,!1),b.lastElement.mergeSiblings(),d(f,g,!0)),c=a.getSelection().getRanges()[0],c.collapse(1),c.optimize(),""===c.startContainer.getHtml()&&c.startContainer.appendBogus(),c.select(),b=!0):b=!1;if(!b)return;a.getSelection().scrollIntoView();a.fire("saveSnapshot");return!1}},this,null,100)}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData("classes"))for(;a.length;)this.removeClass(a.pop()); -if(!this.is("textarea")){a=this.getDocument();var b=a.getHead();if(b.getCustomData("stylesheet")){var d=a.getCustomData("stylesheet_ref");--d?a.setCustomData("stylesheet_ref",d):(a.removeCustomData("stylesheet_ref"),b.removeCustomData("stylesheet").remove())}}this.editor.fire("contentDomUnload");delete this.editor}}});CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;arguments.length&&(b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this, -a):(b&&b.detach(),null));return b};CKEDITOR.on("instanceLoaded",function(b){var d=b.editor;d.on("insertElement",function(a){a=a.data;a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))&&("false"!=a.getAttribute("contentEditable")&&a.data("cke-editable",a.hasAttribute("contenteditable")?"true":"1"),a.setAttribute("contentEditable",!1))});d.on("selectionChange",function(b){if(!d.readOnly){var c=d.getSelection();c&&!c.isLocked&&(c=d.checkDirty(),d.fire("lockSnapshot"),a(b),d.fire("unlockSnapshot"), -!c&&d.resetDirty())}})});CKEDITOR.on("instanceCreated",function(a){var b=a.editor;b.on("mode",function(){var a=b.editable();if(a&&a.isInline()){var d=b.title;a.changeAttr("role","textbox");a.changeAttr("aria-label",d);d&&a.changeAttr("title",d);var c=b.fire("ariaEditorHelpLabel",{}).label;if(c&&(d=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents"))){var g=CKEDITOR.tools.getNextId(),c=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+g+'" class\x3d"cke_voice_label"\x3e'+ -c+"\x3c/span\x3e");d.append(c);a.changeAttr("aria-describedby",g)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");g=CKEDITOR.dom.walker.whitespaces(!0);p=CKEDITOR.dom.walker.bookmark(!1,!0);v=CKEDITOR.dom.walker.empty();u=CKEDITOR.dom.walker.bogus();t=/(^|]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;n=function(){function a(b){return b.type== -CKEDITOR.NODE_ELEMENT}function b(d,c){var g,e,h,f,k=[],l=c.range.startContainer;g=c.range.startPath();for(var l=p[l.getName()],n=0,m=d.getChildren(),t=m.count(),q=-1,w=-1,B=0,x=g.contains(p.$list);nCKEDITOR.env.version&&c.getChildCount()&&c.getFirst().remove())}return function(c){var g= -c.startContainer,e=g.getAscendant("table",1),h=!1;d(e.getElementsByTag("td"));d(e.getElementsByTag("th"));e=c.clone();e.setStart(g,0);e=a(e).lastBackward();e||(e=c.clone(),e.setEndAt(g,CKEDITOR.POSITION_BEFORE_END),e=a(e).lastForward(),h=!0);e||(e=g);e.is("table")?(c.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),c.collapse(!0),e.remove()):(e.is({tbody:1,thead:1,tfoot:1})&&(e=b(e,"tr",h)),e.is("tr")&&(e=b(e,e.getParent().is("thead")?"th":"td",h)),(g=e.getBogus())&&g.remove(),c.moveToPosition(e,h?CKEDITOR.POSITION_AFTER_START: -CKEDITOR.POSITION_BEFORE_END))}}();x={eol:{detect:function(a,b){var d=a.range,c=d.clone(),g=d.clone(),e=new CKEDITOR.dom.elementPath(d.startContainer,b),h=new CKEDITOR.dom.elementPath(d.endContainer,b);c.collapse(1);g.collapse();e.block&&c.checkBoundaryOfElement(e.block,CKEDITOR.END)&&(d.setStartAfter(e.block),a.prependEolBr=1);h.block&&g.checkBoundaryOfElement(h.block,CKEDITOR.START)&&(d.setEndBefore(h.block),a.appendEolBr=1)},fix:function(a,b){var d=b.getDocument(),c;a.appendEolBr&&(c=this.createEolBr(d), -a.fragment.append(c));!a.prependEolBr||c&&!c.getPrevious()||a.fragment.append(this.createEolBr(d),1)},createEolBr:function(a){return a.createElement("br",{attributes:{"data-cke-eol":1}})}},bogus:{exclude:function(a){var b=a.range.getBoundaryNodes(),d=b.startNode,b=b.endNode;!b||!u(b)||d&&d.equals(b)||a.range.setEndBefore(b)}},tree:{rebuild:function(a,b){var d=a.range,c=d.getCommonAncestor(),g=new CKEDITOR.dom.elementPath(c,b),e=new CKEDITOR.dom.elementPath(d.startContainer,b),d=new CKEDITOR.dom.elementPath(d.endContainer, -b),h;c.type==CKEDITOR.NODE_TEXT&&(c=c.getParent());if(g.blockLimit.is({tr:1,table:1})){var f=g.contains("table").getParent();h=function(a){return!a.equals(f)}}else if(g.block&&g.block.is(CKEDITOR.dtd.$listItem)&&(e=e.contains(CKEDITOR.dtd.$list),d=d.contains(CKEDITOR.dtd.$list),!e.equals(d))){var k=g.contains(CKEDITOR.dtd.$list).getParent();h=function(a){return!a.equals(k)}}h||(h=function(a){return!a.equals(g.block)&&!a.equals(g.blockLimit)});this.rebuildFragment(a,b,c,h)},rebuildFragment:function(a, -b,d,c){for(var g;d&&!d.equals(b)&&c(d);)g=d.clone(0,1),a.fragment.appendTo(g),a.fragment=g,d=d.getParent()}},cell:{shrink:function(a){a=a.range;var b=a.startContainer,d=a.endContainer,c=a.startOffset,g=a.endOffset;b.type==CKEDITOR.NODE_ELEMENT&&b.equals(d)&&b.is("tr")&&++c==g&&a.shrink(CKEDITOR.SHRINK_TEXT)}}};A=function(){function a(b,d){var c=b.getParent();if(c.is(CKEDITOR.dtd.$inline))b[d?"insertBefore":"insertAfter"](c)}function b(d,c,g){a(c);a(g,1);for(var e;e=g.getNext();)e.insertAfter(c),c= -e;v(d)&&d.remove()}function d(a,b){var c=new CKEDITOR.dom.range(a);c.setStartAfter(b.startNode);c.setEndBefore(b.endNode);return c}return{list:{detectMerge:function(a,b){var c=d(b,a.bookmark),g=c.startPath(),e=c.endPath(),h=g.contains(CKEDITOR.dtd.$list),f=e.contains(CKEDITOR.dtd.$list);a.mergeList=h&&f&&h.getParent().equals(f.getParent())&&!h.equals(f);a.mergeListItems=g.block&&e.block&&g.block.is(CKEDITOR.dtd.$listItem)&&e.block.is(CKEDITOR.dtd.$listItem);if(a.mergeList||a.mergeListItems)c=c.clone(), -c.setStartBefore(a.bookmark.startNode),c.setEndAfter(a.bookmark.endNode),a.mergeListBookmark=c.createBookmark()},merge:function(a,d){if(a.mergeListBookmark){var c=a.mergeListBookmark.startNode,g=a.mergeListBookmark.endNode,e=new CKEDITOR.dom.elementPath(c,d),h=new CKEDITOR.dom.elementPath(g,d);if(a.mergeList){var f=e.contains(CKEDITOR.dtd.$list),k=h.contains(CKEDITOR.dtd.$list);f.equals(k)||(k.moveChildren(f),k.remove())}a.mergeListItems&&(e=e.contains(CKEDITOR.dtd.$listItem),h=h.contains(CKEDITOR.dtd.$listItem), -e.equals(h)||b(h,c,g));c.remove();g.remove()}}},block:{detectMerge:function(a,b){if(!a.tableContentsRanges&&!a.mergeListBookmark){var d=new CKEDITOR.dom.range(b);d.setStartBefore(a.bookmark.startNode);d.setEndAfter(a.bookmark.endNode);a.mergeBlockBookmark=d.createBookmark()}},merge:function(a,d){if(a.mergeBlockBookmark&&!a.purgeTableBookmark){var c=a.mergeBlockBookmark.startNode,g=a.mergeBlockBookmark.endNode,e=new CKEDITOR.dom.elementPath(c,d),h=new CKEDITOR.dom.elementPath(g,d),e=e.block,h=h.block; -e&&h&&!e.equals(h)&&b(h,c,g);c.remove();g.remove()}}},table:function(){function a(d){var g=[],e,h=new CKEDITOR.dom.walker(d),f=d.startPath().contains(c),k=d.endPath().contains(c),p={};h.guard=function(a,h){if(a.type==CKEDITOR.NODE_ELEMENT){var n="visited_"+(h?"out":"in");if(a.getCustomData(n))return;CKEDITOR.dom.element.setMarker(p,a,n,1)}if(h&&f&&a.equals(f))e=d.clone(),e.setEndAt(f,CKEDITOR.POSITION_BEFORE_END),g.push(e);else if(!h&&k&&a.equals(k))e=d.clone(),e.setStartAt(k,CKEDITOR.POSITION_AFTER_START), -g.push(e);else{if(n=!h)n=a.type==CKEDITOR.NODE_ELEMENT&&a.is(c)&&(!f||b(a,f))&&(!k||b(a,k));n&&(e=d.clone(),e.selectNodeContents(a),g.push(e))}};h.lastForward();CKEDITOR.dom.element.clearAllMarkers(p);return g}function b(a,d){var c=CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED,g=a.getPosition(d);return g===CKEDITOR.POSITION_IDENTICAL?!1:0===(g&c)}var c={td:1,th:1,caption:1};return{detectPurge:function(a){var b=a.range,d=b.clone();d.enlarge(CKEDITOR.ENLARGE_ELEMENT);var d=new CKEDITOR.dom.walker(d), -g=0;d.evaluator=function(a){a.type==CKEDITOR.NODE_ELEMENT&&a.is(c)&&++g};d.checkForward();if(1e&&g&&g.intersectsNode(d.$)){var h= -[{node:c.anchorNode,offset:c.anchorOffset},{node:c.focusNode,offset:c.focusOffset}];c.anchorNode==d.$&&c.anchorOffset>e&&(h[0].offset-=e);c.focusNode==d.$&&c.focusOffset>e&&(h[1].offset-=e)}}d.setText(k(d.getText(),1));h&&(d=a.getDocument().$,c=d.getSelection(),d=d.createRange(),d.setStart(h[0].node,h[0].offset),d.collapse(!0),c.removeAllRanges(),c.addRange(d),c.extend(h[1].node,h[1].offset))}}function k(a,b){return b?a.replace(t,function(a,b){return b?" ":""}):a.replace(u,"")}function b(a,b){var d= -CKEDITOR.dom.element.createFromHtml('\x3cdiv data-cke-hidden-sel\x3d"1" data-cke-temp\x3d"1" style\x3d"'+(CKEDITOR.env.ie&&14>CKEDITOR.env.version?"display:none":"position:fixed;top:0;left:-1000px")+'"\x3e'+(b||"\x26nbsp;")+"\x3c/div\x3e",a.document);a.fire("lockSnapshot");a.editable().append(d);var c=a.getSelection(1),g=a.createRange(),e=c.root.on("selectionchange",function(a){a.cancel()},null,null,0);g.setStartAt(d,CKEDITOR.POSITION_AFTER_START);g.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);c.selectRanges([g]); -e.removeListener();a.fire("unlockSnapshot");a._.hiddenSelectionContainer=d}function d(a){var b={37:1,39:1,8:1,46:1};return function(d){var c=d.data.getKeystroke();if(b[c]){var g=a.getSelection().getRanges(),e=g[0];1==g.length&&e.collapsed&&(c=e[38>c?"getPreviousEditableNode":"getNextEditableNode"]())&&c.type==CKEDITOR.NODE_ELEMENT&&"false"==c.getAttribute("contenteditable")&&(a.getSelection().fake(c),d.data.preventDefault(),d.cancel())}}}function g(a){for(var b=0;b=c.getLength()?f.setStartAfter(c):f.setStartBefore(c));g&&g.type==CKEDITOR.NODE_TEXT&&(h?f.setEndAfter(g):f.setEndBefore(g));c=new CKEDITOR.dom.walker(f); -c.evaluator=function(c){if(c.type==CKEDITOR.NODE_ELEMENT&&c.isReadOnly()){var g=d.clone();d.setEndBefore(c);d.collapsed&&a.splice(b--,1);c.getPosition(f.endContainer)&CKEDITOR.POSITION_CONTAINS||(g.setStartAfter(c),g.collapsed||a.splice(b+1,0,g));return!0}return!1};c.next()}}return a}var p="function"!=typeof window.getSelection,v=1,u=CKEDITOR.tools.repeat("​",7),t=new RegExp(u+"( )?","g"),n,q,x=CKEDITOR.dom.walker.invisible(1),A=function(){function a(b){return function(a){var d=a.editor.createRange(); -d.moveToClosestEditablePosition(a.selected,b)&&a.editor.getSelection().selectRanges([d]);return!1}}function b(a){return function(b){var d=b.editor,c=d.createRange(),g;(g=c.moveToClosestEditablePosition(b.selected,a))||(g=c.moveToClosestEditablePosition(b.selected,!a));g&&d.getSelection().selectRanges([c]);d.fire("saveSnapshot");b.selected.remove();g||(c.moveToElementEditablePosition(d.editable()),d.getSelection().selectRanges([c]));d.fire("saveSnapshot");return!1}}var d=a(),c=a(1);return{37:d,38:d, -39:c,40:c,8:b(),46:b(1)}}();CKEDITOR.on("instanceCreated",function(b){function c(){var a=g.getSelection();a&&a.removeAllRanges()}var g=b.editor;g.on("contentDom",function(){function b(){t=new CKEDITOR.dom.selection(g.getSelection());t.lock()}function c(){h.removeListener("mouseup",c);m.removeListener("mouseup",c);var a=CKEDITOR.document.$.selection,b=a.createRange();"None"!=a.type&&b.parentElement().ownerDocument==e.$&&b.select()}var e=g.document,h=CKEDITOR.document,k=g.editable(),n=e.getBody(),m= -e.getDocumentElement(),r=k.isInline(),q,t;CKEDITOR.env.gecko&&k.attachListener(k,"focus",function(a){a.removeListener();0!==q&&(a=g.getSelection().getNative())&&a.isCollapsed&&a.anchorNode==k.$&&(a=g.createRange(),a.moveToElementEditStart(k),a.select())},null,null,-2);k.attachListener(k,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){q&&CKEDITOR.env.webkit&&(q=g._.previousActive&&g._.previousActive.equals(e.getActive()))&&null!=g._.previousScrollTop&&g._.previousScrollTop!=k.$.scrollTop&&(k.$.scrollTop= -g._.previousScrollTop);g.unlockSelection(q);q=0},null,null,-1);k.attachListener(k,"mousedown",function(){q=0});if(CKEDITOR.env.ie||r)p?k.attachListener(k,"beforedeactivate",b,null,null,-1):k.attachListener(g,"selectionCheck",b,null,null,-1),k.attachListener(k,CKEDITOR.env.webkit?"DOMFocusOut":"blur",function(){g.lockSelection(t);q=1},null,null,-1),k.attachListener(k,"mousedown",function(){q=0});if(CKEDITOR.env.ie&&!r){var x;k.attachListener(k,"mousedown",function(a){2==a.data.$.button&&((a=g.document.getSelection())&& -a.getType()!=CKEDITOR.SELECTION_NONE||(x=g.window.getScrollPosition()))});k.attachListener(k,"mouseup",function(a){2==a.data.$.button&&x&&(g.document.$.documentElement.scrollLeft=x.x,g.document.$.documentElement.scrollTop=x.y);x=null});if("BackCompat"!=e.$.compatMode){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat){var u,v;m.on("mousedown",function(a){function b(a){a=a.data.$;if(u){var d=n.$.createTextRange();try{d.moveToPoint(a.clientX,a.clientY)}catch(c){}u.setEndPoint(0>v.compareEndPoints("StartToStart", -d)?"EndToEnd":"StartToStart",d);u.select()}}function d(){m.removeListener("mousemove",b);h.removeListener("mouseup",d);m.removeListener("mouseup",d);u.select()}a=a.data;if(a.getTarget().is("html")&&a.$.yCKEDITOR.env.version)m.on("mousedown",function(a){a.data.getTarget().is("html")&& -(h.on("mouseup",c),m.on("mouseup",c))})}}k.attachListener(k,"selectionchange",a,g);k.attachListener(k,"keyup",f,g);k.attachListener(k,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){g.forceNextSelectionCheck();g.selectionChange(1)});if(r&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){var w;k.attachListener(k,"mousedown",function(){w=1});k.attachListener(e.getDocumentElement(),"mouseup",function(){w&&f.call(g);w=0})}else k.attachListener(CKEDITOR.env.ie?k:e.getDocumentElement(),"mouseup",f,g);CKEDITOR.env.webkit&& -k.attachListener(e,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:l(k)}},null,null,-1);k.attachListener(k,"keydown",d(g),null,null,-1)});g.on("setData",function(){g.unlockSelection();CKEDITOR.env.webkit&&c()});g.on("contentDomUnload",function(){g.unlockSelection()});if(CKEDITOR.env.ie9Compat)g.on("beforeDestroy",c,null,null,9);g.on("dataReady",function(){delete g._.fakeSelection;delete g._.hiddenSelectionContainer;g.selectionChange(1)}); -g.on("loadSnapshot",function(){var a=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT),b=g.editable().getLast(a);b&&b.hasAttribute("data-cke-hidden-sel")&&(b.remove(),CKEDITOR.env.gecko&&(a=g.editable().getFirst(a))&&a.is("br")&&a.getAttribute("_moz_editor_bogus_node")&&a.remove())},null,null,100);g.on("key",function(a){if("wysiwyg"==g.mode){var b=g.getSelection();if(b.isFake){var d=A[a.data.keyCode];if(d)return d({editor:g,selected:b.getSelectedElement(),selection:b,keyEvent:a})}}})});if(CKEDITOR.env.webkit)CKEDITOR.on("instanceReady", -function(a){var b=a.editor;b.on("selectionChange",function(){var a=b.editable(),d=a.getCustomData("cke-fillingChar");d&&(d.getCustomData("ready")?l(a):d.setCustomData("ready",1))},null,null,-1);b.on("beforeSetMode",function(){l(b.editable())},null,null,-1);b.on("getSnapshot",function(a){a.data&&(a.data=k(a.data))},b,null,20);b.on("toDataFormat",function(a){a.data.dataValue=k(a.data.dataValue)},null,null,0)});CKEDITOR.editor.prototype.selectionChange=function(b){(b?a:f).call(this)};CKEDITOR.editor.prototype.getSelection= -function(a){return!this._.savedSelection&&!this._.fakeSelection||a?(a=this.editable())&&"wysiwyg"==this.mode?new CKEDITOR.dom.selection(a):null:this._.savedSelection||this._.fakeSelection};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);return a.getType()!=CKEDITOR.SELECTION_NONE?(!a.isLocked&&a.lock(),this._.savedSelection=a,!0):!1};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;return b?(b.unlock(a),delete this._.savedSelection,!0): -!1};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath};CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;CKEDITOR.dom.selection=function(a){if(a instanceof -CKEDITOR.dom.selection){var b=a;a=a.root}var d=a instanceof CKEDITOR.dom.element;this.rev=b?b.rev:v++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=d?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(b)return CKEDITOR.tools.extend(this._.cache,b._.cache),this.isFake=b.isFake,this.isLocked=b.isLocked,this;a=this.getNative();var c,g;if(a)if(a.getRangeAt)c=(g=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(g.commonAncestorContainer);else{try{g=a.createRange()}catch(e){}c= -g&&CKEDITOR.dom.element.get(g.item&&g.item(0)||g.parentElement())}if(!c||c.type!=CKEDITOR.NODE_ELEMENT&&c.type!=CKEDITOR.NODE_TEXT||!this.root.equals(c)&&!this.root.contains(c))this._.cache.type=CKEDITOR.SELECTION_NONE,this._.cache.startElement=null,this._.cache.selectedElement=null,this._.cache.selectedText="",this._.cache.ranges=new CKEDITOR.dom.rangeList;return this};var C={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1, -thead:1,tfoot:1};CKEDITOR.tools.extend(CKEDITOR.dom.selection,{_removeFillingCharSequenceString:k,_createFillingCharSequenceNode:m,FILLING_CHAR_SEQUENCE:u});CKEDITOR.dom.selection.prototype={getNative:function(){return void 0!==this._.cache.nativeSel?this._.cache.nativeSel:this._.cache.nativeSel=p?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:p?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;try{var d=this.getNative(),c=d.type;"Text"== -c&&(b=CKEDITOR.SELECTION_TEXT);"Control"==c&&(b=CKEDITOR.SELECTION_ELEMENT);d.createRange().parentElement()&&(b=CKEDITOR.SELECTION_TEXT)}catch(g){}return a.type=b}:function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,d=this.getNative();if(!d||!d.rangeCount)b=CKEDITOR.SELECTION_NONE;else if(1==d.rangeCount){var d=d.getRangeAt(0),c=d.startContainer;c==d.endContainer&&1==c.nodeType&&1==d.endOffset-d.startOffset&&C[c.childNodes[d.startOffset].nodeName.toLowerCase()]&&(b= -CKEDITOR.SELECTION_ELEMENT)}return a.type=b},getRanges:function(){var a=p?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}var b=function(b,d){b=b.duplicate();b.collapse(d);var c=b.parentElement();if(!c.hasChildNodes())return{container:c,offset:0};for(var g=c.children,e,h,f=b.duplicate(),k=0,p=g.length-1,n=-1,l,m;k<=p;)if(n=Math.floor((k+p)/2),e=g[n],f.moveToElementText(e),l=f.compareEndPoints("StartToStart",b),0l)k=n+1;else return{container:c,offset:a(e)};if(-1== -n||n==g.length-1&&0>l){f.moveToElementText(c);f.setEndPoint("StartToStart",b);f=f.text.replace(/(\r\n|\r)/g,"\n").length;g=c.childNodes;if(!f)return e=g[g.length-1],e.nodeType!=CKEDITOR.NODE_TEXT?{container:c,offset:g.length}:{container:e,offset:e.nodeValue.length};for(c=g.length;0]*>)[ \t\r\n]*/gi,"$1");h=h.replace(/([ \t\n\r]+| )/g," ");h=h.replace(/]*>/gi,"\n");if(CKEDITOR.env.ie){var f=a.getDocument().createElement("div");f.append(e);e.$.outerHTML="\x3cpre\x3e"+h+"\x3c/pre\x3e";e.copyAttributes(f.getFirst());e=f.getFirst().remove()}else e.setHtml(h);b=e}else h?b=v(d? -[a.getHtml()]:g(a),b):a.moveChildren(b);b.replace(a);if(c){var d=b,k;(k=d.getPrevious(G))&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("pre")&&(c=p(k.getHtml(),/\n$/,"")+"\n\n"+p(d.getHtml(),/^\n/,""),CKEDITOR.env.ie?d.$.outerHTML="\x3cpre\x3e"+c+"\x3c/pre\x3e":d.setHtml(c),k.remove())}else d&&q(b)}function g(a){var b=[];p(a.getOuterHtml(),/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,b,d){return b+"\x3c/pre\x3e"+d+"\x3cpre\x3e"}).replace(/([\s\S]*?)<\/pre>/gi,function(a, -d){b.push(d)});return b}function p(a,b,d){var c="",g="";a=a.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi,function(a,b,d){b&&(c=b);d&&(g=d);return""});return c+a.replace(b,d)+g}function v(a,b){var d;1]+)>)|(?:!--([\S|\s]*?)--\x3e)|(?:([^\/\s>]+)((?:\s+[\w\-:.]+(?:\s*=\s*?(?:(?:"[^"]*")|(?:'[^']*')|[^\s"'\/>]+))?)*)[\S\s]*?(\/?)>))/g}},function(){var a=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,e={checked:1,compact:1,declare:1, +defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(c){for(var f,h,m=0,l;f=this._.htmlPartsRegex.exec(c);){h=f.index;if(h>m)if(m=c.substring(m,h),l)l.push(m);else this.onText(m);m=this._.htmlPartsRegex.lastIndex;if(h=f[1])if(h=h.toLowerCase(),l&&CKEDITOR.dtd.$cdata[h]&&(this.onCDATA(l.join("")), +l=null),!l){this.onTagClose(h);continue}if(l)l.push(f[0]);else if(h=f[3]){if(h=h.toLowerCase(),!/="/.test(h)){var k={},d,b=f[4];f=!!f[5];if(b)for(;d=a.exec(b);){var g=d[1].toLowerCase();d=d[2]||d[3]||d[4]||"";k[g]=!d&&e[g]?g:CKEDITOR.tools.htmlDecodeAttr(d)}this.onTagOpen(h,k,f);!l&&CKEDITOR.dtd.$cdata[h]&&(l=[])}}else if(h=f[2])this.onComment(h)}if(c.length>m)this.onText(c.substring(m,c.length))}}}(),CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(a){this._.output.push("\x3c", +a)},openTagClose:function(a,e){e?this._.output.push(" /\x3e"):this._.output.push("\x3e")},attribute:function(a,e){"string"==typeof e&&(e=CKEDITOR.tools.htmlEncodeAttr(e));this._.output.push(" ",a,'\x3d"',e,'"')},closeTag:function(a){this._.output.push("\x3c/",a,"\x3e")},text:function(a){this._.output.push(a)},comment:function(a){this._.output.push("\x3c!--",a,"--\x3e")},write:function(a){this._.output.push(a)},reset:function(){this._.output=[];this._.indent=!1},getHtml:function(a){var e=this._.output.join(""); +a&&this.reset();return e}}}),"use strict",function(){CKEDITOR.htmlParser.node=function(){};CKEDITOR.htmlParser.node.prototype={remove:function(){var a=this.parent.children,e=CKEDITOR.tools.indexOf(a,this),c=this.previous,f=this.next;c&&(c.next=f);f&&(f.previous=c);a.splice(e,1);this.parent=null},replaceWith:function(a){var e=this.parent.children,c=CKEDITOR.tools.indexOf(e,this),f=a.previous=this.previous,h=a.next=this.next;f&&(f.next=a);h&&(h.previous=a);e[c]=a;a.parent=this.parent;this.parent=null}, +insertAfter:function(a){var e=a.parent.children,c=CKEDITOR.tools.indexOf(e,a),f=a.next;e.splice(c+1,0,this);this.next=a.next;this.previous=a;a.next=this;f&&(f.previous=this);this.parent=a.parent},insertBefore:function(a){var e=a.parent.children,c=CKEDITOR.tools.indexOf(e,a);e.splice(c,0,this);this.next=a;(this.previous=a.previous)&&(a.previous.next=this);a.previous=this;this.parent=a.parent},getAscendant:function(a){var e="function"==typeof a?a:"string"==typeof a?function(c){return c.name==a}:function(c){return c.name in +a},c=this.parent;for(;c&&c.type==CKEDITOR.NODE_ELEMENT;){if(e(c))return c;c=c.parent}return null},wrapWith:function(a){this.replaceWith(a);a.add(this);return a},getIndex:function(){return CKEDITOR.tools.indexOf(this.parent.children,this)},getFilterContext:function(a){return a||{}}}}(),"use strict",CKEDITOR.htmlParser.comment=function(a){this.value=a;this._={isBlockLike:!1}},CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_COMMENT,filter:function(a, +e){var c=this.value;if(!(c=a.onComment(e,c,this)))return this.remove(),!1;if("string"!=typeof c)return this.replaceWith(c),!1;this.value=c;return!0},writeHtml:function(a,e){e&&this.filter(e);a.comment(this.value)}}),"use strict",function(){CKEDITOR.htmlParser.text=function(a){this.value=a;this._={isBlockLike:!1}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(a,e){if(!(this.value=a.onText(e,this.value,this)))return this.remove(), +!1},writeHtml:function(a,e){e&&this.filter(e);a.text(this.value)}})}(),"use strict",function(){CKEDITOR.htmlParser.cdata=function(a){this.value=a};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(a){a.write(this.value)}})}(),"use strict",CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:!0,hasInlineStarted:!1}},function(){function a(a){return a.attributes["data-cke-survive"]? +!1:"a"==a.name&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var e=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),c={ol:1,ul:1},f=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1}),h={ul:"li",ol:"li",dl:"dd",table:"tbody",tbody:"tr",thead:"tr",tfoot:"tr",tr:"td"};CKEDITOR.htmlParser.fragment.fromHtml=function(m,l,k){function d(a){var d;if(0l;l++)if(e=h[l]){e=e.exec(a,f,this);if(!1===e)return null;if(e&&e!=f)return this.onNode(a,e);if(f.parent&&!f.name)break}return f},onNode:function(a,f){var h=f.type;return h==CKEDITOR.NODE_ELEMENT?this.onElement(a,f):h==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText(a, +f.value)):h==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(a,f.value)):null},onAttribute:function(a,f,h,e){return(h=this.attributesRules[h])?h.exec(a,e,f,this):e}}});CKEDITOR.htmlParser.filterRulesGroup=a;a.prototype={add:function(a,f,h){this.rules.splice(this.findIndex(f),0,{value:a,priority:f,options:h})},addMany:function(a,f,h){for(var e=[this.findIndex(f),0],l=0,k=a.length;l/g, +"\x26gt;")+"\x3c/textarea\x3e");return"\x3ccke:encoded\x3e"+encodeURIComponent(a)+"\x3c/cke:encoded\x3e"})}function p(a){return a.replace(M,function(a,b){return decodeURIComponent(b)})}function v(a){return a.replace(/\x3c!--(?!{cke_protected})[\s\S]+?--\x3e/g,function(a){return"\x3c!--"+u+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\x3e"})}function r(a){return a.replace(/\x3c!--\{cke_protected\}\{C\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)})}function w(a,b){var d=b._.dataStore; +return a.replace(/\x3c!--\{cke_protected\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return d&&d[b]||""})}function n(a,b){var d=[],c=b.config.protectedSource,g=b._.dataStore||(b._.dataStore={id:1}),f=/<\!--\{cke_temp(comment)?\}(\d*?)--\x3e/g,c=[/|$)/gi,//gi,//gi].concat(c);a=a.replace(/\x3c!--[\s\S]*?--\x3e/g,function(a){return"\x3c!--{cke_tempcomment}"+(d.push(a)- +1)+"--\x3e"});for(var h=0;h]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g,function(a){return a.replace(/\x3c!--\{cke_protected\}([^>]*)--\x3e/g,function(a,b){g[g.id]= +decodeURIComponent(b);return"{cke_protected_"+g.id++ +"}"})});return a=a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g,function(a,d,c,g){return"\x3c"+d+c+"\x3e"+w(r(g),b)+"\x3c/"+d+"\x3e"})}CKEDITOR.htmlDataProcessor=function(d){var c,f,h=this;this.editor=d;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=f=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(x);c.addRules(F,{applyToAll:!0});c.addRules(a(d,"data"),{applyToAll:!0}); +f.addRules(z);f.addRules(A,{applyToAll:!0});f.addRules(a(d,"html"),{applyToAll:!0});d.on("toHtml",function(a){a=a.data;var c=a.dataValue,f,c=n(c,d),c=g(c,H),c=b(c),c=g(c,I),c=c.replace(P,"$1cke:$2"),c=c.replace(S,"\x3ccke:$1$2\x3e\x3c/cke:$1\x3e"),c=c.replace(/(]*>)(\r\n|\n)/g,"$1$2$2"),c=c.replace(/([^a-z0-9<\-])(on\w{3,})(?!>)/gi,"$1data-cke-"+CKEDITOR.rnd+"-$2");f=a.context||d.editable().getName();var h;CKEDITOR.env.ie&&9>CKEDITOR.env.version&&"pre"==f&&(f="div",c="\x3cpre\x3e"+c+"\x3c/pre\x3e", +h=1);f=d.document.createElement(f);f.setHtml("a"+c);c=f.getHtml().substr(1);c=c.replace(new RegExp("data-cke-"+CKEDITOR.rnd+"-","ig"),"");h&&(c=c.replace(/^
    |<\/pre>$/gi,""));c=c.replace(G,"$1$2");c=p(c);c=r(c);f=!1===a.fixForBody?!1:e(a.enterMode,d.config.autoParagraph);c=CKEDITOR.htmlParser.fragment.fromHtml(c,a.context,f);f&&(h=c,!h.children.length&&CKEDITOR.dtd[h.name][f]&&(f=new CKEDITOR.htmlParser.element(f),h.add(f)));a.dataValue=c},null,null,5);d.on("toHtml",function(a){a.data.filter.applyTo(a.data.dataValue,
    +!0,a.data.dontFilter,a.data.enterMode)&&d.fire("dataFiltered")},null,null,6);d.on("toHtml",function(a){a.data.dataValue.filterChildren(h.dataFilter,!0)},null,null,10);d.on("toHtml",function(a){a=a.data;var b=a.dataValue,d=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(d);b=d.getHtml(!0);a.dataValue=v(b)},null,null,15);d.on("toDataFormat",function(a){var b=a.data.dataValue;a.data.enterMode!=CKEDITOR.ENTER_BR&&(b=b.replace(/^
    /i,""));a.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(b, +a.data.context,e(a.data.enterMode,d.config.autoParagraph))},null,null,5);d.on("toDataFormat",function(a){a.data.dataValue.filterChildren(h.htmlFilter,!0)},null,null,10);d.on("toDataFormat",function(a){a.data.filter.applyTo(a.data.dataValue,!1,!0)},null,null,11);d.on("toDataFormat",function(a){var b=a.data.dataValue,c=h.writer;c.reset();b.writeChildrenHtml(c);b=c.getHtml(!0);b=r(b);b=w(b,d);a.data.dataValue=b},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,d,c){var g=this.editor, +f,h,e,k;b&&"object"==typeof b?(f=b.context,d=b.fixForBody,c=b.dontFilter,h=b.filter,e=b.enterMode,k=b.protectedWhitespaces):f=b;f||null===f||(f=g.editable().getName());return g.fire("toHtml",{dataValue:a,context:f,fixForBody:d,dontFilter:c,filter:h||g.filter,enterMode:e||g.enterMode,protectedWhitespaces:k}).dataValue},toDataFormat:function(a,b){var d,c,g;b&&(d=b.context,c=b.filter,g=b.enterMode);d||null===d||(d=this.editor.editable().getName());return this.editor.fire("toDataFormat",{dataValue:a, +filter:c||this.editor.filter,context:d,enterMode:g||this.editor.enterMode}).dataValue}};var q=/(?: |\xa0)$/,u="{cke_protected}",B=CKEDITOR.dtd,y="caption colgroup col thead tfoot tbody".split(" "),t=CKEDITOR.tools.extend({},B.$blockLimit,B.$block),x={elements:{input:k,textarea:k}},F={attributeNames:[[/^on/,"data-cke-pa-on"],[/^data-cke-expando$/,""]]},z={elements:{embed:function(a){var b=a.parent;if(b&&"object"==b.name){var d=b.attributes.width,b=b.attributes.height;d&&(a.attributes.width=d); +b&&(a.attributes.height=b)}},a:function(a){var b=a.attributes;if(!(a.children.length||b.name||b.id||a.attributes["data-cke-saved-name"]))return!1}}},A={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var b=a.attributes;if(b){if(b["data-cke-temp"])return!1;for(var d=["name","href","src"],c,g=0;gc?1:-1})},param:function(a){a.children=[];a.isEmpty=!0;return a},span:function(a){"Apple-style-span"==a.attributes["class"]&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable}, +style:function(a){var b=a.children[0];b&&b.value&&(b.value=CKEDITOR.tools.trim(b.value));a.attributes.type||(a.attributes.type="text/css")},title:function(a){var b=a.children[0];!b&&l(a,b=new CKEDITOR.htmlParser.text);b.value=a.attributes["data-cke-title"]||""},input:d,textarea:d},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||!1}}};CKEDITOR.env.ie&&(A.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,function(a){return a.toLowerCase()})}); +var C=/<(a|area|img|input|source)\b([^>]*)>/gi,E=/([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,D=/^(href|src|name)$/i,I=/(?:])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,H=/(])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi,M=/([^<]*)<\/cke:encoded>/gi,P=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,G=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,S=/]*?)\/?>(?!\s*<\/cke:\1)/gi}(),"use strict",CKEDITOR.htmlParser.element= +function(a,e){this.name=a;this.attributes=e||{};this.children=[];var c=a||"",f=c.match(/^cke:(.*)/);f&&(c=f[1]);c=!!(CKEDITOR.dtd.$nonBodyContent[c]||CKEDITOR.dtd.$block[c]||CKEDITOR.dtd.$listItem[c]||CKEDITOR.dtd.$tableContent[c]||CKEDITOR.dtd.$nonEditable[c]||"br"==c);this.isEmpty=!!CKEDITOR.dtd.$empty[a];this.isUnknown=!CKEDITOR.dtd[a];this._={isBlockLike:c,hasInlineStarted:this.isEmpty||!c}},CKEDITOR.htmlParser.cssStyle=function(a){var e={};((a instanceof CKEDITOR.htmlParser.element?a.attributes.style: +a)||"").replace(/"/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,f,h){"font-family"==f&&(h=h.replace(/["']/g,""));e[f.toLowerCase()]=h});return{rules:e,populate:function(a){var f=this.toString();f&&(a instanceof CKEDITOR.dom.element?a.setAttribute("style",f):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=f:a.style=f)},toString:function(){var a=[],f;for(f in e)e[f]&&a.push(f,":",e[f],";");return a.join("")}}},function(){function a(a){return function(c){return c.type== +CKEDITOR.NODE_ELEMENT&&("string"==typeof a?c.name==a:c.name in a)}}var e=function(a,c){a=a[0];c=c[0];return ac?1:0},c=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:c.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a,c){var e=this,l,k;c=e.getFilterContext(c);if(c.off)return!0;if(!e.parent)a.onRoot(c,e);for(;;){l=e.name;if(!(k= +a.onElementName(c,l)))return this.remove(),!1;e.name=k;if(!(e=a.onElement(c,e)))return this.remove(),!1;if(e!==this)return this.replaceWith(e),!1;if(e.name==l)break;if(e.type!=CKEDITOR.NODE_ELEMENT)return this.replaceWith(e),!1;if(!e.name)return this.replaceWithChildren(),!1}l=e.attributes;var d,b;for(d in l){for(k=l[d];;)if(b=a.onAttributeName(c,d))if(b!=d)delete l[d],d=b;else break;else{delete l[d];break}b&&(!1===(k=a.onAttribute(c,e,b,k))?delete l[b]:l[b]=k)}e.isEmpty||this.filterChildren(a,!1, +c);return!0},filterChildren:c.filterChildren,writeHtml:function(a,c){c&&this.filter(c);var m=this.name,l=[],k=this.attributes,d,b;a.openTag(m,k);for(d in k)l.push([d,k[d]]);a.sortAttributes&&l.sort(e);d=0;for(b=l.length;dCKEDITOR.env.version||CKEDITOR.env.quirks))this.hasFocus&&(this.focus(),b());else if(this.hasFocus)this.focus(),a();else this.once("focus",function(){a()},null,null,-999)},getHtmlFromRange:function(a){if(a.collapsed)return new CKEDITOR.dom.documentFragment(a.document);a={doc:this.getDocument(),range:a.clone()};B.eol.detect(a,this);B.bogus.exclude(a);B.cell.shrink(a);a.fragment=a.range.cloneContents();B.tree.rebuild(a, +this);B.eol.fix(a,this);return new CKEDITOR.dom.documentFragment(a.fragment.$)},extractHtmlFromRange:function(a,b){var d=y,c={range:a,doc:a.document},g=this.getHtmlFromRange(a);if(a.collapsed)return a.optimize(),g;a.enlarge(CKEDITOR.ENLARGE_INLINE,1);d.table.detectPurge(c);c.bookmark=a.createBookmark();delete c.range;var f=this.editor.createRange();f.moveToPosition(c.bookmark.startNode,CKEDITOR.POSITION_BEFORE_START);c.targetBookmark=f.createBookmark();d.list.detectMerge(c,this);d.table.detectRanges(c, +this);d.block.detectMerge(c,this);c.tableContentsRanges?(d.table.deleteRanges(c),a.moveToBookmark(c.bookmark),c.range=a):(a.moveToBookmark(c.bookmark),c.range=a,a.extractContents(d.detectExtractMerge(c)));a.moveToBookmark(c.targetBookmark);a.optimize();d.fixUneditableRangePosition(a);d.list.merge(c,this);d.table.purge(c,this);d.block.merge(c,this);if(b){d=a.startPath();if(c=a.checkStartOfBlock()&&a.checkEndOfBlock()&&d.block&&!a.root.equals(d.block)){a:{var c=d.block.getElementsByTag("span"),f=0, +e;if(c)for(;e=c.getItem(f++);)if(!p(e)){c=!0;break a}c=!1}c=!c}c&&(a.moveToPosition(d.block,CKEDITOR.POSITION_BEFORE_START),d.block.remove())}else d.autoParagraph(this.editor,a),v(a.startContainer)&&a.startContainer.appendBogus();a.startContainer.mergeSiblings();return g},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var b=this.getData();this.is("textarea")||!1!==a.config.ignoreEmptyParagraph&&(b=b.replace(w,function(a,b){return b}));a.setData(b,null,1)},this); +this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,"beforeFocus",function(){var b=a.getSelection();(b=b&&b.getNative())&&"Control"==b.type||this.focus()},this);this.attachListener(a,"insertHtml",function(a){this.insertHtml(a.data.dataValue,a.data.mode,a.data.range)},this);this.attachListener(a, +"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?this.attachClass("cke_editable_inline"):a.elementMode!=CKEDITOR.ELEMENT_MODE_REPLACE&&a.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO||this.attachClass("cke_editable_themed");this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]= ++a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(){this.hasFocus=!1},null,null,-1);this.on("focus",function(){this.hasFocus=!0},null,null,-1);if(CKEDITOR.env.webkit)this.on("scroll",function(){a._.previousScrollTop=a.editable().$.scrollTop},null,null,-1);if(CKEDITOR.env.edge&&14CKEDITOR.env.version?l.$.styleSheet.cssText=k:l.setText(k)):(k=e.appendStyleText(k),k=new CKEDITOR.dom.element(k.ownerNode||k.owningElement),h.setCustomData("stylesheet",k),k.data("cke-temp",1))}h=e.getCustomData("stylesheet_ref")||0;e.setCustomData("stylesheet_ref",h+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){a=a.data;var b= +(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains("a");b&&2!=a.$.button&&b.isReadOnly()&&a.preventDefault()});var p={8:1,46:1};this.attachListener(a,"key",function(b){if(a.readOnly)return!0;var d=b.data.domEvent.getKey(),c;if(d in p){b=a.getSelection();var f,e=b.getRanges()[0],h=e.startPath(),k,l,n,d=8==d;CKEDITOR.env.ie&&11>CKEDITOR.env.version&&(f=b.getSelectedElement())||(f=m(b))?(a.fire("saveSnapshot"),e.moveToPosition(f,CKEDITOR.POSITION_BEFORE_START),f.remove(),e.select(),a.fire("saveSnapshot"), +c=1):e.collapsed&&((k=h.block)&&(n=k[d?"getPrevious":"getNext"](g))&&n.type==CKEDITOR.NODE_ELEMENT&&n.is("table")&&e[d?"checkStartOfBlock":"checkEndOfBlock"]()?(a.fire("saveSnapshot"),e[d?"checkEndOfBlock":"checkStartOfBlock"]()&&k.remove(),e["moveToElementEdit"+(d?"End":"Start")](n),e.select(),a.fire("saveSnapshot"),c=1):h.blockLimit&&h.blockLimit.is("td")&&(l=h.blockLimit.getAscendant("table"))&&e.checkBoundaryOfElement(l,d?CKEDITOR.START:CKEDITOR.END)&&(n=l[d?"getPrevious":"getNext"](g))?(a.fire("saveSnapshot"), +e["moveToElementEdit"+(d?"End":"Start")](n),e.checkStartOfBlock()&&e.checkEndOfBlock()?n.remove():e.select(),a.fire("saveSnapshot"),c=1):(l=h.contains(["td","th","caption"]))&&e.checkBoundaryOfElement(l,d?CKEDITOR.START:CKEDITOR.END)&&(c=1))}return!c});a.blockless&&CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller&&this.attachListener(this,"keyup",function(b){b.data.getKeystroke()in p&&!this.getFirst(f)&&(this.appendBogus(),b=a.createRange(),b.moveToPosition(this,CKEDITOR.POSITION_AFTER_START),b.select())}); +this.attachListener(this,"dblclick",function(b){if(a.readOnly)return!1;b={element:b.data.getTarget()};a.fire("doubleclick",b)});CKEDITOR.env.ie&&this.attachListener(this,"click",c);CKEDITOR.env.ie&&!CKEDITOR.env.edge||this.attachListener(this,"mousedown",function(b){var d=b.data.getTarget();d.is("img","hr","input","textarea","select")&&!d.isReadOnly()&&(a.getSelection().selectElement(d),d.is("input","textarea","select")&&b.data.preventDefault())});CKEDITOR.env.edge&&this.attachListener(this,"mouseup", +function(b){(b=b.data.getTarget())&&b.is("img")&&a.getSelection().selectElement(b)});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(2==b.data.$.button&&(b=b.data.getTarget(),!b.getOuterHtml().replace(w,""))){var d=a.createRange();d.moveToElementEditStart(b);d.select(!0)}});CKEDITOR.env.webkit&&(this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()}),this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input", +"textarea")&&a.data.preventDefault()}));CKEDITOR.env.webkit&&this.attachListener(a,"key",function(d){if(a.readOnly)return!0;d=d.data.domEvent.getKey();if(d in p){var c=8==d,g=a.getSelection().getRanges()[0];d=g.startPath();if(g.collapsed)a:{var e=d.block;if(e&&g[c?"checkStartOfBlock":"checkEndOfBlock"]()&&g.moveToClosestEditablePosition(e,!c)&&g.collapsed){if(g.startContainer.type==CKEDITOR.NODE_ELEMENT){var f=g.startContainer.getChild(g.startOffset-(c?1:0));if(f&&f.type==CKEDITOR.NODE_ELEMENT&&f.is("hr")){a.fire("saveSnapshot"); +f.remove();d=!0;break a}}g=g.startPath().block;if(!g||g&&g.contains(e))d=void 0;else{a.fire("saveSnapshot");var h;(h=(c?g:e).getBogus())&&h.remove();h=a.getSelection();f=h.createBookmarks();(c?e:g).moveChildren(c?g:e,!1);d.lastElement.mergeSiblings();b(e,g,!c);h.selectBookmarks(f);d=!0}}else d=!1}else c=g,h=d.block,g=c.endPath().block,h&&g&&!h.equals(g)?(a.fire("saveSnapshot"),(e=h.getBogus())&&e.remove(),c.enlarge(CKEDITOR.ENLARGE_INLINE),c.deleteContents(),g.getParent()&&(g.moveChildren(h,!1),d.lastElement.mergeSiblings(), +b(h,g,!0)),c=a.getSelection().getRanges()[0],c.collapse(1),c.optimize(),""===c.startContainer.getHtml()&&c.startContainer.appendBogus(),c.select(),d=!0):d=!1;if(!d)return;a.getSelection().scrollIntoView();a.fire("saveSnapshot");return!1}},this,null,100)}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData("classes"))for(;a.length;)this.removeClass(a.pop());if(!this.is("textarea")){a=this.getDocument();var b= +a.getHead();if(b.getCustomData("stylesheet")){var d=a.getCustomData("stylesheet_ref");--d?a.setCustomData("stylesheet_ref",d):(a.removeCustomData("stylesheet_ref"),b.removeCustomData("stylesheet").remove())}}this.editor.fire("contentDomUnload");delete this.editor}}});CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;arguments.length&&(b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(b&&b.detach(),null));return b};CKEDITOR.on("instanceLoaded", +function(b){var d=b.editor;d.on("insertElement",function(a){a=a.data;a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))&&("false"!=a.getAttribute("contentEditable")&&a.data("cke-editable",a.hasAttribute("contenteditable")?"true":"1"),a.setAttribute("contentEditable",!1))});d.on("selectionChange",function(b){if(!d.readOnly){var c=d.getSelection();c&&!c.isLocked&&(c=d.checkDirty(),d.fire("lockSnapshot"),a(b),d.fire("unlockSnapshot"),!c&&d.resetDirty())}})});CKEDITOR.on("instanceCreated", +function(a){var b=a.editor;b.on("mode",function(){var a=b.editable();if(a&&a.isInline()){var d=b.title;a.changeAttr("role","textbox");a.changeAttr("aria-label",d);d&&a.changeAttr("title",d);var c=b.fire("ariaEditorHelpLabel",{}).label;if(c&&(d=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents"))){var g=CKEDITOR.tools.getNextId(),c=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+g+'" class\x3d"cke_voice_label"\x3e'+c+"\x3c/span\x3e");d.append(c);a.changeAttr("aria-describedby", +g)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");g=CKEDITOR.dom.walker.whitespaces(!0);p=CKEDITOR.dom.walker.bookmark(!1,!0);v=CKEDITOR.dom.walker.empty();r=CKEDITOR.dom.walker.bogus();w=/(^|]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;n=function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT}function b(d,c){var g,e,f,h,k=[],l=c.range.startContainer; +g=c.range.startPath();for(var l=p[l.getName()],n=0,m=d.getChildren(),q=m.count(),w=-1,u=-1,v=0,r=g.contains(p.$list);nCKEDITOR.env.version&&c.getChildCount()&&c.getFirst().remove())}return function(c){var g=c.startContainer,e=g.getAscendant("table", +1),f=!1;d(e.getElementsByTag("td"));d(e.getElementsByTag("th"));e=c.clone();e.setStart(g,0);e=a(e).lastBackward();e||(e=c.clone(),e.setEndAt(g,CKEDITOR.POSITION_BEFORE_END),e=a(e).lastForward(),f=!0);e||(e=g);e.is("table")?(c.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),c.collapse(!0),e.remove()):(e.is({tbody:1,thead:1,tfoot:1})&&(e=b(e,"tr",f)),e.is("tr")&&(e=b(e,e.getParent().is("thead")?"th":"td",f)),(g=e.getBogus())&&g.remove(),c.moveToPosition(e,f?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END))}}(); +u=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$list)||a.is(CKEDITOR.dtd.$listItem)};b.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$listItem)};return b}return function(b){var d=b.startContainer,c=!1,g;g=b.clone();g.setStart(d,0);g=a(g).lastBackward();g||(g=b.clone(),g.setEndAt(d,CKEDITOR.POSITION_BEFORE_END),g=a(g).lastForward(),c=!0);g||(g=d);g.is(CKEDITOR.dtd.$list)? +(b.setStartAt(g,CKEDITOR.POSITION_BEFORE_START),b.collapse(!0),g.remove()):((d=g.getBogus())&&d.remove(),b.moveToPosition(g,c?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END),b.select())}}();B={eol:{detect:function(a,b){var d=a.range,c=d.clone(),g=d.clone(),e=new CKEDITOR.dom.elementPath(d.startContainer,b),f=new CKEDITOR.dom.elementPath(d.endContainer,b);c.collapse(1);g.collapse();e.block&&c.checkBoundaryOfElement(e.block,CKEDITOR.END)&&(d.setStartAfter(e.block),a.prependEolBr=1);f.block&& +g.checkBoundaryOfElement(f.block,CKEDITOR.START)&&(d.setEndBefore(f.block),a.appendEolBr=1)},fix:function(a,b){var d=b.getDocument(),c;a.appendEolBr&&(c=this.createEolBr(d),a.fragment.append(c));!a.prependEolBr||c&&!c.getPrevious()||a.fragment.append(this.createEolBr(d),1)},createEolBr:function(a){return a.createElement("br",{attributes:{"data-cke-eol":1}})}},bogus:{exclude:function(a){var b=a.range.getBoundaryNodes(),d=b.startNode,b=b.endNode;!b||!r(b)||d&&d.equals(b)||a.range.setEndBefore(b)}}, +tree:{rebuild:function(a,b){var d=a.range,c=d.getCommonAncestor(),g=new CKEDITOR.dom.elementPath(c,b),e=new CKEDITOR.dom.elementPath(d.startContainer,b),d=new CKEDITOR.dom.elementPath(d.endContainer,b),f;c.type==CKEDITOR.NODE_TEXT&&(c=c.getParent());if(g.blockLimit.is({tr:1,table:1})){var h=g.contains("table").getParent();f=function(a){return!a.equals(h)}}else if(g.block&&g.block.is(CKEDITOR.dtd.$listItem)&&(e=e.contains(CKEDITOR.dtd.$list),d=d.contains(CKEDITOR.dtd.$list),!e.equals(d))){var k=g.contains(CKEDITOR.dtd.$list).getParent(); +f=function(a){return!a.equals(k)}}f||(f=function(a){return!a.equals(g.block)&&!a.equals(g.blockLimit)});this.rebuildFragment(a,b,c,f)},rebuildFragment:function(a,b,d,c){for(var g;d&&!d.equals(b)&&c(d);)g=d.clone(0,1),a.fragment.appendTo(g),a.fragment=g,d=d.getParent()}},cell:{shrink:function(a){a=a.range;var b=a.startContainer,d=a.endContainer,c=a.startOffset,g=a.endOffset;b.type==CKEDITOR.NODE_ELEMENT&&b.equals(d)&&b.is("tr")&&++c==g&&a.shrink(CKEDITOR.SHRINK_TEXT)}}};y=function(){function a(b,d){var c= +b.getParent();if(c.is(CKEDITOR.dtd.$inline))b[d?"insertBefore":"insertAfter"](c)}function b(d,c,g){a(c);a(g,1);for(var e;e=g.getNext();)e.insertAfter(c),c=e;v(d)&&d.remove()}function d(a,b){var c=new CKEDITOR.dom.range(a);c.setStartAfter(b.startNode);c.setEndBefore(b.endNode);return c}return{list:{detectMerge:function(a,b){var c=d(b,a.bookmark),g=c.startPath(),e=c.endPath(),f=g.contains(CKEDITOR.dtd.$list),h=e.contains(CKEDITOR.dtd.$list);a.mergeList=f&&h&&f.getParent().equals(h.getParent())&&!f.equals(h); +a.mergeListItems=g.block&&e.block&&g.block.is(CKEDITOR.dtd.$listItem)&&e.block.is(CKEDITOR.dtd.$listItem);if(a.mergeList||a.mergeListItems)c=c.clone(),c.setStartBefore(a.bookmark.startNode),c.setEndAfter(a.bookmark.endNode),a.mergeListBookmark=c.createBookmark()},merge:function(a,d){if(a.mergeListBookmark){var c=a.mergeListBookmark.startNode,g=a.mergeListBookmark.endNode,e=new CKEDITOR.dom.elementPath(c,d),f=new CKEDITOR.dom.elementPath(g,d);if(a.mergeList){var h=e.contains(CKEDITOR.dtd.$list),k= +f.contains(CKEDITOR.dtd.$list);h.equals(k)||(k.moveChildren(h),k.remove())}a.mergeListItems&&(e=e.contains(CKEDITOR.dtd.$listItem),f=f.contains(CKEDITOR.dtd.$listItem),e.equals(f)||b(f,c,g));c.remove();g.remove()}}},block:{detectMerge:function(a,b){if(!a.tableContentsRanges&&!a.mergeListBookmark){var d=new CKEDITOR.dom.range(b);d.setStartBefore(a.bookmark.startNode);d.setEndAfter(a.bookmark.endNode);a.mergeBlockBookmark=d.createBookmark()}},merge:function(a,d){if(a.mergeBlockBookmark&&!a.purgeTableBookmark){var c= +a.mergeBlockBookmark.startNode,g=a.mergeBlockBookmark.endNode,e=new CKEDITOR.dom.elementPath(c,d),f=new CKEDITOR.dom.elementPath(g,d),e=e.block,f=f.block;e&&f&&!e.equals(f)&&b(f,c,g);c.remove();g.remove()}}},table:function(){function a(d){var g=[],e,f=new CKEDITOR.dom.walker(d),h=d.startPath().contains(c),k=d.endPath().contains(c),n={};f.guard=function(a,f){if(a.type==CKEDITOR.NODE_ELEMENT){var l="visited_"+(f?"out":"in");if(a.getCustomData(l))return;CKEDITOR.dom.element.setMarker(n,a,l,1)}if(f&& +h&&a.equals(h))e=d.clone(),e.setEndAt(h,CKEDITOR.POSITION_BEFORE_END),g.push(e);else if(!f&&k&&a.equals(k))e=d.clone(),e.setStartAt(k,CKEDITOR.POSITION_AFTER_START),g.push(e);else{if(l=!f)l=a.type==CKEDITOR.NODE_ELEMENT&&a.is(c)&&(!h||b(a,h))&&(!k||b(a,k));l&&(e=d.clone(),e.selectNodeContents(a),g.push(e))}};f.lastForward();CKEDITOR.dom.element.clearAllMarkers(n);return g}function b(a,d){var c=CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED,g=a.getPosition(d);return g===CKEDITOR.POSITION_IDENTICAL? +!1:0===(g&c)}var c={td:1,th:1,caption:1};return{detectPurge:function(a){var b=a.range,d=b.clone();d.enlarge(CKEDITOR.ENLARGE_ELEMENT);var d=new CKEDITOR.dom.walker(d),g=0;d.evaluator=function(a){a.type==CKEDITOR.NODE_ELEMENT&&a.is(c)&&++g};d.checkForward();if(1e&&g&&g.intersectsNode(d.$)){var f=[{node:c.anchorNode,offset:c.anchorOffset},{node:c.focusNode,offset:c.focusOffset}];c.anchorNode==d.$&&c.anchorOffset>e&&(f[0].offset-=e);c.focusNode==d.$&&c.focusOffset>e&&(f[1].offset-=e)}}d.setText(k(d.getText(),1));f&&(d=a.getDocument().$,c=d.getSelection(),d=d.createRange(),d.setStart(f[0].node,f[0].offset),d.collapse(!0),c.removeAllRanges(), +c.addRange(d),c.extend(f[1].node,f[1].offset))}}function k(a,b){return b?a.replace(w,function(a,b){return b?" ":""}):a.replace(r,"")}function d(a,b){var d=CKEDITOR.dom.element.createFromHtml('\x3cdiv data-cke-hidden-sel\x3d"1" data-cke-temp\x3d"1" style\x3d"'+(CKEDITOR.env.ie&&14>CKEDITOR.env.version?"display:none":"position:fixed;top:0;left:-1000px")+'"\x3e'+(b||"\x26nbsp;")+"\x3c/div\x3e",a.document);a.fire("lockSnapshot");a.editable().append(d);var c=a.getSelection(1),g=a.createRange(),e=c.root.on("selectionchange", +function(a){a.cancel()},null,null,0);g.setStartAt(d,CKEDITOR.POSITION_AFTER_START);g.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);c.selectRanges([g]);e.removeListener();a.fire("unlockSnapshot");a._.hiddenSelectionContainer=d}function b(a){var b={37:1,39:1,8:1,46:1};return function(d){var c=d.data.getKeystroke();if(b[c]){var g=a.getSelection().getRanges(),e=g[0];1==g.length&&e.collapsed&&(c=e[38>c?"getPreviousEditableNode":"getNextEditableNode"]())&&c.type==CKEDITOR.NODE_ELEMENT&&"false"==c.getAttribute("contenteditable")&& +(a.getSelection().fake(c),d.data.preventDefault(),d.cancel())}}}function g(a){for(var b=0;b=c.getLength()?h.setStartAfter(c):h.setStartBefore(c));g&&g.type==CKEDITOR.NODE_TEXT&&(f?h.setEndAfter(g):h.setEndBefore(g));c=new CKEDITOR.dom.walker(h);c.evaluator=function(c){if(c.type==CKEDITOR.NODE_ELEMENT&&c.isReadOnly()){var g=d.clone();d.setEndBefore(c);d.collapsed&&a.splice(b--,1);c.getPosition(h.endContainer)&CKEDITOR.POSITION_CONTAINS||(g.setStartAfter(c),g.collapsed||a.splice(b+1,0,g));return!0}return!1};c.next()}}return a}var p="function"!=typeof window.getSelection,v=1,r=CKEDITOR.tools.repeat("​", +7),w=new RegExp(r+"( )?","g"),n,q,u=CKEDITOR.dom.walker.invisible(1),B=function(){function a(b){return function(a){var d=a.editor.createRange();d.moveToClosestEditablePosition(a.selected,b)&&a.editor.getSelection().selectRanges([d]);return!1}}function b(a){return function(b){var d=b.editor,c=d.createRange(),g;(g=c.moveToClosestEditablePosition(b.selected,a))||(g=c.moveToClosestEditablePosition(b.selected,!a));g&&d.getSelection().selectRanges([c]);d.fire("saveSnapshot");b.selected.remove();g||(c.moveToElementEditablePosition(d.editable()), +d.getSelection().selectRanges([c]));d.fire("saveSnapshot");return!1}}var d=a(),c=a(1);return{37:d,38:d,39:c,40:c,8:b(),46:b(1)}}();CKEDITOR.on("instanceCreated",function(d){function c(){var a=g.getSelection();a&&a.removeAllRanges()}var g=d.editor;g.on("contentDom",function(){function d(){w=new CKEDITOR.dom.selection(g.getSelection());w.lock()}function c(){h.removeListener("mouseup",c);m.removeListener("mouseup",c);var a=CKEDITOR.document.$.selection,b=a.createRange();"None"!=a.type&&b.parentElement().ownerDocument== +f.$&&b.select()}var f=g.document,h=CKEDITOR.document,k=g.editable(),n=f.getBody(),m=f.getDocumentElement(),t=k.isInline(),q,w;CKEDITOR.env.gecko&&k.attachListener(k,"focus",function(a){a.removeListener();0!==q&&(a=g.getSelection().getNative())&&a.isCollapsed&&a.anchorNode==k.$&&(a=g.createRange(),a.moveToElementEditStart(k),a.select())},null,null,-2);k.attachListener(k,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){q&&CKEDITOR.env.webkit&&(q=g._.previousActive&&g._.previousActive.equals(f.getActive()))&& +null!=g._.previousScrollTop&&g._.previousScrollTop!=k.$.scrollTop&&(k.$.scrollTop=g._.previousScrollTop);g.unlockSelection(q);q=0},null,null,-1);k.attachListener(k,"mousedown",function(){q=0});if(CKEDITOR.env.ie||t)p?k.attachListener(k,"beforedeactivate",d,null,null,-1):k.attachListener(g,"selectionCheck",d,null,null,-1),k.attachListener(k,CKEDITOR.env.webkit?"DOMFocusOut":"blur",function(){g.lockSelection(w);q=1},null,null,-1),k.attachListener(k,"mousedown",function(){q=0});if(CKEDITOR.env.ie&&!t){var u; +k.attachListener(k,"mousedown",function(a){2==a.data.$.button&&((a=g.document.getSelection())&&a.getType()!=CKEDITOR.SELECTION_NONE||(u=g.window.getScrollPosition()))});k.attachListener(k,"mouseup",function(a){2==a.data.$.button&&u&&(g.document.$.documentElement.scrollLeft=u.x,g.document.$.documentElement.scrollTop=u.y);u=null});if("BackCompat"!=f.$.compatMode){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat){var v,r;m.on("mousedown",function(a){function b(a){a=a.data.$;if(v){var d=n.$.createTextRange(); +try{d.moveToPoint(a.clientX,a.clientY)}catch(c){}v.setEndPoint(0>r.compareEndPoints("StartToStart",d)?"EndToEnd":"StartToStart",d);v.select()}}function d(){m.removeListener("mousemove",b);h.removeListener("mouseup",d);m.removeListener("mouseup",d);v.select()}a=a.data;if(a.getTarget().is("html")&&a.$.yCKEDITOR.env.version)m.on("mousedown",function(a){a.data.getTarget().is("html")&&(h.on("mouseup",c),m.on("mouseup",c))})}}k.attachListener(k,"selectionchange",a,g);k.attachListener(k,"keyup",e,g);k.attachListener(k,CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){g.forceNextSelectionCheck();g.selectionChange(1)});if(t&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){var x;k.attachListener(k,"mousedown",function(){x=1});k.attachListener(f.getDocumentElement(),"mouseup",function(){x&& +e.call(g);x=0})}else k.attachListener(CKEDITOR.env.ie?k:f.getDocumentElement(),"mouseup",e,g);CKEDITOR.env.webkit&&k.attachListener(f,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:l(k)}},null,null,-1);k.attachListener(k,"keydown",b(g),null,null,-1)});g.on("setData",function(){g.unlockSelection();CKEDITOR.env.webkit&&c()});g.on("contentDomUnload",function(){g.unlockSelection()});if(CKEDITOR.env.ie9Compat)g.on("beforeDestroy", +c,null,null,9);g.on("dataReady",function(){delete g._.fakeSelection;delete g._.hiddenSelectionContainer;g.selectionChange(1)});g.on("loadSnapshot",function(){var a=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT),b=g.editable().getLast(a);b&&b.hasAttribute("data-cke-hidden-sel")&&(b.remove(),CKEDITOR.env.gecko&&(a=g.editable().getFirst(a))&&a.is("br")&&a.getAttribute("_moz_editor_bogus_node")&&a.remove())},null,null,100);g.on("key",function(a){if("wysiwyg"==g.mode){var b=g.getSelection();if(b.isFake){var d= +B[a.data.keyCode];if(d)return d({editor:g,selected:b.getSelectedElement(),selection:b,keyEvent:a})}}})});if(CKEDITOR.env.webkit)CKEDITOR.on("instanceReady",function(a){var b=a.editor;b.on("selectionChange",function(){var a=b.editable(),d=a.getCustomData("cke-fillingChar");d&&(d.getCustomData("ready")?l(a):d.setCustomData("ready",1))},null,null,-1);b.on("beforeSetMode",function(){l(b.editable())},null,null,-1);b.on("getSnapshot",function(a){a.data&&(a.data=k(a.data))},b,null,20);b.on("toDataFormat", +function(a){a.data.dataValue=k(a.data.dataValue)},null,null,0)});CKEDITOR.editor.prototype.selectionChange=function(b){(b?a:e).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){return!this._.savedSelection&&!this._.fakeSelection||a?(a=this.editable())&&"wysiwyg"==this.mode?new CKEDITOR.dom.selection(a):null:this._.savedSelection||this._.fakeSelection};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);return a.getType()!=CKEDITOR.SELECTION_NONE?(!a.isLocked&& +a.lock(),this._.savedSelection=a,!0):!1};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;return b?(b.unlock(a),delete this._.savedSelection,!0):!1};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath};CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection(): +new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;CKEDITOR.dom.selection=function(a){if(a instanceof CKEDITOR.dom.selection){var b=a;a=a.root}var d=a instanceof CKEDITOR.dom.element;this.rev=b?b.rev:v++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=d?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(b)return CKEDITOR.tools.extend(this._.cache,b._.cache), +this.isFake=b.isFake,this.isLocked=b.isLocked,this;a=this.getNative();var c,g;if(a)if(a.getRangeAt)c=(g=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(g.commonAncestorContainer);else{try{g=a.createRange()}catch(e){}c=g&&CKEDITOR.dom.element.get(g.item&&g.item(0)||g.parentElement())}if(!c||c.type!=CKEDITOR.NODE_ELEMENT&&c.type!=CKEDITOR.NODE_TEXT||!this.root.equals(c)&&!this.root.contains(c))this._.cache.type=CKEDITOR.SELECTION_NONE,this._.cache.startElement=null,this._.cache.selectedElement= +null,this._.cache.selectedText="",this._.cache.ranges=new CKEDITOR.dom.rangeList;return this};var y={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.tools.extend(CKEDITOR.dom.selection,{_removeFillingCharSequenceString:k,_createFillingCharSequenceNode:m,FILLING_CHAR_SEQUENCE:r});CKEDITOR.dom.selection.prototype={getNative:function(){return void 0!==this._.cache.nativeSel?this._.cache.nativeSel:this._.cache.nativeSel= +p?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:p?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;try{var d=this.getNative(),c=d.type;"Text"==c&&(b=CKEDITOR.SELECTION_TEXT);"Control"==c&&(b=CKEDITOR.SELECTION_ELEMENT);d.createRange().parentElement()&&(b=CKEDITOR.SELECTION_TEXT)}catch(g){}return a.type=b}:function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,d=this.getNative();if(!d||!d.rangeCount)b=CKEDITOR.SELECTION_NONE; +else if(1==d.rangeCount){var d=d.getRangeAt(0),c=d.startContainer;c==d.endContainer&&1==c.nodeType&&1==d.endOffset-d.startOffset&&y[c.childNodes[d.startOffset].nodeName.toLowerCase()]&&(b=CKEDITOR.SELECTION_ELEMENT)}return a.type=b},getRanges:function(){var a=p?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}var b=function(b,d){b=b.duplicate();b.collapse(d);var c=b.parentElement();if(!c.hasChildNodes())return{container:c,offset:0};for(var g=c.children,e,f,h=b.duplicate(),k=0, +n=g.length-1,l=-1,p,m;k<=n;)if(l=Math.floor((k+n)/2),e=g[l],h.moveToElementText(e),p=h.compareEndPoints("StartToStart",b),0p)k=l+1;else return{container:c,offset:a(e)};if(-1==l||l==g.length-1&&0>p){h.moveToElementText(c);h.setEndPoint("StartToStart",b);h=h.text.replace(/(\r\n|\r)/g,"\n").length;g=c.childNodes;if(!h)return e=g[g.length-1],e.nodeType!=CKEDITOR.NODE_TEXT?{container:c,offset:g.length}:{container:e,offset:e.nodeValue.length};for(c=g.length;0]*>)[ \t\r\n]*/gi,"$1");f=f.replace(/([ \t\n\r]+| )/g," ");f=f.replace(/]*>/gi,"\n");if(CKEDITOR.env.ie){var h=a.getDocument().createElement("div");h.append(e);e.$.outerHTML="\x3cpre\x3e"+f+"\x3c/pre\x3e";e.copyAttributes(h.getFirst());e=h.getFirst().remove()}else e.setHtml(f); +b=e}else f?b=v(d?[a.getHtml()]:g(a),b):a.moveChildren(b);b.replace(a);if(c){var d=b,k;(k=d.getPrevious(H))&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("pre")&&(c=p(k.getHtml(),/\n$/,"")+"\n\n"+p(d.getHtml(),/^\n/,""),CKEDITOR.env.ie?d.$.outerHTML="\x3cpre\x3e"+c+"\x3c/pre\x3e":d.setHtml(c),k.remove())}else d&&q(b)}function g(a){var b=[];p(a.getOuterHtml(),/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,b,d){return b+"\x3c/pre\x3e"+d+"\x3cpre\x3e"}).replace(/([\s\S]*?)<\/pre>/gi, +function(a,d){b.push(d)});return b}function p(a,b,d){var c="",g="";a=a.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi,function(a,b,d){b&&(c=b);d&&(g=d);return""});return c+a.replace(b,d)+g}function v(a,b){var d;1=e?(m=h.createText(""),m.insertAfter(this)):(a=h.createText(""),a.insertAfter(m),a.remove()));return m},substring:function(a,f){return"number"!=typeof f?this.$.nodeValue.substr(a):this.$.nodeValue.substring(a,f)}}),function(){function a(a,e,h){var f=a.serializable,l=e[h?"endContainer":"startContainer"],k=h?"endOffset":"startOffset",b=f?e.document.getById(a.startNode):a.startNode;a=f?e.document.getById(a.endNode):a.endNode;l.equals(b.getPrevious())?(e.startOffset=e.startOffset-l.getLength()- -a.getPrevious().getLength(),l=a.getNext()):l.equals(a.getPrevious())&&(e.startOffset-=l.getLength(),l=a.getNext());l.equals(b.getParent())&&e[k]++;l.equals(a.getParent())&&e[k]++;e[h?"endContainer":"startContainer"]=l;return e}CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,f)};var f={createIterator:function(){var a=this,e=CKEDITOR.dom.walker.bookmark(),h=[],f;return{getNextRange:function(l){f= -void 0===f?0:f+1;var k=a[f];if(k&&1b?-1:1}),h=0,f;hCKEDITOR.env.version?a[k].$.styleSheet.cssText+=f:a[k].$.innerHTML+=f}}var m={};CKEDITOR.skin={path:a,loadPart:function(b,g){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]? -CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(a()+"skin.js"),function(){c(b,g)}):c(b,g)},getPath:function(a){return CKEDITOR.getUrl(f(a))},icons:{},addIcon:function(a,b,c,e){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:b,offset:c||0,bgsize:e||"16px"})},getIconStyle:function(a,b,c,e,h){var f;a&&(a=a.toLowerCase(),b&&(f=this.icons[a+"-rtl"]),f||(f=this.icons[a]));a=c||f&&f.path||"";e=e||f&&f.offset;h=h||f&&f.bgsize||"16px";a&&(a=a.replace(/'/g,"\\'"));return a&&"background-image:url('"+CKEDITOR.getUrl(a)+ -"');background-position:0 "+e+"px;background-size:"+h+";"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(a){var c=e(CKEDITOR.document);return(this.setUiColor=function(a){this.uiColor=a;var d=CKEDITOR.skin.chameleon,e="",f="";"function"==typeof d&&(e=d(this,"editor"),f=d(this,"panel"));a=[[b,a]];h([c],e,a);h(k,f,a)}).call(this,a)}});var l="cke_ui_color",k=[],b=/\$color/g;CKEDITOR.on("instanceLoaded",function(a){if(!CKEDITOR.env.ie|| -!CKEDITOR.env.quirks){var c=a.editor;a=function(a){a=(a.data[0]||a.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!a.getById("cke_ui_color")){a=e(a);k.push(a);var d=c.getUiColor();d&&h([a],CKEDITOR.skin.chameleon(c,"panel"),[[b,d]])}};c.on("panelShow",a);c.on("menuShow",a);c.config.uiColor&&c.setUiColor(c.config.uiColor)}})}(),function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=!1;else{var a=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"width:0;height:0;position:absolute;left:-10000px;border:1px solid;border-color:red blue"\x3e\x3c/div\x3e', -CKEDITOR.document);a.appendTo(CKEDITOR.document.getHead());try{var f=a.getComputedStyle("border-top-color"),c=a.getComputedStyle("border-right-color");CKEDITOR.env.hc=!(!f||f!=c)}catch(e){CKEDITOR.env.hc=!1}a.remove()}CKEDITOR.env.hc&&(CKEDITOR.env.cssClass+=" cke_hc");CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}");CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(a=CKEDITOR._.pending)for(delete CKEDITOR._.pending,f=0;fl;l++){var k=l,b;b=parseInt(f[l],16);b=("0"+(0>c?0|b*(1+c):0|b+(255-b)*c).toString(16)).slice(-2);f[k]=b}return"#"+f.join("")}}(),f=function(){var a=new CKEDITOR.template("background:#{to};background-image:linear-gradient(to bottom,{from},{to});filter:progid:DXImageTransform.Microsoft.gradient(gradientType\x3d0,startColorstr\x3d'{from}',endColorstr\x3d'{to}');"); -return function(c,f){return a.output({from:c,to:f})}}(),c={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ {defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_bottom [{defaultGradient}border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [{defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [{defaultGradient}outline-color:{defaultBorder};border-top-color:{defaultBorder};] {id} .cke_dialog_tab [{lightGradient}border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [{mediumGradient}] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} .cke_toolgroup [{lightGradient}border-color:{defaultBorder};] {id} a.cke_button_off:hover, {id} a.cke_button_off:focus, {id} a.cke_button_off:active [{mediumGradient}] {id} .cke_button_on [{ckeButtonOn}] {id} .cke_toolbar_separator [background-color: {ckeToolbarSeparator};] {id} .cke_combo_button [border-color:{defaultBorder};{lightGradient}] {id} a.cke_combo_button:hover, {id} a.cke_combo_button:focus, {id} .cke_combo_on a.cke_combo_button [border-color:{defaultBorder};{mediumGradient}] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover, {id} a.cke_path_item:focus, {id} a.cke_path_item:active [background-color:{elementsPathBg};] {id}.cke_panel [border-color:{defaultBorder};] "), -panel:new CKEDITOR.template(".cke_panel_grouptitle [{lightGradient}border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:focus.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover.cke_colorauto, a:hover.cke_colormore, a:focus.cke_colorauto, a:focus.cke_colormore, a:active.cke_colorauto, a:active.cke_colormore [background-color:{ckeColorauto};border-color:{defaultBorder};] ")}; -return function(e,h){var m=e.uiColor,m={id:"."+e.id,defaultBorder:a(m,-.1),defaultGradient:f(a(m,.9),m),lightGradient:f(a(m,1),a(m,.7)),mediumGradient:f(a(m,.8),a(m,.5)),ckeButtonOn:f(a(m,.6),a(m,.7)),ckeResizer:a(m,-.4),ckeToolbarSeparator:a(m,.5),ckeColorauto:a(m,.8),dialogBody:a(m,.7),dialogTabSelected:f("#FFFFFF","#FFFFFF"),dialogTabSelectedBorder:"#FFF",elementsPathColor:a(m,-.6),elementsPathBg:m,menubuttonIcon:a(m,.5),menubuttonIconHover:a(m,.3)};return c[h].output(m).replace(/\[/g,"{").replace(/\]/g, -"}")}}(),CKEDITOR.plugins.add("dialogui",{onLoad:function(){var a=function(a){this._||(this._={});this._["default"]=this._.initValue=a["default"]||"";this._.required=a.required||!1;for(var d=[this._],c=1;carguments.length)){var h=a.call(this,d);h.labelId=CKEDITOR.tools.getNextId()+ -"_label";this._.children=[];var f={role:d.role||"presentation"};d.includeLabel&&(f["aria-labelledby"]=h.labelId);CKEDITOR.ui.dialog.uiElement.call(this,b,d,c,"div",null,f,function(){var a=[],c=d.required?" cke_required":"";"horizontal"!=d.labelLayout?a.push('\x3clabel class\x3d"cke_dialog_ui_labeled_label'+c+'" ',' id\x3d"'+h.labelId+'"',h.inputId?' for\x3d"'+h.inputId+'"':"",(d.labelStyle?' style\x3d"'+d.labelStyle+'"':"")+"\x3e",d.label,"\x3c/label\x3e",'\x3cdiv class\x3d"cke_dialog_ui_labeled_content"', -d.controlStyle?' style\x3d"'+d.controlStyle+'"':"",' role\x3d"presentation"\x3e',e.call(this,b,d),"\x3c/div\x3e"):(c={type:"hbox",widths:d.widths,padding:0,children:[{type:"html",html:'\x3clabel class\x3d"cke_dialog_ui_labeled_label'+c+'" id\x3d"'+h.labelId+'" for\x3d"'+h.inputId+'"'+(d.labelStyle?' style\x3d"'+d.labelStyle+'"':"")+"\x3e"+CKEDITOR.tools.htmlEncode(d.label)+"\x3c/label\x3e"},{type:"html",html:'\x3cspan class\x3d"cke_dialog_ui_labeled_content"'+(d.controlStyle?' style\x3d"'+d.controlStyle+ -'"':"")+"\x3e"+e.call(this,b,d)+"\x3c/span\x3e"}]},CKEDITOR.dialog._.uiElementBuilders.hbox.build(b,c,a));return a.join("")})}},textInput:function(b,d,c){if(!(3>arguments.length)){a.call(this,d);var e=this._.inputId=CKEDITOR.tools.getNextId()+"_textInput",h={"class":"cke_dialog_ui_input_"+d.type,id:e,type:d.type};d.validate&&(this.validate=d.validate);d.maxLength&&(h.maxlength=d.maxLength);d.size&&(h.size=d.size);d.inputStyle&&(h.style=d.inputStyle);var f=this,l=!1;b.on("load",function(){f.getInputElement().on("keydown", -function(a){13==a.data.getKeystroke()&&(l=!0)});f.getInputElement().on("keyup",function(a){13==a.data.getKeystroke()&&l&&(b.getButton("ok")&&setTimeout(function(){b.getButton("ok").click()},0),l=!1);f.bidi&&k.call(f,a)},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,b,d,c,function(){var a=['\x3cdiv class\x3d"cke_dialog_ui_input_',d.type,'" role\x3d"presentation"'];d.width&&a.push('style\x3d"width:'+d.width+'" ');a.push("\x3e\x3cinput ");h["aria-labelledby"]=this._.labelId;this._.required&& -(h["aria-required"]=this._.required);for(var b in h)a.push(b+'\x3d"'+h[b]+'" ');a.push(" /\x3e\x3c/div\x3e");return a.join("")})}},textarea:function(b,d,c){if(!(3>arguments.length)){a.call(this,d);var e=this,h=this._.inputId=CKEDITOR.tools.getNextId()+"_textarea",f={};d.validate&&(this.validate=d.validate);f.rows=d.rows||5;f.cols=d.cols||20;f["class"]="cke_dialog_ui_input_textarea "+(d["class"]||"");"undefined"!=typeof d.inputStyle&&(f.style=d.inputStyle);d.dir&&(f.dir=d.dir);if(e.bidi)b.on("load", -function(){e.getInputElement().on("keyup",k)},e);CKEDITOR.ui.dialog.labeledElement.call(this,b,d,c,function(){f["aria-labelledby"]=this._.labelId;this._.required&&(f["aria-required"]=this._.required);var a=['\x3cdiv class\x3d"cke_dialog_ui_input_textarea" role\x3d"presentation"\x3e\x3ctextarea id\x3d"',h,'" '],b;for(b in f)a.push(b+'\x3d"'+CKEDITOR.tools.htmlEncode(f[b])+'" ');a.push("\x3e",CKEDITOR.tools.htmlEncode(e._["default"]),"\x3c/textarea\x3e\x3c/div\x3e");return a.join("")})}},checkbox:function(b, -d,c){if(!(3>arguments.length)){var e=a.call(this,d,{"default":!!d["default"]});d.validate&&(this.validate=d.validate);CKEDITOR.ui.dialog.uiElement.call(this,b,d,c,"span",null,null,function(){var a=CKEDITOR.tools.extend({},d,{id:d.id?d.id+"_checkbox":CKEDITOR.tools.getNextId()+"_checkbox"},!0),c=[],g=CKEDITOR.tools.getNextId()+"_label",h={"class":"cke_dialog_ui_checkbox_input",type:"checkbox","aria-labelledby":g};l(a);d["default"]&&(h.checked="checked");"undefined"!=typeof a.inputStyle&&(a.style=a.inputStyle); -e.checkbox=new CKEDITOR.ui.dialog.uiElement(b,a,c,"input",null,h);c.push(' \x3clabel id\x3d"',g,'" for\x3d"',h.id,'"'+(d.labelStyle?' style\x3d"'+d.labelStyle+'"':"")+"\x3e",CKEDITOR.tools.htmlEncode(d.label),"\x3c/label\x3e");return c.join("")})}},radio:function(b,d,c){if(!(3>arguments.length)){a.call(this,d);this._["default"]||(this._["default"]=this._.initValue=d.items[0][1]);d.validate&&(this.validate=d.validate);var e=[],h=this;d.role="radiogroup";d.includeLabel=!0;CKEDITOR.ui.dialog.labeledElement.call(this, -b,d,c,function(){for(var a=[],c=[],g=(d.id?d.id:CKEDITOR.tools.getNextId())+"_radio",f=0;farguments.length)){var e=a.call(this,d);d.validate&&(this.validate=d.validate);e.inputId=CKEDITOR.tools.getNextId()+"_select";CKEDITOR.ui.dialog.labeledElement.call(this,b,d,c,function(){var a=CKEDITOR.tools.extend({},d,{id:d.id?d.id+"_select":CKEDITOR.tools.getNextId()+"_select"},!0),c=[],g=[],h={id:e.inputId,"class":"cke_dialog_ui_input_select","aria-labelledby":this._.labelId};c.push('\x3cdiv class\x3d"cke_dialog_ui_input_', -d.type,'" role\x3d"presentation"');d.width&&c.push('style\x3d"width:'+d.width+'" ');c.push("\x3e");void 0!==d.size&&(h.size=d.size);void 0!==d.multiple&&(h.multiple=d.multiple);l(a);for(var f=0,k;farguments.length)){void 0===d["default"]&&(d["default"]="");var e=CKEDITOR.tools.extend(a.call(this,d),{definition:d,buttons:[]});d.validate&&(this.validate=d.validate);b.on("load",function(){CKEDITOR.document.getById(e.frameId).getParent().addClass("cke_dialog_ui_input_file")});CKEDITOR.ui.dialog.labeledElement.call(this,b,d,c,function(){e.frameId=CKEDITOR.tools.getNextId()+"_fileInput";var a=['\x3ciframe frameborder\x3d"0" allowtransparency\x3d"0" class\x3d"cke_dialog_ui_input_file" role\x3d"presentation" id\x3d"', -e.frameId,'" title\x3d"',d.label,'" src\x3d"javascript:void('];a.push(CKEDITOR.env.ie?"(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"})()":"0");a.push(')"\x3e\x3c/iframe\x3e');return a.join("")})}},fileButton:function(b,d,c){var e=this;if(!(3>arguments.length)){a.call(this,d);d.validate&&(this.validate=d.validate);var h=CKEDITOR.tools.extend({},d),f=h.onClick;h.className=(h.className?h.className+" ":"")+"cke_dialog_ui_button";h.onClick=function(a){var c= -d["for"];f&&!1===f.call(this,a)||(b.getContentElement(c[0],c[1]).submit(),this.disable())};b.on("load",function(){b.getContentElement(d["for"][0],d["for"][1])._.buttons.push(e)});CKEDITOR.ui.dialog.button.call(this,b,h,c)}},html:function(){var a=/^\s*<[\w:]+\s+([^>]*)?>/,d=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,c=/\/$/;return function(e,h,f){if(!(3>arguments.length)){var k=[],n=h.html;"\x3c"!=n.charAt(0)&&(n="\x3cspan\x3e"+n+"\x3c/span\x3e");var l=h.focus;if(l){var m=this.focus;this.focus=function(){("function"== -typeof l?l:m).call(this);this.fire("focus")};h.isFocusable&&(this.isFocusable=this.isFocusable);this.keyboardFocusable=!0}CKEDITOR.ui.dialog.uiElement.call(this,e,h,k,"span",null,null,"");k=k.join("").match(a);n=n.match(d)||["","",""];c.test(n[1])&&(n[1]=n[1].slice(0,-1),n[2]="/"+n[2]);f.push([n[1]," ",k[1]||"",n[2]].join(""))}}}(),fieldset:function(a,d,c,e,h){var f=h.label;this._={children:d};CKEDITOR.ui.dialog.uiElement.call(this,a,h,e,"fieldset",null,null,function(){var a=[];f&&a.push("\x3clegend"+ -(h.labelStyle?' style\x3d"'+h.labelStyle+'"':"")+"\x3e"+f+"\x3c/legend\x3e");for(var b=0;bd.getChildCount()?(new CKEDITOR.dom.text(a,CKEDITOR.document)).appendTo(d):d.getChild(0).$.nodeValue=a;return this},getLabel:function(){var a= +checkElementMatch:function(a,b){var d=this._.definition;if(!a||!d.ignoreReadonly&&a.isReadOnly())return!1;var c=a.getName();if("string"==typeof this.element?c==this.element:c in this.element){if(!b&&!a.hasAttributes())return!0;if(c=d._AC)d=c;else{var c={},g=0,e=d.attributes;if(e)for(var f in e)g++,c[f]=e[f];if(f=CKEDITOR.style.getStyleText(d))c.style||g++,c.style=f;c._length=g;d=d._AC=c}if(d._length){for(var h in d)if("_length"!=h)if(c=a.getAttribute(h)||"","style"==h?F(d[h],c):d[h]==c){if(!b)return!0}else if(b)return!1; +if(b)return!0}else return!0}return!1},checkElementRemovable:function(a,b,d){if(this.checkElementMatch(a,b,d))return!0;if(b=t(this)[a.getName()]){var c;if(!(b=b.attributes))return!0;for(d=0;d=f?(m=h.createText(""),m.insertAfter(this)):(a=h.createText(""),a.insertAfter(m),a.remove()));return m},substring:function(a,e){return"number"!=typeof e?this.$.nodeValue.substr(a):this.$.nodeValue.substring(a,e)}}),function(){function a(a,e,h){var m=a.serializable,l=e[h?"endContainer":"startContainer"],k=h?"endOffset":"startOffset",d=m?e.document.getById(a.startNode):a.startNode;a=m?e.document.getById(a.endNode):a.endNode;l.equals(d.getPrevious())?(e.startOffset=e.startOffset-l.getLength()- +a.getPrevious().getLength(),l=a.getNext()):l.equals(a.getPrevious())&&(e.startOffset-=l.getLength(),l=a.getNext());l.equals(d.getParent())&&e[k]++;l.equals(a.getParent())&&e[k]++;e[h?"endContainer":"startContainer"]=l;return e}CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,e)};var e={createIterator:function(){var a=this,e=CKEDITOR.dom.walker.bookmark(),h=[],m;return{getNextRange:function(l){m= +void 0===m?0:m+1;var k=a[m];if(k&&1b?-1:1}),e=0,f;eCKEDITOR.env.version?a[k].$.styleSheet.cssText+=h:a[k].$.innerHTML+=h}}var m={};CKEDITOR.skin={path:a,loadPart:function(b,d){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]? +CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(a()+"skin.js"),function(){c(b,d)}):c(b,d)},getPath:function(a){return CKEDITOR.getUrl(e(a))},icons:{},addIcon:function(a,d,c,e){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:d,offset:c||0,bgsize:e||"16px"})},getIconStyle:function(a,d,c,e,f){var h;a&&(a=a.toLowerCase(),d&&(h=this.icons[a+"-rtl"]),h||(h=this.icons[a]));a=c||h&&h.path||"";e=e||h&&h.offset;f=f||h&&h.bgsize||"16px";a&&(a=a.replace(/'/g,"\\'"));return a&&"background-image:url('"+CKEDITOR.getUrl(a)+ +"');background-position:0 "+e+"px;background-size:"+f+";"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(a){var c=f(CKEDITOR.document);return(this.setUiColor=function(a){this.uiColor=a;var b=CKEDITOR.skin.chameleon,e="",f="";"function"==typeof b&&(e=b(this,"editor"),f=b(this,"panel"));a=[[d,a]];h([c],e,a);h(k,f,a)}).call(this,a)}});var l="cke_ui_color",k=[],d=/\$color/g;CKEDITOR.on("instanceLoaded",function(a){if(!CKEDITOR.env.ie|| +!CKEDITOR.env.quirks){var c=a.editor;a=function(a){a=(a.data[0]||a.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!a.getById("cke_ui_color")){a=f(a);k.push(a);var b=c.getUiColor();b&&h([a],CKEDITOR.skin.chameleon(c,"panel"),[[d,b]])}};c.on("panelShow",a);c.on("menuShow",a);c.config.uiColor&&c.setUiColor(c.config.uiColor)}})}(),function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=!1;else{var a=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"width:0;height:0;position:absolute;left:-10000px;border:1px solid;border-color:red blue"\x3e\x3c/div\x3e', +CKEDITOR.document);a.appendTo(CKEDITOR.document.getHead());try{var e=a.getComputedStyle("border-top-color"),c=a.getComputedStyle("border-right-color");CKEDITOR.env.hc=!(!e||e!=c)}catch(f){CKEDITOR.env.hc=!1}a.remove()}CKEDITOR.env.hc&&(CKEDITOR.env.cssClass+=" cke_hc");CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}");CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(a=CKEDITOR._.pending)for(delete CKEDITOR._.pending,e=0;em;m++){var l=m,k;k=parseInt(h[m],16);k=("0"+(0>e?0|k*(1+e):0|k+(255-k)*e).toString(16)).slice(-2);h[l]=k}return"#"+h.join("")}}(),e={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ background-color:{defaultBackground};border-bottom-color:{defaultBorder};] {id} .cke_bottom [background-color:{defaultBackground};border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [background-color:{defaultBackground};border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [background-color:{defaultBackground};outline-color:{defaultBorder};] {id} .cke_dialog_tab [background-color:{dialogTab};border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [background-color:{lightBackground};] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} a.cke_button_off:hover,{id} a.cke_button_off:focus,{id} a.cke_button_off:active [background-color:{darkBackground};border-color:{toolbarElementsBorder};] {id} .cke_button_on [background-color:{ckeButtonOn};border-color:{toolbarElementsBorder};] {id} .cke_toolbar_separator,{id} .cke_toolgroup a.cke_button:last-child:after,{id} .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after [background-color: {toolbarElementsBorder};border-color: {toolbarElementsBorder};] {id} a.cke_combo_button:hover,{id} a.cke_combo_button:focus,{id} .cke_combo_on a.cke_combo_button [border-color:{toolbarElementsBorder};background-color:{darkBackground};] {id} .cke_combo:after [border-color:{toolbarElementsBorder};] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover,{id} a.cke_path_item:focus,{id} a.cke_path_item:active [background-color:{darkBackground};] {id}.cke_panel [border-color:{defaultBorder};] "), +panel:new CKEDITOR.template(".cke_panel_grouptitle [background-color:{lightBackground};border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active [background-color:{menubuttonHover};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover.cke_colorauto, a:hover.cke_colormore, a:active.cke_colorauto, a:active.cke_colormore [background-color:{ckeColorauto};border-color:{defaultBorder};] ")}; +return function(c,f){var h=a(c.uiColor,.4),h={id:"."+c.id,defaultBorder:a(h,-.2),toolbarElementsBorder:a(h,-.25),defaultBackground:h,lightBackground:a(h,.8),darkBackground:a(h,-.15),ckeButtonOn:a(h,.4),ckeResizer:a(h,-.4),ckeColorauto:a(h,.8),dialogBody:a(h,.7),dialogTab:a(h,.65),dialogTabSelected:"#FFF",dialogTabSelectedBorder:"#FFF",elementsPathColor:a(h,-.6),menubuttonHover:a(h,.1),menubuttonIcon:a(h,.5),menubuttonIconHover:a(h,.3)};return e[f].output(h).replace(/\[/g,"{").replace(/\]/g,"}")}}(), +CKEDITOR.plugins.add("dialogui",{onLoad:function(){var a=function(a){this._||(this._={});this._["default"]=this._.initValue=a["default"]||"";this._.required=a.required||!1;for(var b=[this._],c=1;carguments.length)){var f=a.call(this,b);f.labelId=CKEDITOR.tools.getNextId()+ +"_label";this._.children=[];var h={role:b.role||"presentation"};b.includeLabel&&(h["aria-labelledby"]=f.labelId);CKEDITOR.ui.dialog.uiElement.call(this,d,b,c,"div",null,h,function(){var a=[],c=b.required?" cke_required":"";"horizontal"!=b.labelLayout?a.push('\x3clabel class\x3d"cke_dialog_ui_labeled_label'+c+'" ',' id\x3d"'+f.labelId+'"',f.inputId?' for\x3d"'+f.inputId+'"':"",(b.labelStyle?' style\x3d"'+b.labelStyle+'"':"")+"\x3e",b.label,"\x3c/label\x3e",'\x3cdiv class\x3d"cke_dialog_ui_labeled_content"', +b.controlStyle?' style\x3d"'+b.controlStyle+'"':"",' role\x3d"presentation"\x3e',e.call(this,d,b),"\x3c/div\x3e"):(c={type:"hbox",widths:b.widths,padding:0,children:[{type:"html",html:'\x3clabel class\x3d"cke_dialog_ui_labeled_label'+c+'" id\x3d"'+f.labelId+'" for\x3d"'+f.inputId+'"'+(b.labelStyle?' style\x3d"'+b.labelStyle+'"':"")+"\x3e"+CKEDITOR.tools.htmlEncode(b.label)+"\x3c/label\x3e"},{type:"html",html:'\x3cspan class\x3d"cke_dialog_ui_labeled_content"'+(b.controlStyle?' style\x3d"'+b.controlStyle+ +'"':"")+"\x3e"+e.call(this,d,b)+"\x3c/span\x3e"}]},CKEDITOR.dialog._.uiElementBuilders.hbox.build(d,c,a));return a.join("")})}},textInput:function(d,b,c){if(!(3>arguments.length)){a.call(this,b);var e=this._.inputId=CKEDITOR.tools.getNextId()+"_textInput",f={"class":"cke_dialog_ui_input_"+b.type,id:e,type:b.type};b.validate&&(this.validate=b.validate);b.maxLength&&(f.maxlength=b.maxLength);b.size&&(f.size=b.size);b.inputStyle&&(f.style=b.inputStyle);var h=this,l=!1;d.on("load",function(){h.getInputElement().on("keydown", +function(a){13==a.data.getKeystroke()&&(l=!0)});h.getInputElement().on("keyup",function(a){13==a.data.getKeystroke()&&l&&(d.getButton("ok")&&setTimeout(function(){d.getButton("ok").click()},0),l=!1);h.bidi&&k.call(h,a)},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,d,b,c,function(){var a=['\x3cdiv class\x3d"cke_dialog_ui_input_',b.type,'" role\x3d"presentation"'];b.width&&a.push('style\x3d"width:'+b.width+'" ');a.push("\x3e\x3cinput ");f["aria-labelledby"]=this._.labelId;this._.required&& +(f["aria-required"]=this._.required);for(var d in f)a.push(d+'\x3d"'+f[d]+'" ');a.push(" /\x3e\x3c/div\x3e");return a.join("")})}},textarea:function(d,b,c){if(!(3>arguments.length)){a.call(this,b);var e=this,f=this._.inputId=CKEDITOR.tools.getNextId()+"_textarea",h={};b.validate&&(this.validate=b.validate);h.rows=b.rows||5;h.cols=b.cols||20;h["class"]="cke_dialog_ui_input_textarea "+(b["class"]||"");"undefined"!=typeof b.inputStyle&&(h.style=b.inputStyle);b.dir&&(h.dir=b.dir);if(e.bidi)d.on("load", +function(){e.getInputElement().on("keyup",k)},e);CKEDITOR.ui.dialog.labeledElement.call(this,d,b,c,function(){h["aria-labelledby"]=this._.labelId;this._.required&&(h["aria-required"]=this._.required);var a=['\x3cdiv class\x3d"cke_dialog_ui_input_textarea" role\x3d"presentation"\x3e\x3ctextarea id\x3d"',f,'" '],b;for(b in h)a.push(b+'\x3d"'+CKEDITOR.tools.htmlEncode(h[b])+'" ');a.push("\x3e",CKEDITOR.tools.htmlEncode(e._["default"]),"\x3c/textarea\x3e\x3c/div\x3e");return a.join("")})}},checkbox:function(d, +b,c){if(!(3>arguments.length)){var e=a.call(this,b,{"default":!!b["default"]});b.validate&&(this.validate=b.validate);CKEDITOR.ui.dialog.uiElement.call(this,d,b,c,"span",null,null,function(){var a=CKEDITOR.tools.extend({},b,{id:b.id?b.id+"_checkbox":CKEDITOR.tools.getNextId()+"_checkbox"},!0),c=[],g=CKEDITOR.tools.getNextId()+"_label",f={"class":"cke_dialog_ui_checkbox_input",type:"checkbox","aria-labelledby":g};l(a);b["default"]&&(f.checked="checked");"undefined"!=typeof a.inputStyle&&(a.style=a.inputStyle); +e.checkbox=new CKEDITOR.ui.dialog.uiElement(d,a,c,"input",null,f);c.push(' \x3clabel id\x3d"',g,'" for\x3d"',f.id,'"'+(b.labelStyle?' style\x3d"'+b.labelStyle+'"':"")+"\x3e",CKEDITOR.tools.htmlEncode(b.label),"\x3c/label\x3e");return c.join("")})}},radio:function(d,b,c){if(!(3>arguments.length)){a.call(this,b);this._["default"]||(this._["default"]=this._.initValue=b.items[0][1]);b.validate&&(this.validate=b.validate);var e=[],f=this;b.role="radiogroup";b.includeLabel=!0;CKEDITOR.ui.dialog.labeledElement.call(this, +d,b,c,function(){for(var a=[],c=[],g=(b.id?b.id:CKEDITOR.tools.getNextId())+"_radio",h=0;harguments.length)){var e=a.call(this,b);b.validate&&(this.validate=b.validate);e.inputId=CKEDITOR.tools.getNextId()+"_select";CKEDITOR.ui.dialog.labeledElement.call(this,d,b,c,function(){var a=CKEDITOR.tools.extend({},b,{id:b.id?b.id+"_select":CKEDITOR.tools.getNextId()+"_select"},!0),c=[],g=[],f={id:e.inputId,"class":"cke_dialog_ui_input_select","aria-labelledby":this._.labelId};c.push('\x3cdiv class\x3d"cke_dialog_ui_input_', +b.type,'" role\x3d"presentation"');b.width&&c.push('style\x3d"width:'+b.width+'" ');c.push("\x3e");void 0!==b.size&&(f.size=b.size);void 0!==b.multiple&&(f.multiple=b.multiple);l(a);for(var h=0,k;harguments.length)){void 0===b["default"]&&(b["default"]="");var e=CKEDITOR.tools.extend(a.call(this,b),{definition:b,buttons:[]});b.validate&&(this.validate=b.validate);d.on("load",function(){CKEDITOR.document.getById(e.frameId).getParent().addClass("cke_dialog_ui_input_file")});CKEDITOR.ui.dialog.labeledElement.call(this,d,b,c,function(){e.frameId=CKEDITOR.tools.getNextId()+"_fileInput";var a=['\x3ciframe frameborder\x3d"0" allowtransparency\x3d"0" class\x3d"cke_dialog_ui_input_file" role\x3d"presentation" id\x3d"', +e.frameId,'" title\x3d"',b.label,'" src\x3d"javascript:void('];a.push(CKEDITOR.env.ie?"(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"})()":"0");a.push(')"\x3e\x3c/iframe\x3e');return a.join("")})}},fileButton:function(d,b,c){var e=this;if(!(3>arguments.length)){a.call(this,b);b.validate&&(this.validate=b.validate);var f=CKEDITOR.tools.extend({},b),h=f.onClick;f.className=(f.className?f.className+" ":"")+"cke_dialog_ui_button";f.onClick=function(a){var c= +b["for"];h&&!1===h.call(this,a)||(d.getContentElement(c[0],c[1]).submit(),this.disable())};d.on("load",function(){d.getContentElement(b["for"][0],b["for"][1])._.buttons.push(e)});CKEDITOR.ui.dialog.button.call(this,d,f,c)}},html:function(){var a=/^\s*<[\w:]+\s+([^>]*)?>/,b=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,c=/\/$/;return function(e,f,h){if(!(3>arguments.length)){var k=[],n=f.html;"\x3c"!=n.charAt(0)&&(n="\x3cspan\x3e"+n+"\x3c/span\x3e");var l=f.focus;if(l){var m=this.focus;this.focus=function(){("function"== +typeof l?l:m).call(this);this.fire("focus")};f.isFocusable&&(this.isFocusable=this.isFocusable);this.keyboardFocusable=!0}CKEDITOR.ui.dialog.uiElement.call(this,e,f,k,"span",null,null,"");k=k.join("").match(a);n=n.match(b)||["","",""];c.test(n[1])&&(n[1]=n[1].slice(0,-1),n[2]="/"+n[2]);h.push([n[1]," ",k[1]||"",n[2]].join(""))}}}(),fieldset:function(a,b,c,e,f){var h=f.label;this._={children:b};CKEDITOR.ui.dialog.uiElement.call(this,a,f,e,"fieldset",null,null,function(){var a=[];h&&a.push("\x3clegend"+ +(f.labelStyle?' style\x3d"'+f.labelStyle+'"':"")+"\x3e"+h+"\x3c/legend\x3e");for(var b=0;bb.getChildCount()?(new CKEDITOR.dom.text(a,CKEDITOR.document)).appendTo(b):b.getChild(0).$.nodeValue=a;return this},getLabel:function(){var a= CKEDITOR.document.getById(this._.labelId);return!a||1>a.getChildCount()?"":a.getChild(0).getText()},eventProcessors:h},!0);CKEDITOR.ui.dialog.button.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{click:function(){return this._.disabled?!1:this.fire("click",{dialog:this._.dialog})},enable:function(){this._.disabled=!1;var a=this.getElement();a&&a.removeClass("cke_disabled")},disable:function(){this._.disabled=!0;this.getElement().addClass("cke_disabled")},isVisible:function(){return this.getElement().getFirst().isVisible()}, -isEnabled:function(){return!this._.disabled},eventProcessors:CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onClick:function(a,d){this.on("click",function(){d.apply(this,arguments)})}},!0),accessKeyUp:function(){this.click()},accessKeyDown:function(){this.focus()},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.textInput.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return CKEDITOR.document.getById(this._.inputId)}, -focus:function(){var a=this.selectParentTab();setTimeout(function(){var d=a.getInputElement();d&&d.$.focus()},0)},select:function(){var a=this.selectParentTab();setTimeout(function(){var d=a.getInputElement();d&&(d.$.focus(),d.$.select())},0)},accessKeyUp:function(){this.select()},setValue:function(a){if(this.bidi){var d=a&&a.charAt(0);(d="‪"==d?"ltr":"‫"==d?"rtl":null)&&(a=a.slice(1));this.setDirectionMarker(d)}a||(a="");return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply(this,arguments)}, -getValue:function(){var a=CKEDITOR.ui.dialog.uiElement.prototype.getValue.call(this);if(this.bidi&&a){var d=this.getDirectionMarker();d&&(a=("ltr"==d?"‪":"‫")+a)}return a},setDirectionMarker:function(a){var d=this.getInputElement();a?d.setAttributes({dir:a,"data-cke-dir-marker":a}):this.getDirectionMarker()&&d.removeAttributes(["dir","data-cke-dir-marker"])},getDirectionMarker:function(){return this.getInputElement().data("cke-dir-marker")},keyboardFocusable:!0},e,!0);CKEDITOR.ui.dialog.textarea.prototype= -new CKEDITOR.ui.dialog.textInput;CKEDITOR.ui.dialog.select.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return this._.select.getElement()},add:function(a,d,c){var e=new CKEDITOR.dom.element("option",this.getDialog().getParentEditor().document),h=this.getInputElement().$;e.$.text=a;e.$.value=void 0===d||null===d?a:d;void 0===c||null===c?CKEDITOR.env.ie?h.add(e.$):h.add(e.$,null):h.add(e.$,c);return this},remove:function(a){this.getInputElement().$.remove(a); -return this},clear:function(){for(var a=this.getInputElement().$;0b-a;d--)if(this._.tabs[this._.tabIdList[d%a]][0].$.offsetHeight)return this._.tabIdList[d%a];return null}function f(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId),d=b+1;db-a;d--)if(this._.tabs[this._.tabIdList[d%a]][0].$.offsetHeight)return this._.tabIdList[d%a];return null}function e(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId),d=b+1;dn.width-k.width-h?n.width-k.width+("rtl"==e.lang.dir?0:f[1]):g.x,g.y+f[0]n.height-k.height-h?n.height-k.height+f[2]:g.y,1);d.data.preventDefault()}function d(){CKEDITOR.document.removeListener("mousemove", -b);CKEDITOR.document.removeListener("mouseup",d);if(CKEDITOR.env.ie6Compat){var a=z.getChild(0).getFrameDocument();a.removeListener("mousemove",b);a.removeListener("mouseup",d)}}var c=null,g=null,e=a.getParentEditor(),h=e.config.dialog_magnetDistance,f=CKEDITOR.skin.margins||[0,0,0,0];"undefined"==typeof h&&(h=20);a.parts.title.on("mousedown",function(e){c={x:e.data.$.screenX,y:e.data.$.screenY};CKEDITOR.document.on("mousemove",b);CKEDITOR.document.on("mouseup",d);g=a.getPosition();if(CKEDITOR.env.ie6Compat){var h= -z.getChild(0).getFrameDocument();h.on("mousemove",b);h.on("mouseup",d)}e.data.preventDefault()},a)}function g(a){function b(d){var p="rtl"==e.lang.dir,m=l.width,q=l.height,t=m+(d.data.$.screenX-n.x)*(p?-1:1)*(a._.moved?1:2),x=q+(d.data.$.screenY-n.y)*(a._.moved?1:2),r=a._.element.getFirst(),r=p&&r.getComputedStyle("right"),u=a.getPosition();u.y+x>k.height&&(x=k.height-u.y);(p?r:u.x)+t>k.width&&(t=k.width-(p?r:u.x));if(g==CKEDITOR.DIALOG_RESIZE_WIDTH||g==CKEDITOR.DIALOG_RESIZE_BOTH)m=Math.max(c.minWidth|| -0,t-h);if(g==CKEDITOR.DIALOG_RESIZE_HEIGHT||g==CKEDITOR.DIALOG_RESIZE_BOTH)q=Math.max(c.minHeight||0,x-f);a.resize(m,q);a._.moved||a.layout();d.data.preventDefault()}function d(){CKEDITOR.document.removeListener("mouseup",d);CKEDITOR.document.removeListener("mousemove",b);p&&(p.remove(),p=null);if(CKEDITOR.env.ie6Compat){var a=z.getChild(0).getFrameDocument();a.removeListener("mouseup",d);a.removeListener("mousemove",b)}}var c=a.definition,g=c.resizable;if(g!=CKEDITOR.DIALOG_RESIZE_NONE){var e=a.getParentEditor(), -h,f,k,n,l,p,m=CKEDITOR.tools.addFunction(function(c){l=a.getSize();var g=a.parts.contents;g.$.getElementsByTagName("iframe").length&&(p=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_dialog_resize_cover" style\x3d"height: 100%; position: absolute; width: 100%;"\x3e\x3c/div\x3e'),g.append(p));f=l.height-a.parts.contents.getSize("height",!(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.quirks));h=l.width-a.parts.contents.getSize("width",1);n={x:c.screenX,y:c.screenY};k=CKEDITOR.document.getWindow().getViewPaneSize(); +b)})}function d(a,b){this._={dialog:a};CKEDITOR.tools.extend(this,b)}function b(a){function b(d){var k=a.getSize(),n=CKEDITOR.document.getWindow().getViewPaneSize(),l=d.data.$.screenX,p=d.data.$.screenY,m=l-c.x,q=p-c.y;c={x:l,y:p};g.x+=m;g.y+=q;a.move(g.x+h[3]n.width-k.width-f?n.width-k.width+("rtl"==e.lang.dir?0:h[1]):g.x,g.y+h[0]n.height-k.height-f?n.height-k.height+h[2]:g.y,1);d.data.preventDefault()}function d(){CKEDITOR.document.removeListener("mousemove", +b);CKEDITOR.document.removeListener("mouseup",d);if(CKEDITOR.env.ie6Compat){var a=z.getChild(0).getFrameDocument();a.removeListener("mousemove",b);a.removeListener("mouseup",d)}}var c=null,g=null,e=a.getParentEditor(),f=e.config.dialog_magnetDistance,h=CKEDITOR.skin.margins||[0,0,0,0];"undefined"==typeof f&&(f=20);a.parts.title.on("mousedown",function(e){c={x:e.data.$.screenX,y:e.data.$.screenY};CKEDITOR.document.on("mousemove",b);CKEDITOR.document.on("mouseup",d);g=a.getPosition();if(CKEDITOR.env.ie6Compat){var f= +z.getChild(0).getFrameDocument();f.on("mousemove",b);f.on("mouseup",d)}e.data.preventDefault()},a)}function g(a){function b(d){var p="rtl"==e.lang.dir,m=l.width,q=l.height,u=m+(d.data.$.screenX-n.x)*(p?-1:1)*(a._.moved?1:2),w=q+(d.data.$.screenY-n.y)*(a._.moved?1:2),t=a._.element.getFirst(),t=p&&t.getComputedStyle("right"),r=a.getPosition();r.y+w>k.height&&(w=k.height-r.y);(p?t:r.x)+u>k.width&&(u=k.width-(p?t:r.x));if(g==CKEDITOR.DIALOG_RESIZE_WIDTH||g==CKEDITOR.DIALOG_RESIZE_BOTH)m=Math.max(c.minWidth|| +0,u-f);if(g==CKEDITOR.DIALOG_RESIZE_HEIGHT||g==CKEDITOR.DIALOG_RESIZE_BOTH)q=Math.max(c.minHeight||0,w-h);a.resize(m,q);a._.moved||a.layout();d.data.preventDefault()}function d(){CKEDITOR.document.removeListener("mouseup",d);CKEDITOR.document.removeListener("mousemove",b);p&&(p.remove(),p=null);if(CKEDITOR.env.ie6Compat){var a=z.getChild(0).getFrameDocument();a.removeListener("mouseup",d);a.removeListener("mousemove",b)}}var c=a.definition,g=c.resizable;if(g!=CKEDITOR.DIALOG_RESIZE_NONE){var e=a.getParentEditor(), +f,h,k,n,l,p,m=CKEDITOR.tools.addFunction(function(c){l=a.getSize();var g=a.parts.contents;g.$.getElementsByTagName("iframe").length&&(p=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_dialog_resize_cover" style\x3d"height: 100%; position: absolute; width: 100%;"\x3e\x3c/div\x3e'),g.append(p));h=l.height-a.parts.contents.getSize("height",!(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.quirks));f=l.width-a.parts.contents.getSize("width",1);n={x:c.screenX,y:c.screenY};k=CKEDITOR.document.getWindow().getViewPaneSize(); CKEDITOR.document.on("mousemove",b);CKEDITOR.document.on("mouseup",d);CKEDITOR.env.ie6Compat&&(g=z.getChild(0).getFrameDocument(),g.on("mousemove",b),g.on("mouseup",d));c.preventDefault&&c.preventDefault()});a.on("load",function(){var b="";g==CKEDITOR.DIALOG_RESIZE_WIDTH?b=" cke_resizer_horizontal":g==CKEDITOR.DIALOG_RESIZE_HEIGHT&&(b=" cke_resizer_vertical");b=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_resizer'+b+" cke_resizer_"+e.lang.dir+'" title\x3d"'+CKEDITOR.tools.htmlEncode(e.lang.common.resize)+ -'" onmousedown\x3d"CKEDITOR.tools.callFunction('+m+', event )"\x3e'+("ltr"==e.lang.dir?"◢":"◣")+"\x3c/div\x3e");a.parts.footer.append(b,1)});e.on("destroy",function(){CKEDITOR.tools.removeFunction(m)})}}function p(a){a.data.preventDefault(1)}function v(a){var b=CKEDITOR.document.getWindow(),d=a.config,c=d.dialog_backgroundCoverColor||"white",g=d.dialog_backgroundCoverOpacity,e=d.baseFloatZIndex,d=CKEDITOR.tools.genKey(c,g,e),h=B[d];h?h.show():(e=['\x3cdiv tabIndex\x3d"-1" style\x3d"position: ',CKEDITOR.env.ie6Compat? -"absolute":"fixed","; z-index: ",e,"; top: 0px; left: 0px; ",CKEDITOR.env.ie6Compat?"":"background-color: "+c,'" class\x3d"cke_dialog_background_cover"\x3e'],CKEDITOR.env.ie6Compat&&(c="\x3chtml\x3e\x3cbody style\x3d\\'background-color:"+c+";\\'\x3e\x3c/body\x3e\x3c/html\x3e",e.push('\x3ciframe hidefocus\x3d"true" frameborder\x3d"0" id\x3d"cke_dialog_background_iframe" src\x3d"javascript:'),e.push("void((function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.write( '"+ -c+"' );document.close();")+"})())"),e.push('" style\x3d"position:absolute;left:0;top:0;width:100%;height: 100%;filter: progid:DXImageTransform.Microsoft.Alpha(opacity\x3d0)"\x3e\x3c/iframe\x3e')),e.push("\x3c/div\x3e"),h=CKEDITOR.dom.element.createFromHtml(e.join("")),h.setOpacity(void 0!==g?g:.5),h.on("keydown",p),h.on("keypress",p),h.on("keyup",p),h.appendTo(CKEDITOR.document.getBody()),B[d]=h);a.focusManager.add(h);z=h;a=function(){var a=b.getViewPaneSize();h.setStyles({width:a.width+"px",height:a.height+ -"px"})};var f=function(){var a=b.getScrollPosition(),d=CKEDITOR.dialog._.currentTop;h.setStyles({left:a.x+"px",top:a.y+"px"});if(d){do a=d.getPosition(),d.move(a.x,a.y);while(d=d._.parentDialog)}};w=a;b.on("resize",a);a();CKEDITOR.env.mac&&CKEDITOR.env.webkit||h.focus();if(CKEDITOR.env.ie6Compat){var k=function(){f();arguments.callee.prevScrollHandler.apply(this,arguments)};b.$.setTimeout(function(){k.prevScrollHandler=window.onscroll||function(){};window.onscroll=k},0);f()}}function u(a){z&&(a.focusManager.remove(z), -a=CKEDITOR.document.getWindow(),z.hide(),a.removeListener("resize",w),CKEDITOR.env.ie6Compat&&a.$.setTimeout(function(){window.onscroll=window.onscroll&&window.onscroll.prevScrollHandler||null},0),w=null)}var t=CKEDITOR.tools.cssLength,n='\x3cdiv class\x3d"cke_reset_all {editorId} {editorDialogClass} {hidpi}" dir\x3d"{langDir}" lang\x3d"{langCode}" role\x3d"dialog" aria-labelledby\x3d"cke_dialog_title_{id}"\x3e\x3ctable class\x3d"cke_dialog '+CKEDITOR.env.cssClass+' cke_{langDir}" style\x3d"position:absolute" role\x3d"presentation"\x3e\x3ctr\x3e\x3ctd role\x3d"presentation"\x3e\x3cdiv class\x3d"cke_dialog_body" role\x3d"presentation"\x3e\x3cdiv id\x3d"cke_dialog_title_{id}" class\x3d"cke_dialog_title" role\x3d"presentation"\x3e\x3c/div\x3e\x3ca id\x3d"cke_dialog_close_button_{id}" class\x3d"cke_dialog_close_button" href\x3d"javascript:void(0)" title\x3d"{closeTitle}" role\x3d"button"\x3e\x3cspan class\x3d"cke_label"\x3eX\x3c/span\x3e\x3c/a\x3e\x3cdiv id\x3d"cke_dialog_tabs_{id}" class\x3d"cke_dialog_tabs" role\x3d"tablist"\x3e\x3c/div\x3e\x3ctable class\x3d"cke_dialog_contents" role\x3d"presentation"\x3e\x3ctr\x3e\x3ctd id\x3d"cke_dialog_contents_{id}" class\x3d"cke_dialog_contents_body" role\x3d"presentation"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd id\x3d"cke_dialog_footer_{id}" class\x3d"cke_dialog_footer" role\x3d"presentation"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e'; -CKEDITOR.dialog=function(b,c){function k(){var a=B._.focusList;a.sort(function(a,b){return a.tabIndex!=b.tabIndex?b.tabIndex-a.tabIndex:a.focusIndex-b.focusIndex});for(var b=a.length,d=0;db.length)){var d=B._.currentFocusIndex;B._.tabBarMode&&0>a&&(d=0);try{b[d].getInputElement().$.blur()}catch(c){}var g=d,e=1b.length)){var d=K._.currentFocusIndex;K._.tabBarMode&&0>a&&(d=0);try{b[d].getInputElement().$.blur()}catch(c){}var g=d,e=1d.height|| b.width+(0d.width?a.setStyle("position","absolute"):a.setStyle("position","fixed"));this.move(this._.moved?this._.position.x:c,this._.moved?this._.position.y:g)},foreach:function(a){for(var b in this._.contents)for(var d in this._.contents[b])a.call(this,this._.contents[b][d]);return this},reset:function(){var a=function(a){a.reset&&a.reset(1)};return function(){this.foreach(a);return this}}(),setupContent:function(){var a=arguments;this.foreach(function(b){b.setup&&b.setup.apply(b,a)})}, -commitContent:function(){var a=arguments;this.foreach(function(b){CKEDITOR.env.ie&&this._.currentFocusIndex==b.focusIndex&&b.getInputElement().$.blur();b.commit&&b.commit.apply(b,a)})},hide:function(){if(this.parts.dialog.isVisible()){this.fire("hide",{});this._.editor.fire("dialogHide",this);this.selectPage(this._.tabIdList[0]);var a=this._.element;a.setStyle("display","none");this.parts.dialog.setStyle("visibility","hidden");for(L(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide(); -if(this._.parentDialog){var b=this._.parentDialog.getElement().getFirst();b.setStyle("z-index",parseInt(b.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2))}else u(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-=10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener("keydown",D);a.removeListener("keyup",F);var d=this._.editor;d.focus();setTimeout(function(){d.focusManager.unlock();CKEDITOR.env.iOS&&d.window.focus()},0)}delete this._.parentDialog; +commitContent:function(){var a=arguments;this.foreach(function(b){CKEDITOR.env.ie&&this._.currentFocusIndex==b.focusIndex&&b.getInputElement().$.blur();b.commit&&b.commit.apply(b,a)})},hide:function(){if(this.parts.dialog.isVisible()){this.fire("hide",{});this._.editor.fire("dialogHide",this);this.selectPage(this._.tabIdList[0]);var a=this._.element;a.setStyle("display","none");this.parts.dialog.setStyle("visibility","hidden");for(I(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide(); +if(this._.parentDialog){var b=this._.parentDialog.getElement().getFirst();b.setStyle("z-index",parseInt(b.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2))}else r(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-=10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener("keydown",C);a.removeListener("keyup",E);var d=this._.editor;d.focus();setTimeout(function(){d.focusManager.unlock();CKEDITOR.env.iOS&&d.window.focus()},0)}delete this._.parentDialog; this.foreach(function(a){a.resetInitValue&&a.resetInitValue()});this.setState(CKEDITOR.DIALOG_STATE_IDLE)}},addPage:function(a){if(!a.requiredContent||this._.editor.filter.check(a.requiredContent)){for(var b=[],d=a.label?' title\x3d"'+CKEDITOR.tools.htmlEncode(a.label)+'"':"",c=CKEDITOR.dialog._.uiElementBuilders.vbox.build(this,{type:"vbox",className:"cke_dialog_page_contents",children:a.elements,expand:!!a.expand,padding:a.padding,style:a.style||"width: 100%;"},b),g=this._.contents[a.id]={},e=c.getChild(), -h=0;c=e.shift();)c.notAllowed||"hbox"==c.type||"vbox"==c.type||h++,g[c.id]=c,"function"==typeof c.getChild&&e.push.apply(e,c.getChild());h||(a.hidden=!0);b=CKEDITOR.dom.element.createFromHtml(b.join(""));b.setAttribute("role","tabpanel");c=CKEDITOR.env;g="cke_"+a.id+"_"+CKEDITOR.tools.getNextNumber();d=CKEDITOR.dom.element.createFromHtml(['\x3ca class\x3d"cke_dialog_tab"',0arguments.length)){var f=(c.call?c(b):c)||"div", -k=["\x3c",f," "],n=(g&&g.call?g(b):g)||{},l=(e&&e.call?e(b):e)||{},p=(h&&h.call?h.call(this,a,b):h)||"",m=this.domId=l.id||CKEDITOR.tools.getNextId()+"_uiElement";b.requiredContent&&!a.getParentEditor().filter.check(b.requiredContent)&&(n.display="none",this.notAllowed=!0);l.id=m;var q={};b.type&&(q["cke_dialog_ui_"+b.type]=1);b.className&&(q[b.className]=1);b.disabled&&(q.cke_disabled=1);for(var t=l["class"]&&l["class"].split?l["class"].split(" "):[],m=0;marguments.length)){var h=(c.call?c(b):c)||"div", +k=["\x3c",h," "],n=(g&&g.call?g(b):g)||{},l=(e&&e.call?e(b):e)||{},p=(f&&f.call?f.call(this,a,b):f)||"",m=this.domId=l.id||CKEDITOR.tools.getNextId()+"_uiElement";b.requiredContent&&!a.getParentEditor().filter.check(b.requiredContent)&&(n.display="none",this.notAllowed=!0);l.id=m;var q={};b.type&&(q["cke_dialog_ui_"+b.type]=1);b.className&&(q[b.className]=1);b.disabled&&(q.cke_disabled=1);for(var u=l["class"]&&l["class"].split?l["class"].split(" "):[],m=0;mCKEDITOR.env.version?"cke_dialog_ui_focused":"";b.on("focus",function(){a._.tabBarMode=!1;a._.hasFocus=!0;x.fire("focus");d&&this.addClass(d)});b.on("blur",function(){x.fire("blur");d&&this.removeClass(d)})}});CKEDITOR.tools.extend(this,b);this.keyboardFocusable&&(this.tabIndex=b.tabIndex||0,this.focusIndex= -a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusIndex=x.focusIndex}))}},hbox:function(a,b,d,c,g){if(!(4>arguments.length)){this._||(this._={});var e=this._.children=b,h=g&&g.widths||null,f=g&&g.height||null,k,n={role:"presentation"};g&&g.align&&(n.align=g.align);CKEDITOR.ui.dialog.uiElement.call(this,a,g||{type:"hbox"},c,"table",{},n,function(){var a=['\x3ctbody\x3e\x3ctr class\x3d"cke_dialog_ui_hbox"\x3e'];for(k=0;karguments.length)){this._||(this._={});var e=this._.children=b,h=g&&g.width||null,f=g&&g.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,g||{type:"vbox"},c,"div",null,{role:"presentation"},function(){var b=['\x3ctable role\x3d"presentation" cellspacing\x3d"0" border\x3d"0" '];b.push('style\x3d"');g&&g.expand&&b.push("height:100%;");b.push("width:"+t(h||"100%"),";");CKEDITOR.env.webkit&&b.push("float:none;");b.push('"');b.push('align\x3d"',CKEDITOR.tools.htmlEncode(g&& -g.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');b.push("\x3e\x3ctbody\x3e");for(var c=0;cCKEDITOR.env.version?"cke_dialog_ui_focused":"";b.on("focus",function(){a._.tabBarMode=!1;a._.hasFocus=!0;w.fire("focus");d&&this.addClass(d)});b.on("blur",function(){w.fire("blur");d&&this.removeClass(d)})}});CKEDITOR.tools.extend(this,b);this.keyboardFocusable&&(this.tabIndex=b.tabIndex||0,this.focusIndex= +a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusIndex=w.focusIndex}))}},hbox:function(a,b,d,c,g){if(!(4>arguments.length)){this._||(this._={});var e=this._.children=b,f=g&&g.widths||null,h=g&&g.height||null,k,l={role:"presentation"};g&&g.align&&(l.align=g.align);CKEDITOR.ui.dialog.uiElement.call(this,a,g||{type:"hbox"},c,"table",{},l,function(){var a=['\x3ctbody\x3e\x3ctr class\x3d"cke_dialog_ui_hbox"\x3e'];for(k=0;karguments.length)){this._||(this._={});var e=this._.children=b,f=g&&g.width||null,h=g&&g.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,g||{type:"vbox"},c,"div",null,{role:"presentation"},function(){var b=['\x3ctable role\x3d"presentation" cellspacing\x3d"0" border\x3d"0" '];b.push('style\x3d"');g&&g.expand&&b.push("height:100%;");b.push("width:"+w(f||"100%"),";");CKEDITOR.env.webkit&&b.push("float:none;");b.push('"');b.push('align\x3d"',CKEDITOR.tools.htmlEncode(g&& +g.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');b.push("\x3e\x3ctbody\x3e");for(var c=0;carguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild? -this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=new CKEDITOR.ui.dialog.hbox;(function(){var a={build:function(a,b,d){for(var c=b.children,g,e=[],h=[],f=0;fl.length&&(c=a.document.createElement(a.config.enterMode==CKEDITOR.ENTER_P?"p":"div"),k=m.shift(),h.insertNode(c),c.append(new CKEDITOR.dom.text("",a.document)),h.moveToBookmark(k),h.selectNodeContents(c),h.collapse(!0),k=h.createBookmark(),l.push(c),m.unshift(k));b=l[0].getParent();h=[];for(k=0;k]+data-cke-bookmark[^<]*?<\/span>/ig, -"");e&&a(b,c)})}function B(){if("wysiwyg"==b.mode){var a=z("paste");b.getCommand("cut").setState(z("cut"));b.getCommand("copy").setState(z("copy"));b.getCommand("paste").setState(a);b.fire("pasteState",a)}}function z(a){if(E&&a in{paste:1,cut:1})return CKEDITOR.TRISTATE_DISABLED;if("paste"==a)return CKEDITOR.TRISTATE_OFF;a=b.getSelection();var d=a.getRanges();return a.getType()==CKEDITOR.SELECTION_NONE||1==d.length&&d[0].collapsed?CKEDITOR.TRISTATE_DISABLED:CKEDITOR.TRISTATE_OFF}var y=CKEDITOR.plugins.clipboard, -D=0,F=0,E=0;(function(){b.on("key",r);b.on("contentDom",d);b.on("selectionChange",function(a){E=a.data.selection.getRanges()[0].checkReadOnly();B()});b.contextMenu&&b.contextMenu.addListener(function(a,b){E=b.getRanges()[0].checkReadOnly();return{cut:z("cut"),copy:z("copy"),paste:z("paste")}})})();(function(){function a(d,c,e,h,f){var k=b.lang.clipboard[c];b.addCommand(c,e);b.ui.addButton&&b.ui.addButton(d,{label:k,command:c,toolbar:"clipboard,"+h});b.addMenuItems&&b.addMenuItem(c,{label:k,command:c, -group:"clipboard",order:f})}a("Cut","cut",c("cut"),10,1);a("Copy","copy",c("copy"),20,4);a("Paste","paste",e(),30,8)})();b.getClipboardData=function(a,d){function c(a){a.removeListener();a.cancel();d(a.data)}function e(a){a.removeListener();a.cancel();n=!0;d({type:k,dataValue:a.data.dataValue,dataTransfer:a.data.dataTransfer,method:"paste"})}function h(){this.customTitle=a&&a.title}var f=!1,k="auto",n=!1;d||(d=a,a=null);b.on("paste",c,null,null,0);b.on("beforePaste",function(a){a.removeListener(); -f=!0;k=a.data.type},null,null,1E3);!1===C()&&(b.removeListener("paste",c),f&&b.fire("pasteDialog",h)?(b.on("pasteDialogCommit",e),b.on("dialogHide",function(a){a.removeListener();a.data.removeListener("pasteDialogCommit",e);setTimeout(function(){n||d(null)},10)})):d(null))}}function c(a){if(CKEDITOR.env.webkit){if(!a.match(/^[^<]*$/g)&&!a.match(/^(
    <\/div>|
    [^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!a.match(/^([^<]|)*$/gi)&&!a.match(/^(

    ([^<]|)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko){if(!a.match(/^([^<]|)*$/gi))return"html"}else return"html"; -return"htmlifiedtext"}function e(a,b){function d(a){return CKEDITOR.tools.repeat("\x3c/p\x3e\x3cp\x3e",~~(a/2))+(1==a%2?"\x3cbr\x3e":"")}b=b.replace(/\s+/g," ").replace(/> +/gi,"\x3cbr\x3e");b=b.replace(/<\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(b.match(/^[^<]$/))return b;CKEDITOR.env.webkit&&-1(
    |)<\/div>)(?!$|(

    (
    |)<\/div>))/g,"\x3cbr\x3e").replace(/^(
    (
    |)<\/div>){2}(?!$)/g,"\x3cdiv\x3e\x3c/div\x3e"), -b.match(/
    (
    |)<\/div>/)&&(b="\x3cp\x3e"+b.replace(/(
    (
    |)<\/div>)+/g,function(a){return d(a.split("\x3c/div\x3e\x3cdiv\x3e").length+1)})+"\x3c/p\x3e"),b=b.replace(/<\/div>
    /g,"\x3cbr\x3e"),b=b.replace(/<\/?div>/g,""));CKEDITOR.env.gecko&&a.enterMode!=CKEDITOR.ENTER_BR&&(CKEDITOR.env.gecko&&(b=b.replace(/^

    $/,"\x3cbr\x3e")),-1){2,}/g,function(a){return d(a.length/4)})+"\x3c/p\x3e"));return l(a,b)}function h(){function a(){var b= -{},d;for(d in CKEDITOR.dtd)"$"!=d.charAt(0)&&"div"!=d&&"span"!=d&&(b[d]=1);return b}var b={};return{get:function(d){return"plain-text"==d?b.plainText||(b.plainText=new CKEDITOR.filter("br")):"semantic-content"==d?((d=b.semanticContent)||(d=new CKEDITOR.filter,d.allow({$1:{elements:a(),attributes:!0,styles:!1,classes:!1}}),d=b.semanticContent=d),d):d?new CKEDITOR.filter(d):null}}}function m(a,b,d){b=CKEDITOR.htmlParser.fragment.fromHtml(b);var c=new CKEDITOR.htmlParser.basicWriter;d.applyTo(b,!0,!1, -a.activeEnterMode);b.writeHtml(c);return c.getHtml()}function l(a,b){a.enterMode==CKEDITOR.ENTER_BR?b=b.replace(/(<\/p>

    )+/g,function(a){return CKEDITOR.tools.repeat("\x3cbr\x3e",a.length/7*2)}).replace(/<\/?p>/g,""):a.enterMode==CKEDITOR.ENTER_DIV&&(b=b.replace(/<(\/)?p>/g,"\x3c$1div\x3e"));return b}function k(a){a.data.preventDefault();a.data.$.dataTransfer.dropEffect="none"}function b(b){var d=CKEDITOR.plugins.clipboard;b.on("contentDom",function(){function c(d,e,h){e.select();a(b,{dataTransfer:h, -method:"drop"},1);h.sourceEditor.fire("saveSnapshot");h.sourceEditor.editable().extractHtmlFromRange(d);h.sourceEditor.getSelection().selectRanges([d]);h.sourceEditor.fire("saveSnapshot")}function e(c,h){c.select();a(b,{dataTransfer:h,method:"drop"},1);d.resetDragDataTransfer()}function h(a,d,c){var e={$:a.data.$,target:a.data.getTarget()};d&&(e.dragRange=d);c&&(e.dropRange=c);!1===b.fire(a.name,e)&&a.data.preventDefault()}function f(a){a.type!=CKEDITOR.NODE_ELEMENT&&(a=a.getParent());return a.getChildCount()} -var k=b.editable(),l=CKEDITOR.plugins.clipboard.getDropTarget(b),m=b.ui.space("top"),C=b.ui.space("bottom");d.preventDefaultDropOnElement(m);d.preventDefaultDropOnElement(C);k.attachListener(l,"dragstart",h);k.attachListener(b,"dragstart",d.resetDragDataTransfer,d,null,1);k.attachListener(b,"dragstart",function(a){d.initDragDataTransfer(a,b)},null,null,2);k.attachListener(b,"dragstart",function(){var a=d.dragRange=b.getSelection().getRanges()[0];CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(d.dragStartContainerChildCount= -a?f(a.startContainer):null,d.dragEndContainerChildCount=a?f(a.endContainer):null)},null,null,100);k.attachListener(l,"dragend",h);k.attachListener(b,"dragend",d.initDragDataTransfer,d,null,1);k.attachListener(b,"dragend",d.resetDragDataTransfer,d,null,100);k.attachListener(l,"dragover",function(a){var b=a.data.getTarget();b&&b.is&&b.is("html")?a.data.preventDefault():CKEDITOR.env.ie&&CKEDITOR.plugins.clipboard.isFileApiSupported&&a.data.$.dataTransfer.types.contains("Files")&&a.data.preventDefault()}); -k.attachListener(l,"drop",function(a){if(!a.data.$.defaultPrevented){a.data.preventDefault();var c=a.data.getTarget();if(!c.isReadOnly()||c.type==CKEDITOR.NODE_ELEMENT&&c.is("html")){var c=d.getRangeAtDropPosition(a,b),e=d.dragRange;c&&h(a,e,c)}}},null,null,9999);k.attachListener(b,"drop",d.initDragDataTransfer,d,null,1);k.attachListener(b,"drop",function(a){if(a=a.data){var h=a.dropRange,f=a.dragRange,k=a.dataTransfer;k.getTransferType(b)==CKEDITOR.DATA_TRANSFER_INTERNAL?setTimeout(function(){d.internalDrop(f, -h,k,b)},0):k.getTransferType(b)==CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?c(f,h,k):e(h,k)}},null,null,9999)})}CKEDITOR.plugins.add("clipboard",{requires:"dialog",init:function(a){var d,k=h();a.config.forcePasteAsPlainText?d="plain-text":a.config.pasteFilter?d=a.config.pasteFilter:!CKEDITOR.env.webkit||"pasteFilter"in a.config||(d="semantic-content");a.pasteFilter=k.get(d);f(a);b(a);CKEDITOR.dialog.add("paste",CKEDITOR.getUrl(this.path+"dialogs/paste.js"));a.on("paste",function(b){b.data.dataTransfer|| -(b.data.dataTransfer=new CKEDITOR.plugins.clipboard.dataTransfer);if(!b.data.dataValue){var d=b.data.dataTransfer,c=d.getData("text/html");if(c)b.data.dataValue=c,b.data.type="html";else if(c=d.getData("text/plain"))b.data.dataValue=a.editable().transformPlainTextToHtml(c),b.data.type="text"}},null,null,1);a.on("paste",function(a){var b=a.data.dataValue,d=CKEDITOR.dtd.$block;-1 <\/span>/gi," "),"html"!=a.data.type&&(b=b.replace(/]*>([^<]*)<\/span>/gi, -function(a,b){return b.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;")})),-1/,"")),b=b.replace(/(<[^>]+) class="Apple-[^"]*"/gi,"$1"));if(b.match(/^<[^<]+cke_(editable|contents)/i)){var c,g,e=new CKEDITOR.dom.element("div");for(e.setHtml(b);1==e.getChildCount()&&(c=e.getFirst())&&c.type==CKEDITOR.NODE_ELEMENT&&(c.hasClass("cke_editable")|| -c.hasClass("cke_contents"));)e=g=c;g&&(b=g.getHtml().replace(/
    $/i,""))}CKEDITOR.env.ie?b=b.replace(/^ (?: |\r\n)?<(\w+)/g,function(b,c){return c.toLowerCase()in d?(a.data.preSniffing="html","\x3c"+c):b}):CKEDITOR.env.webkit?b=b.replace(/<\/(\w+)>


    <\/div>$/,function(b,c){return c in d?(a.data.endsWithEOL=1,"\x3c/"+c+"\x3e"):b}):CKEDITOR.env.gecko&&(b=b.replace(/(\s)
    $/,"$1"));a.data.dataValue=b},null,null,3);a.on("paste",function(b){b=b.data;var d=b.type,h=b.dataValue,f,l=a.config.clipboard_defaultContentType|| -"html",p=b.dataTransfer.getTransferType(a);f="html"==d||"html"==b.preSniffing?"html":c(h);"htmlifiedtext"==f&&(h=e(a.config,h));"text"==d&&"html"==f?h=m(a,h,k.get("plain-text")):p==CKEDITOR.DATA_TRANSFER_EXTERNAL&&a.pasteFilter&&!b.dontFilter&&(h=m(a,h,a.pasteFilter));b.startsWithEOL&&(h='\x3cbr data-cke-eol\x3d"1"\x3e'+h);b.endsWithEOL&&(h+='\x3cbr data-cke-eol\x3d"1"\x3e');"auto"==d&&(d="html"==f||"html"==l?"html":"text");b.type=d;b.dataValue=h;delete b.preSniffing;delete b.startsWithEOL;delete b.endsWithEOL}, -null,null,6);a.on("paste",function(b){b=b.data;b.dataValue&&(a.insertHtml(b.dataValue,b.type,b.range),setTimeout(function(){a.fire("afterPaste")},0))},null,null,1E3);a.on("pasteDialog",function(b){setTimeout(function(){a.openDialog("paste",b.data)},0)})}});CKEDITOR.plugins.clipboard={isCustomCopyCutSupported:!CKEDITOR.env.ie&&!CKEDITOR.env.iOS,isCustomDataTypesSupported:!CKEDITOR.env.ie,isFileApiSupported:!CKEDITOR.env.ie||9CKEDITOR.env.version||b.isInline()?b:a.document},fixSplitNodesAfterDrop:function(a,b,d,c){function e(a,d,c){var g=a;g.type==CKEDITOR.NODE_TEXT&&(g=a.getParent());if(g.equals(d)&&c!=d.getChildCount())return a= -b.startContainer.getChild(b.startOffset-1),d=b.startContainer.getChild(b.startOffset),a&&a.type==CKEDITOR.NODE_TEXT&&d&&d.type==CKEDITOR.NODE_TEXT&&(c=a.getLength(),a.setText(a.getText()+d.getText()),d.remove(),b.setStart(a,c),b.collapse(!0)),!0}var h=b.startContainer;"number"==typeof c&&"number"==typeof d&&h.type==CKEDITOR.NODE_ELEMENT&&(e(a.startContainer,h,d)||e(a.endContainer,h,c))},isDropRangeAffectedByDragRange:function(a,b){var d=b.startContainer,c=b.endOffset;return a.endContainer.equals(d)&& -a.endOffset<=c||a.startContainer.getParent().equals(d)&&a.startContainer.getIndex()CKEDITOR.env.version&&this.fixSplitNodesAfterDrop(b,d,h.dragStartContainerChildCount,h.dragEndContainerChildCount);(l=this.isDropRangeAffectedByDragRange(b,d))||(k=b.createBookmark(!1)); -h=d.clone().createBookmark(!1);l&&(k=b.createBookmark(!1));b=k.startNode;d=k.endNode;l=h.startNode;d&&b.getPosition(l)&CKEDITOR.POSITION_PRECEDING&&d.getPosition(l)&CKEDITOR.POSITION_FOLLOWING&&l.insertBefore(b);b=e.createRange();b.moveToBookmark(k);f.extractHtmlFromRange(b,1);d=e.createRange();d.moveToBookmark(h);a(e,{dataTransfer:c,method:"drop",range:d},1);e.fire("unlockSnapshot")},getRangeAtDropPosition:function(a,b){var d=a.data.$,c=d.clientX,e=d.clientY,h=b.getSelection(!0).getRanges()[0],f= -b.createRange();if(a.data.testRange)return a.data.testRange;if(document.caretRangeFromPoint)d=b.document.$.caretRangeFromPoint(c,e),f.setStart(CKEDITOR.dom.node(d.startContainer),d.startOffset),f.collapse(!0);else if(d.rangeParent)f.setStart(CKEDITOR.dom.node(d.rangeParent),d.rangeOffset),f.collapse(!0);else{if(CKEDITOR.env.ie&&8l&& -!k;l++){if(!k)try{d.moveToPoint(c,e-l),k=!0}catch(m){}if(!k)try{d.moveToPoint(c,e+l),k=!0}catch(r){}}if(k){var w="cke-temp-"+(new Date).getTime();d.pasteHTML('\x3cspan id\x3d"'+w+'"\x3e​\x3c/span\x3e');var B=b.document.getById(w);f.moveToPosition(B,CKEDITOR.POSITION_BEFORE_START);B.remove()}else{var z=b.document.$.elementFromPoint(c,e),y=new CKEDITOR.dom.element(z),D;if(y.equals(b.editable())||"html"==y.getName())return h&&h.startContainer&&!h.startContainer.equals(b.editable())?h:null;D=y.getClientRect(); -c/i,bodyRegExp:/([\s\S]*)<\/body>/i,fragmentRegExp:/\x3c!--(?:Start|End)Fragment--\x3e/g,data:{},files:[],normalizeType:function(a){a=a.toLowerCase();return"text"==a||"text/plain"==a?"Text":"url"==a?"URL":a}};this.id=this.getData(d);this.id||(this.id="Text"==d?"":"cke-"+CKEDITOR.tools.getUniqueId());if("Text"!=d)try{this.$.setData(d,this.id)}catch(c){}b&&(this.sourceEditor=b,this.setData("text/html",b.getSelectedHtml(1)),"Text"== -d||this.getData("text/plain")||this.setData("text/plain",b.getSelection().getSelectedText()))};CKEDITOR.DATA_TRANSFER_INTERNAL=1;CKEDITOR.DATA_TRANSFER_CROSS_EDITORS=2;CKEDITOR.DATA_TRANSFER_EXTERNAL=3;CKEDITOR.plugins.clipboard.dataTransfer.prototype={getData:function(a){a=this._.normalizeType(a);var b=this._.data[a];if(void 0===b||null===b||""===b)try{b=this.$.getData(a)}catch(d){}if(void 0===b||null===b||""===b)b="";"text/html"==a?(b=b.replace(this._.metaRegExp,""),(a=this._.bodyRegExp.exec(b))&& -a.length&&(b=a[1],b=b.replace(this._.fragmentRegExp,""))):"Text"==a&&CKEDITOR.env.gecko&&this.getFilesCount()&&"file://"==b.substring(0,7)&&(b="");return b},setData:function(a,b){a=this._.normalizeType(a);this._.data[a]=b;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported||"URL"==a||"Text"==a){"Text"==d&&"Text"==a&&(this.id=b);try{this.$.setData(a,b)}catch(c){}}},getTransferType:function(a){return this.sourceEditor?this.sourceEditor==a?CKEDITOR.DATA_TRANSFER_INTERNAL:CKEDITOR.DATA_TRANSFER_CROSS_EDITORS: -CKEDITOR.DATA_TRANSFER_EXTERNAL},cacheData:function(){function a(d){d=b._.normalizeType(d);var c=b.getData(d);c&&(b._.data[d]=c)}if(this.$){var b=this,d,c;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(d=0;de?q+e:c.width>e?q-a.left:q-a.right+c.width): -he?q-e:c.width>e?q-a.right+c.width:q-a.left);e=a.top;c.height-a.topg?x-g:c.height>g?x-a.bottom+c.height:x-a.top);CKEDITOR.env.ie&&(c=a=new CKEDITOR.dom.element(p.$.offsetParent),"html"==c.getName()&&(c=c.getDocument().getBody()),"rtl"==c.getComputedStyle("direction")&&(q=CKEDITOR.env.ie8Compat?q-2*p.getDocument().getDocumentElement().$.scrollLeft:q-(a.$.scrollWidth-a.$.clientWidth)));var a=p.getFirst(),l;(l=a.getCustomData("activePanel"))&&l.onHide&&l.onHide.call(this,1);a.setCustomData("activePanel", -this);p.setStyles({top:x+"px",left:q+"px"});p.setOpacity(1);k&&k()},this);b.isLoaded?a():b.onLoad=a;CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.env.webkit&&CKEDITOR.document.getWindow().getScrollPosition().y;this.focus();d.element.focus();CKEDITOR.env.webkit&&(CKEDITOR.document.getBody().$.scrollTop=a);this.allowBlur(!0);this._.editor.fire("panelShow",this)},0,this)},CKEDITOR.env.air?200:0,this);this.visible=1;this.onShow&&this.onShow.call(this)},reposition:function(){var a=this._.showBlockParams; -this.visible&&this._.showBlockParams&&(this.hide(),this.showBlock.apply(this,a))},focus:function(){if(CKEDITOR.env.webkit){var a=CKEDITOR.document.getActive();a&&!a.equals(this._.iframe)&&a.$.blur()}(this._.lastFocused||this._.iframe.getFrameDocument().getWindow()).focus()},blur:function(){var a=this._.iframe.getFrameDocument().getActive();a&&a.is("a")&&(this._.lastFocused=a)},hide:function(a){if(this.visible&&(!this.onHide||!0!==this.onHide.call(this))){this.hideChild();CKEDITOR.env.gecko&&this._.iframe.getFrameDocument().$.activeElement.blur(); -this.element.setStyle("display","none");this.visible=0;this.element.getFirst().removeCustomData("activePanel");if(a=a&&this._.returnFocus)CKEDITOR.env.webkit&&a.type&&a.getWindow().$.focus(),a.focus();delete this._.lastFocused;this._.showBlockParams=null;this._.editor.fire("panelHide",this)}},allowBlur:function(a){var e=this._.panel;void 0!==a&&(e.allowBlur=a);return e.allowBlur},showAsChild:function(a,e,h,f,l,k){if(this._.activeChild!=a||a._.panel._.offsetParentId!=h.getId())this.hideChild(),a.onHide= -CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||this.hide()},0,this)},this),this._.activeChild=a,this._.focused=!1,a.showBlock(e,h,f,l,k),this.blur(),(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&setTimeout(function(){a.element.getChild(0).$.style.cssText+=""},100)},hideChild:function(a){var e=this._.activeChild;e&&(delete e.onHide,delete this._.activeChild,e.hide(),a&&this.focus())}}});CKEDITOR.on("instanceDestroyed",function(){var a=CKEDITOR.tools.isEmpty(CKEDITOR.instances), -e;for(e in f){var h=f[e];a?h.destroy():h.element.hide()}a&&(f={})})}(),CKEDITOR.plugins.add("menu",{requires:"floatpanel",beforeInit:function(a){for(var f=a.config.menu_groups.split(","),c=a._.menuGroups={},e=a._.menuItems={},h=0;hc.group?1:a.orderc.order?1:0})}var f='\x3cspan class\x3d"cke_menuitem"\x3e\x3ca id\x3d"{id}" class\x3d"cke_menubutton cke_menubutton__{name} cke_menubutton_{state} {cls}" href\x3d"{href}" title\x3d"{title}" tabindex\x3d"-1"_cke_focus\x3d1 hidefocus\x3d"true" role\x3d"{role}" aria-haspopup\x3d"{hasPopup}" aria-disabled\x3d"{disabled}" {ariaChecked}';CKEDITOR.env.gecko&&CKEDITOR.env.mac&& -(f+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(f+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var f=f+(' onmouseover\x3d"CKEDITOR.tools.callFunction({hoverFn},{index});" onmouseout\x3d"CKEDITOR.tools.callFunction({moveOutFn},{index});" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},{index}); return false;"\x3e'),c=CKEDITOR.addTemplate("menuItem",f+'\x3cspan class\x3d"cke_menubutton_inner"\x3e\x3cspan class\x3d"cke_menubutton_icon"\x3e\x3cspan class\x3d"cke_button_icon cke_button__{iconName}_icon" style\x3d"{iconStyle}"\x3e\x3c/span\x3e\x3c/span\x3e\x3cspan class\x3d"cke_menubutton_label"\x3e{label}\x3c/span\x3e{arrowHtml}\x3c/span\x3e\x3c/a\x3e\x3c/span\x3e'), -e=CKEDITOR.addTemplate("menuArrow",'\x3cspan class\x3d"cke_menuarrow"\x3e\x3cspan\x3e{label}\x3c/span\x3e\x3c/span\x3e');CKEDITOR.menu=CKEDITOR.tools.createClass({$:function(a,c){c=this._.definition=c||{};this.id=CKEDITOR.tools.getNextId();this.editor=a;this.items=[];this._.listeners=[];this._.level=c.level||1;var e=CKEDITOR.tools.extend({},c.panel,{css:[CKEDITOR.skin.getPath("editor")],level:this._.level-1,block:{}}),f=e.block.attributes=e.attributes||{};!f.role&&(f.role="menu");this._.panelDefinition= -e},_:{onShow:function(){var a=this.editor.getSelection(),c=a&&a.getStartElement(),e=this.editor.elementPath(),f=this._.listeners;this.removeAll();for(var b=0;bb.width&&(e.resize_minWidth=b.width);e.resize_minHeight>b.height&&(e.resize_minHeight=b.height);CKEDITOR.document.on("mousemove",f);CKEDITOR.document.on("mouseup",c);a.document&&(a.document.on("mousemove",f),a.document.on("mouseup",c));d.preventDefault&&d.preventDefault()});a.on("destroy",function(){CKEDITOR.tools.removeFunction(p)});a.on("uiSpace",function(b){if("bottom"==b.data.space){var c= -"";d&&!g&&(c=" cke_resizer_horizontal");!d&&g&&(c=" cke_resizer_vertical");var e='\x3cspan id\x3d"'+h+'" class\x3d"cke_resizer'+c+" cke_resizer_"+m+'" title\x3d"'+CKEDITOR.tools.htmlEncode(a.lang.common.resize)+'" onmousedown\x3d"CKEDITOR.tools.callFunction('+p+', event)"\x3e'+("ltr"==m?"◢":"◣")+"\x3c/span\x3e";"ltr"==m&&"ltr"==c?b.data.html+=e:b.data.html=e+b.data.html}},a,null,100);a.on("maximize",function(b){a.ui.space("resizer")[b.data==CKEDITOR.TRISTATE_ON?"hide":"show"]()})}}}),function(){var a= -'\x3ca id\x3d"{id}" class\x3d"cke_button cke_button__{name} cke_button_{state} {cls}"'+(CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' title\x3d"{title}" tabindex\x3d"-1" hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-haspopup\x3d"{hasArrow}" aria-disabled\x3d"{ariaDisabled}"';CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(a+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(a+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"'); -var a=a+(' onkeydown\x3d"return CKEDITOR.tools.callFunction({keydownFn},event);" onfocus\x3d"return CKEDITOR.tools.callFunction({focusFn},event);" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan class\x3d"cke_button_icon cke_button__{iconName}_icon" style\x3d"{style}"'),a=a+'\x3e\x26nbsp;\x3c/span\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_button_label cke_button__{name}_label" aria-hidden\x3d"false"\x3e{label}\x3c/span\x3e{arrowHtml}\x3c/a\x3e', -f=CKEDITOR.addTemplate("buttonArrow",'\x3cspan class\x3d"cke_button_arrow"\x3e'+(CKEDITOR.env.hc?"\x26#9660;":"")+"\x3c/span\x3e"),c=CKEDITOR.addTemplate("button",a);CKEDITOR.plugins.add("button",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_BUTTON,CKEDITOR.ui.button.handler)}});CKEDITOR.UI_BUTTON="button";CKEDITOR.ui.button=function(a){CKEDITOR.tools.extend(this,a,{title:a.label,click:a.click||function(c){c.execCommand(a.command)}});this._={}};CKEDITOR.ui.button.handler={create:function(a){return new CKEDITOR.ui.button(a)}}; -CKEDITOR.ui.button.prototype={render:function(a,h){function m(){var b=a.mode;b&&(b=this.modes[b]?void 0!==n[b]?n[b]:CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,b=a.readOnly&&!this.readOnly?CKEDITOR.TRISTATE_DISABLED:b,this.setState(b),this.refresh&&this.refresh())}var l=CKEDITOR.env,k=this._.id=CKEDITOR.tools.getNextId(),b="",d=this.command,g;this._.editor=a;var p={id:k,button:this,editor:a,focus:function(){CKEDITOR.document.getById(k).focus()},execute:function(){this.button.click(a)},attach:function(a){this.button.attach(a)}}, -v=CKEDITOR.tools.addFunction(function(a){if(p.onkey)return a=new CKEDITOR.dom.event(a),!1!==p.onkey(p,a.getKeystroke())}),u=CKEDITOR.tools.addFunction(function(a){var b;p.onfocus&&(b=!1!==p.onfocus(p,new CKEDITOR.dom.event(a)));return b}),t=0;p.clickFn=g=CKEDITOR.tools.addFunction(function(){t&&(a.unlockSelection(1),t=0);p.execute();l.iOS&&a.focus()});if(this.modes){var n={};a.on("beforeModeUnload",function(){a.mode&&this._.state!=CKEDITOR.TRISTATE_DISABLED&&(n[a.mode]=this._.state)},this);a.on("activeFilterChange", -m,this);a.on("mode",m,this);!this.readOnly&&a.on("readOnly",m,this)}else d&&(d=a.getCommand(d))&&(d.on("state",function(){this.setState(d.state)},this),b+=d.state==CKEDITOR.TRISTATE_ON?"on":d.state==CKEDITOR.TRISTATE_DISABLED?"disabled":"off");if(this.directional)a.on("contentDirChanged",function(b){var d=CKEDITOR.document.getById(this._.id),c=d.getFirst();b=b.data;b!=a.lang.dir?d.addClass("cke_"+b):d.removeClass("cke_ltr").removeClass("cke_rtl");c.setAttribute("style",CKEDITOR.skin.getIconStyle(x, -"rtl"==b,this.icon,this.iconOffset))},this);d||(b+="off");var q=this.name||this.command,x=q;this.icon&&!/\./.test(this.icon)&&(x=this.icon,this.icon=null);b={id:k,name:q,iconName:x,label:this.label,cls:this.className||"",state:b,ariaDisabled:"disabled"==b?"true":"false",title:this.title,titleJs:l.gecko&&!l.hc?"":(this.title||"").replace("'",""),hasArrow:this.hasArrow?"true":"false",keydownFn:v,focusFn:u,clickFn:g,style:CKEDITOR.skin.getIconStyle(x,"rtl"==a.lang.dir,this.icon,this.iconOffset),arrowHtml:this.hasArrow? -f.output():""};c.output(b,h);if(this.onRender)this.onRender();return p},setState:function(a){if(this._.state==a)return!1;this._.state=a;var c=CKEDITOR.document.getById(this._.id);return c?(c.setState(a,"cke_button"),a==CKEDITOR.TRISTATE_DISABLED?c.setAttribute("aria-disabled",!0):c.removeAttribute("aria-disabled"),this.hasArrow?(a=a==CKEDITOR.TRISTATE_ON?this._.editor.lang.button.selectedLabel.replace(/%1/g,this.label):this.label,CKEDITOR.document.getById(this._.id+"_label").setText(a)):a==CKEDITOR.TRISTATE_ON? -c.setAttribute("aria-pressed",!0):c.removeAttribute("aria-pressed"),!0):!1},getState:function(){return this._.state},toFeature:function(a){if(this._.feature)return this._.feature;var c=this;this.allowedContent||this.requiredContent||!this.command||(c=a.getCommand(this.command)||c);return this._.feature=c}};CKEDITOR.ui.prototype.addButton=function(a,c){this.add(a,CKEDITOR.UI_BUTTON,c)}}(),function(){function a(a){function c(){for(var b=e(),d=CKEDITOR.tools.clone(a.config.toolbarGroups)||f(a),g=0;g< -d.length;g++){var m=d[g];if("/"!=m){"string"==typeof m&&(m=d[g]={name:m});var n,q=m.groups;if(q)for(var x=0;xb.order?-1:0>a.order?1:a.orderCKEDITOR.env.version? -l.createText("\r"):l.createElement("br"),e.deleteContents(),e.insertNode(a),CKEDITOR.env.needsBrFiller?(l.createText("").insertAfter(a),m&&(q||n.blockLimit).appendBogus(),a.getNext().$.nodeValue="",e.setStartAt(a.getNext(),CKEDITOR.POSITION_AFTER_START)):e.setStartAt(a,CKEDITOR.POSITION_AFTER_END)),e.collapse(!0),e.select(),e.scrollIntoView()):k(a,c,e,h)}}};var m=CKEDITOR.plugins.enterkey,l=m.enterBr,k=m.enterBlock,b=/^h[1-6]$/}(),function(){function a(a,c){var e={},h=[],m={nbsp:" ",shy:"­",gt:"\x3e", -lt:"\x3c",amp:"\x26",apos:"'",quot:'"'};a=a.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(a,b){var f=c?"\x26"+b+";":m[b];e[f]=c?m[b]:"\x26"+b+";";h.push(f);return""});if(!c&&a){a=a.split(",");var l=document.createElement("div"),k;l.innerHTML="\x26"+a.join(";\x26")+";";k=l.innerHTML;l=null;for(l=0;ll.length&&(c=a.document.createElement(a.config.enterMode==CKEDITOR.ENTER_P?"p":"div"),k=m.shift(),h.insertNode(c),c.append(new CKEDITOR.dom.text("",a.document)),h.moveToBookmark(k),h.selectNodeContents(c),h.collapse(!0),k=h.createBookmark(),l.push(c),m.unshift(k));d=l[0].getParent();h=[];for(k=0;k]+data-cke-bookmark[^<]*?<\/span>/ig,"");e&&a(b,c)})}function F(){if("wysiwyg"==b.mode){var a=z("paste");b.getCommand("cut").setState(z("cut"));b.getCommand("copy").setState(z("copy"));b.getCommand("paste").setState(a);b.fire("pasteState",a)}}function z(a){if(D&&a in{paste:1,cut:1})return CKEDITOR.TRISTATE_DISABLED;if("paste"==a)return CKEDITOR.TRISTATE_OFF;a=b.getSelection();var d=a.getRanges();return a.getType()==CKEDITOR.SELECTION_NONE||1==d.length&&d[0].collapsed?CKEDITOR.TRISTATE_DISABLED: +CKEDITOR.TRISTATE_OFF}var A=CKEDITOR.plugins.clipboard,C=0,E=0,D=0;(function(){b.on("key",t);b.on("contentDom",d);b.on("selectionChange",function(a){D=a.data.selection.getRanges()[0].checkReadOnly();F()});b.contextMenu&&b.contextMenu.addListener(function(a,b){D=b.getRanges()[0].checkReadOnly();return{cut:z("cut"),copy:z("copy"),paste:z("paste")}})})();(function(){function a(d,c,e,f,h){var k=b.lang.clipboard[c];b.addCommand(c,e);b.ui.addButton&&b.ui.addButton(d,{label:k,command:c,toolbar:"clipboard,"+ +f});b.addMenuItems&&b.addMenuItem(c,{label:k,command:c,group:"clipboard",order:h})}a("Cut","cut",c("cut"),10,1);a("Copy","copy",c("copy"),20,4);a("Paste","paste",e(),30,8)})();b.getClipboardData=function(a,d){function c(a){a.removeListener();a.cancel();d(a.data)}function e(a){a.removeListener();a.cancel();l=!0;d({type:k,dataValue:a.data.dataValue,dataTransfer:a.data.dataTransfer,method:"paste"})}function f(){this.customTitle=a&&a.title}var h=!1,k="auto",l=!1;d||(d=a,a=null);b.on("paste",c,null,null, +0);b.on("beforePaste",function(a){a.removeListener();h=!0;k=a.data.type},null,null,1E3);!1===y()&&(b.removeListener("paste",c),h&&b.fire("pasteDialog",f)?(b.on("pasteDialogCommit",e),b.on("dialogHide",function(a){a.removeListener();a.data.removeListener("pasteDialogCommit",e);setTimeout(function(){l||d(null)},10)})):d(null))}}function c(a){if(CKEDITOR.env.webkit){if(!a.match(/^[^<]*$/g)&&!a.match(/^(
    <\/div>|
    [^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!a.match(/^([^<]|)*$/gi)&& +!a.match(/^(

    ([^<]|)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko){if(!a.match(/^([^<]|)*$/gi))return"html"}else return"html";return"htmlifiedtext"}function f(a,b){function d(a){return CKEDITOR.tools.repeat("\x3c/p\x3e\x3cp\x3e",~~(a/2))+(1==a%2?"\x3cbr\x3e":"")}b=b.replace(/\s+/g," ").replace(/> +/gi,"\x3cbr\x3e");b=b.replace(/<\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(b.match(/^[^<]$/))return b;CKEDITOR.env.webkit&& +-1(
    |)<\/div>)(?!$|(

    (
    |)<\/div>))/g,"\x3cbr\x3e").replace(/^(
    (
    |)<\/div>){2}(?!$)/g,"\x3cdiv\x3e\x3c/div\x3e"),b.match(/
    (
    |)<\/div>/)&&(b="\x3cp\x3e"+b.replace(/(
    (
    |)<\/div>)+/g,function(a){return d(a.split("\x3c/div\x3e\x3cdiv\x3e").length+1)})+"\x3c/p\x3e"),b=b.replace(/<\/div>
    /g,"\x3cbr\x3e"),b=b.replace(/<\/?div>/g,""));CKEDITOR.env.gecko&&a.enterMode!=CKEDITOR.ENTER_BR&&(CKEDITOR.env.gecko&&(b=b.replace(/^

    $/, +"\x3cbr\x3e")),-1){2,}/g,function(a){return d(a.length/4)})+"\x3c/p\x3e"));return l(a,b)}function h(){function a(){var b={},d;for(d in CKEDITOR.dtd)"$"!=d.charAt(0)&&"div"!=d&&"span"!=d&&(b[d]=1);return b}var b={};return{get:function(d){return"plain-text"==d?b.plainText||(b.plainText=new CKEDITOR.filter("br")):"semantic-content"==d?((d=b.semanticContent)||(d=new CKEDITOR.filter,d.allow({$1:{elements:a(),attributes:!0,styles:!1,classes:!1}}), +d=b.semanticContent=d),d):d?new CKEDITOR.filter(d):null}}}function m(a,b,d){b=CKEDITOR.htmlParser.fragment.fromHtml(b);var c=new CKEDITOR.htmlParser.basicWriter;d.applyTo(b,!0,!1,a.activeEnterMode);b.writeHtml(c);return c.getHtml()}function l(a,b){a.enterMode==CKEDITOR.ENTER_BR?b=b.replace(/(<\/p>

    )+/g,function(a){return CKEDITOR.tools.repeat("\x3cbr\x3e",a.length/7*2)}).replace(/<\/?p>/g,""):a.enterMode==CKEDITOR.ENTER_DIV&&(b=b.replace(/<(\/)?p>/g,"\x3c$1div\x3e"));return b}function k(a){a.data.preventDefault(); +a.data.$.dataTransfer.dropEffect="none"}function d(b){var d=CKEDITOR.plugins.clipboard;b.on("contentDom",function(){function c(d,e,f){e.select();a(b,{dataTransfer:f,method:"drop"},1);f.sourceEditor.fire("saveSnapshot");f.sourceEditor.editable().extractHtmlFromRange(d);f.sourceEditor.getSelection().selectRanges([d]);f.sourceEditor.fire("saveSnapshot")}function e(c,f){c.select();a(b,{dataTransfer:f,method:"drop"},1);d.resetDragDataTransfer()}function f(a,d,c){var e={$:a.data.$,target:a.data.getTarget()}; +d&&(e.dragRange=d);c&&(e.dropRange=c);!1===b.fire(a.name,e)&&a.data.preventDefault()}function h(a){a.type!=CKEDITOR.NODE_ELEMENT&&(a=a.getParent());return a.getChildCount()}var k=b.editable(),l=CKEDITOR.plugins.clipboard.getDropTarget(b),m=b.ui.space("top"),y=b.ui.space("bottom");d.preventDefaultDropOnElement(m);d.preventDefaultDropOnElement(y);k.attachListener(l,"dragstart",f);k.attachListener(b,"dragstart",d.resetDragDataTransfer,d,null,1);k.attachListener(b,"dragstart",function(a){d.initDragDataTransfer(a, +b)},null,null,2);k.attachListener(b,"dragstart",function(){var a=d.dragRange=b.getSelection().getRanges()[0];CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(d.dragStartContainerChildCount=a?h(a.startContainer):null,d.dragEndContainerChildCount=a?h(a.endContainer):null)},null,null,100);k.attachListener(l,"dragend",f);k.attachListener(b,"dragend",d.initDragDataTransfer,d,null,1);k.attachListener(b,"dragend",d.resetDragDataTransfer,d,null,100);k.attachListener(l,"dragover",function(a){var b=a.data.getTarget(); +b&&b.is&&b.is("html")?a.data.preventDefault():CKEDITOR.env.ie&&CKEDITOR.plugins.clipboard.isFileApiSupported&&a.data.$.dataTransfer.types.contains("Files")&&a.data.preventDefault()});k.attachListener(l,"drop",function(a){if(!a.data.$.defaultPrevented){a.data.preventDefault();var c=a.data.getTarget();if(!c.isReadOnly()||c.type==CKEDITOR.NODE_ELEMENT&&c.is("html")){var c=d.getRangeAtDropPosition(a,b),e=d.dragRange;c&&f(a,e,c)}}},null,null,9999);k.attachListener(b,"drop",d.initDragDataTransfer,d,null, +1);k.attachListener(b,"drop",function(a){if(a=a.data){var f=a.dropRange,h=a.dragRange,k=a.dataTransfer;k.getTransferType(b)==CKEDITOR.DATA_TRANSFER_INTERNAL?setTimeout(function(){d.internalDrop(h,f,k,b)},0):k.getTransferType(b)==CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?c(h,f,k):e(f,k)}},null,null,9999)})}CKEDITOR.plugins.add("clipboard",{requires:"dialog",init:function(a){var b,k=h();a.config.forcePasteAsPlainText?b="plain-text":a.config.pasteFilter?b=a.config.pasteFilter:!CKEDITOR.env.webkit||"pasteFilter"in +a.config||(b="semantic-content");a.pasteFilter=k.get(b);e(a);d(a);CKEDITOR.dialog.add("paste",CKEDITOR.getUrl(this.path+"dialogs/paste.js"));if(CKEDITOR.env.gecko){var l=["image/png","image/jpeg","image/gif"],w;a.on("paste",function(b){var d=b.data,c=d.dataTransfer;if(!d.dataValue&&"paste"==d.method&&c&&1==c.getFilesCount()&&w!=c.id&&(c=c.getFile(0),-1!=CKEDITOR.tools.indexOf(l,c.type))){var e=new FileReader;e.addEventListener("load",function(){b.data.dataValue='\x3cimg src\x3d"'+e.result+'" /\x3e'; +a.fire("paste",b.data)},!1);e.addEventListener("abort",function(){a.fire("paste",b.data)},!1);e.addEventListener("error",function(){a.fire("paste",b.data)},!1);e.readAsDataURL(c);w=d.dataTransfer.id;b.stop()}},null,null,1)}a.on("paste",function(b){b.data.dataTransfer||(b.data.dataTransfer=new CKEDITOR.plugins.clipboard.dataTransfer);if(!b.data.dataValue){var d=b.data.dataTransfer,c=d.getData("text/html");if(c)b.data.dataValue=c,b.data.type="html";else if(c=d.getData("text/plain"))b.data.dataValue= +a.editable().transformPlainTextToHtml(c),b.data.type="text"}},null,null,1);a.on("paste",function(a){var b=a.data.dataValue,d=CKEDITOR.dtd.$block;-1 <\/span>/gi," "),"html"!=a.data.type&&(b=b.replace(/]*>([^<]*)<\/span>/gi,function(a,b){return b.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;")})),-1/,"")),b=b.replace(/(<[^>]+) class="Apple-[^"]*"/gi,"$1"));if(b.match(/^<[^<]+cke_(editable|contents)/i)){var c,g,e=new CKEDITOR.dom.element("div");for(e.setHtml(b);1==e.getChildCount()&&(c=e.getFirst())&&c.type==CKEDITOR.NODE_ELEMENT&&(c.hasClass("cke_editable")||c.hasClass("cke_contents"));)e=g=c;g&&(b=g.getHtml().replace(/
    $/i,""))}CKEDITOR.env.ie?b=b.replace(/^ (?: |\r\n)?<(\w+)/g,function(b,c){return c.toLowerCase()in d?(a.data.preSniffing= +"html","\x3c"+c):b}):CKEDITOR.env.webkit?b=b.replace(/<\/(\w+)>


    <\/div>$/,function(b,c){return c in d?(a.data.endsWithEOL=1,"\x3c/"+c+"\x3e"):b}):CKEDITOR.env.gecko&&(b=b.replace(/(\s)
    $/,"$1"));a.data.dataValue=b},null,null,3);a.on("paste",function(b){b=b.data;var d=b.type,e=b.dataValue,h,l=a.config.clipboard_defaultContentType||"html",p=b.dataTransfer.getTransferType(a);h="html"==d||"html"==b.preSniffing?"html":c(e);"htmlifiedtext"==h&&(e=f(a.config,e));"text"==d&&"html"==h?e=m(a,e,k.get("plain-text")): +p==CKEDITOR.DATA_TRANSFER_EXTERNAL&&a.pasteFilter&&!b.dontFilter&&(e=m(a,e,a.pasteFilter));b.startsWithEOL&&(e='\x3cbr data-cke-eol\x3d"1"\x3e'+e);b.endsWithEOL&&(e+='\x3cbr data-cke-eol\x3d"1"\x3e');"auto"==d&&(d="html"==h||"html"==l?"html":"text");b.type=d;b.dataValue=e;delete b.preSniffing;delete b.startsWithEOL;delete b.endsWithEOL},null,null,6);a.on("paste",function(b){b=b.data;b.dataValue&&(a.insertHtml(b.dataValue,b.type,b.range),setTimeout(function(){a.fire("afterPaste")},0))},null,null,1E3); +a.on("pasteDialog",function(b){setTimeout(function(){a.openDialog("paste",b.data)},0)})}});CKEDITOR.plugins.clipboard={isCustomCopyCutSupported:!CKEDITOR.env.ie&&!CKEDITOR.env.iOS,isCustomDataTypesSupported:!CKEDITOR.env.ie,isFileApiSupported:!CKEDITOR.env.ie||9CKEDITOR.env.version||b.isInline()?b:a.document},fixSplitNodesAfterDrop:function(a,b,d,c){function e(a,d,c){var g=a;g.type==CKEDITOR.NODE_TEXT&&(g=a.getParent());if(g.equals(d)&&c!=d.getChildCount())return a=b.startContainer.getChild(b.startOffset-1),d=b.startContainer.getChild(b.startOffset),a&&a.type==CKEDITOR.NODE_TEXT&&d&&d.type==CKEDITOR.NODE_TEXT&&(c=a.getLength(),a.setText(a.getText()+ +d.getText()),d.remove(),b.setStart(a,c),b.collapse(!0)),!0}var f=b.startContainer;"number"==typeof c&&"number"==typeof d&&f.type==CKEDITOR.NODE_ELEMENT&&(e(a.startContainer,f,d)||e(a.endContainer,f,c))},isDropRangeAffectedByDragRange:function(a,b){var d=b.startContainer,c=b.endOffset;return a.endContainer.equals(d)&&a.endOffset<=c||a.startContainer.getParent().equals(d)&&a.startContainer.getIndex()CKEDITOR.env.version&&this.fixSplitNodesAfterDrop(b,d,f.dragStartContainerChildCount,f.dragEndContainerChildCount);(l=this.isDropRangeAffectedByDragRange(b,d))||(k=b.createBookmark(!1));f=d.clone().createBookmark(!1);l&&(k=b.createBookmark(!1));b=k.startNode;d=k.endNode;l=f.startNode;d&&b.getPosition(l)&CKEDITOR.POSITION_PRECEDING&&d.getPosition(l)&CKEDITOR.POSITION_FOLLOWING&& +l.insertBefore(b);b=e.createRange();b.moveToBookmark(k);h.extractHtmlFromRange(b,1);d=e.createRange();d.moveToBookmark(f);a(e,{dataTransfer:c,method:"drop",range:d},1);e.fire("unlockSnapshot")},getRangeAtDropPosition:function(a,b){var d=a.data.$,c=d.clientX,e=d.clientY,f=b.getSelection(!0).getRanges()[0],h=b.createRange();if(a.data.testRange)return a.data.testRange;if(document.caretRangeFromPoint)d=b.document.$.caretRangeFromPoint(c,e),h.setStart(CKEDITOR.dom.node(d.startContainer),d.startOffset), +h.collapse(!0);else if(d.rangeParent)h.setStart(CKEDITOR.dom.node(d.rangeParent),d.rangeOffset),h.collapse(!0);else{if(CKEDITOR.env.ie&&8l&&!k;l++){if(!k)try{d.moveToPoint(c,e-l),k=!0}catch(m){}if(!k)try{d.moveToPoint(c,e+l),k=!0}catch(t){}}if(k){var x="cke-temp-"+(new Date).getTime();d.pasteHTML('\x3cspan id\x3d"'+x+'"\x3e​\x3c/span\x3e'); +var F=b.document.getById(x);h.moveToPosition(F,CKEDITOR.POSITION_BEFORE_START);F.remove()}else{var z=b.document.$.elementFromPoint(c,e),A=new CKEDITOR.dom.element(z),C;if(A.equals(b.editable())||"html"==A.getName())return f&&f.startContainer&&!f.startContainer.equals(b.editable())?f:null;C=A.getClientRect();c/i,bodyRegExp:/([\s\S]*)<\/body>/i,fragmentRegExp:/\x3c!--(?:Start|End)Fragment--\x3e/g, +data:{},files:[],normalizeType:function(a){a=a.toLowerCase();return"text"==a||"text/plain"==a?"Text":"url"==a?"URL":a}};this.id=this.getData(b);this.id||(this.id="Text"==b?"":"cke-"+CKEDITOR.tools.getUniqueId());if("Text"!=b)try{this.$.setData(b,this.id)}catch(c){}d&&(this.sourceEditor=d,this.setData("text/html",d.getSelectedHtml(1)),"Text"==b||this.getData("text/plain")||this.setData("text/plain",d.getSelection().getSelectedText()))};CKEDITOR.DATA_TRANSFER_INTERNAL=1;CKEDITOR.DATA_TRANSFER_CROSS_EDITORS= +2;CKEDITOR.DATA_TRANSFER_EXTERNAL=3;CKEDITOR.plugins.clipboard.dataTransfer.prototype={getData:function(a){a=this._.normalizeType(a);var b=this._.data[a];if(void 0===b||null===b||""===b)try{b=this.$.getData(a)}catch(d){}if(void 0===b||null===b||""===b)b="";"text/html"==a?(b=b.replace(this._.metaRegExp,""),(a=this._.bodyRegExp.exec(b))&&a.length&&(b=a[1],b=b.replace(this._.fragmentRegExp,""))):"Text"==a&&CKEDITOR.env.gecko&&this.getFilesCount()&&"file://"==b.substring(0,7)&&(b="");return b},setData:function(a, +d){a=this._.normalizeType(a);this._.data[a]=d;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported||"URL"==a||"Text"==a){"Text"==b&&"Text"==a&&(this.id=d);try{this.$.setData(a,d)}catch(c){}}},getTransferType:function(a){return this.sourceEditor?this.sourceEditor==a?CKEDITOR.DATA_TRANSFER_INTERNAL:CKEDITOR.DATA_TRANSFER_CROSS_EDITORS:CKEDITOR.DATA_TRANSFER_EXTERNAL},cacheData:function(){function a(d){d=b._.normalizeType(d);var c=b.getData(d);c&&(b._.data[d]=c)}if(this.$){var b=this,d,c;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(d= +0;de?q+e:c.width>e?q-a.left:q-a.right+c.width):fe?q-e:c.width>e?q-a.right+c.width:q-a.left);e=a.top;c.height-a.topg?u-g:c.height>g?u-a.bottom+c.height:u-a.top);CKEDITOR.env.ie&&(c=a=new CKEDITOR.dom.element(p.$.offsetParent),"html"==c.getName()&& +(c=c.getDocument().getBody()),"rtl"==c.getComputedStyle("direction")&&(q=CKEDITOR.env.ie8Compat?q-2*p.getDocument().getDocumentElement().$.scrollLeft:q-(a.$.scrollWidth-a.$.clientWidth)));var a=p.getFirst(),l;(l=a.getCustomData("activePanel"))&&l.onHide&&l.onHide.call(this,1);a.setCustomData("activePanel",this);p.setStyles({top:u+"px",left:q+"px"});p.setOpacity(1);k&&k()},this);d.isLoaded?a():d.onLoad=a;CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.env.webkit&&CKEDITOR.document.getWindow().getScrollPosition().y; +this.focus();b.element.focus();CKEDITOR.env.webkit&&(CKEDITOR.document.getBody().$.scrollTop=a);this.allowBlur(!0);this._.editor.fire("panelShow",this)},0,this)},CKEDITOR.env.air?200:0,this);this.visible=1;this.onShow&&this.onShow.call(this)},reposition:function(){var a=this._.showBlockParams;this.visible&&this._.showBlockParams&&(this.hide(),this.showBlock.apply(this,a))},focus:function(){if(CKEDITOR.env.webkit){var a=CKEDITOR.document.getActive();a&&!a.equals(this._.iframe)&&a.$.blur()}(this._.lastFocused|| +this._.iframe.getFrameDocument().getWindow()).focus()},blur:function(){var a=this._.iframe.getFrameDocument().getActive();a&&a.is("a")&&(this._.lastFocused=a)},hide:function(a){if(this.visible&&(!this.onHide||!0!==this.onHide.call(this))){this.hideChild();CKEDITOR.env.gecko&&this._.iframe.getFrameDocument().$.activeElement.blur();this.element.setStyle("display","none");this.visible=0;this.element.getFirst().removeCustomData("activePanel");if(a=a&&this._.returnFocus)CKEDITOR.env.webkit&&a.type&&a.getWindow().$.focus(), +a.focus();delete this._.lastFocused;this._.showBlockParams=null;this._.editor.fire("panelHide",this)}},allowBlur:function(a){var e=this._.panel;void 0!==a&&(e.allowBlur=a);return e.allowBlur},showAsChild:function(a,e,h,m,l,k){if(this._.activeChild!=a||a._.panel._.offsetParentId!=h.getId())this.hideChild(),a.onHide=CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||this.hide()},0,this)},this),this._.activeChild=a,this._.focused=!1,a.showBlock(e,h,m,l,k),this.blur(), +(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&setTimeout(function(){a.element.getChild(0).$.style.cssText+=""},100)},hideChild:function(a){var e=this._.activeChild;e&&(delete e.onHide,delete this._.activeChild,e.hide(),a&&this.focus())}}});CKEDITOR.on("instanceDestroyed",function(){var a=CKEDITOR.tools.isEmpty(CKEDITOR.instances),f;for(f in e){var h=e[f];a?h.destroy():h.element.hide()}a&&(e={})})}(),CKEDITOR.plugins.add("menu",{requires:"floatpanel",beforeInit:function(a){for(var e=a.config.menu_groups.split(","), +c=a._.menuGroups={},f=a._.menuItems={},h=0;hc.group?1:a.orderc.order?1:0})}var e='\x3cspan class\x3d"cke_menuitem"\x3e\x3ca id\x3d"{id}" class\x3d"cke_menubutton cke_menubutton__{name} cke_menubutton_{state} {cls}" href\x3d"{href}" title\x3d"{title}" tabindex\x3d"-1" _cke_focus\x3d1 hidefocus\x3d"true" role\x3d"{role}" aria-label\x3d"{label}" aria-describedby\x3d"{id}_description" aria-haspopup\x3d"{hasPopup}" aria-disabled\x3d"{disabled}" {ariaChecked} draggable\x3d"false"'; +CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(e+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(e+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;" ondragstart\x3d"return false;"');var e=e+(' onmouseover\x3d"CKEDITOR.tools.callFunction({hoverFn},{index});" onmouseout\x3d"CKEDITOR.tools.callFunction({moveOutFn},{index});" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},{index}); return false;"\x3e'),c=CKEDITOR.addTemplate("menuItem", +e+'\x3cspan class\x3d"cke_menubutton_inner"\x3e\x3cspan class\x3d"cke_menubutton_icon"\x3e\x3cspan class\x3d"cke_button_icon cke_button__{iconName}_icon" style\x3d"{iconStyle}"\x3e\x3c/span\x3e\x3c/span\x3e\x3cspan class\x3d"cke_menubutton_label"\x3e{label}\x3c/span\x3e{shortcutHtml}{arrowHtml}\x3c/span\x3e\x3c/a\x3e\x3cspan id\x3d"{id}_description" class\x3d"cke_voice_label" aria-hidden\x3d"false"\x3e{ariaShortcut}\x3c/span\x3e\x3c/span\x3e'),f=CKEDITOR.addTemplate("menuArrow",'\x3cspan class\x3d"cke_menuarrow"\x3e\x3cspan\x3e{label}\x3c/span\x3e\x3c/span\x3e'), +h=CKEDITOR.addTemplate("menuShortcut",'\x3cspan class\x3d"cke_menubutton_label cke_menubutton_shortcut"\x3e{shortcut}\x3c/span\x3e');CKEDITOR.menu=CKEDITOR.tools.createClass({$:function(a,c){c=this._.definition=c||{};this.id=CKEDITOR.tools.getNextId();this.editor=a;this.items=[];this._.listeners=[];this._.level=c.level||1;var e=CKEDITOR.tools.extend({},c.panel,{css:[CKEDITOR.skin.getPath("editor")],level:this._.level-1,block:{}}),d=e.block.attributes=e.attributes||{};!d.role&&(d.role="menu");this._.panelDefinition= +e},_:{onShow:function(){var a=this.editor.getSelection(),c=a&&a.getStartElement(),e=this.editor.elementPath(),d=this._.listeners;this.removeAll();for(var b=0;bb.order?-1:0>a.order?1:a.orderCKEDITOR.env.version?l.createText("\r"):l.createElement("br"),f.deleteContents(),f.insertNode(a),CKEDITOR.env.needsBrFiller?(l.createText("").insertAfter(a), +m&&(q||n.blockLimit).appendBogus(),a.getNext().$.nodeValue="",f.setStartAt(a.getNext(),CKEDITOR.POSITION_AFTER_START)):f.setStartAt(a,CKEDITOR.POSITION_AFTER_END)),f.collapse(!0),f.select(),f.scrollIntoView()):k(a,c,f,h)}}};var m=CKEDITOR.plugins.enterkey,l=m.enterBr,k=m.enterBlock,d=/^h[1-6]$/}(),function(){function a(a,c){var f={},h=[],m={nbsp:" ",shy:"­",gt:"\x3e",lt:"\x3c",amp:"\x26",apos:"'",quot:'"'};a=a.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(a,d){var e=c?"\x26"+d+";":m[d]; +f[e]=c?m[d]:"\x26"+d+";";h.push(e);return""});if(!c&&a){a=a.split(",");var l=document.createElement("div"),k;l.innerHTML="\x26"+a.join(";\x26")+";";k=l.innerHTML;l=null;for(l=0;lf&&(f=640);420>c&&(c=420);var h=parseInt((window.screen.height-c)/2,10),m=parseInt((window.screen.width- -f)/2,10);e=(e||"location\x3dno,menubar\x3dno,toolbar\x3dno,dependent\x3dyes,minimizable\x3dno,modal\x3dyes,alwaysRaised\x3dyes,resizable\x3dyes,scrollbars\x3dyes")+",width\x3d"+f+",height\x3d"+c+",top\x3d"+h+",left\x3d"+m;var l=window.open("",null,e,!0);if(!l)return!1;try{-1==navigator.userAgent.toLowerCase().indexOf(" chrome/")&&(l.moveTo(m,h),l.resizeTo(f,c)),l.focus(),l.location.href=a}catch(k){window.open(a,null,e,!0)}return!0}}),function(){function a(a,d){var c=[];if(d)for(var e in d)c.push(e+ -"\x3d"+encodeURIComponent(d[e]));else return a;return a+(-1!=a.indexOf("?")?"\x26":"?")+c.join("\x26")}function f(a){a+="";return a.charAt(0).toUpperCase()+a.substr(1)}function c(){var b=this.getDialog(),d=b.getParentEditor();d._.filebrowserSe=this;var c=d.config["filebrowser"+f(b.getName())+"WindowWidth"]||d.config.filebrowserWindowWidth||"80%",b=d.config["filebrowser"+f(b.getName())+"WindowHeight"]||d.config.filebrowserWindowHeight||"70%",e=this.filebrowser.params||{};e.CKEditor=d.name;e.CKEditorFuncNum= -d._.filebrowserFn;e.langCode||(e.langCode=d.langCode);e=a(this.filebrowser.url,e);d.popup(e,c,b,d.config.filebrowserWindowFeatures||d.config.fileBrowserWindowFeatures)}function e(){var a=this.getDialog();a.getParentEditor()._.filebrowserSe=this;return a.getContentElement(this["for"][0],this["for"][1]).getInputElement().$.value&&a.getContentElement(this["for"][0],this["for"][1]).getAction()?!0:!1}function h(b,d,c){var e=c.params||{};e.CKEditor=b.name;e.CKEditorFuncNum=b._.filebrowserFn;e.langCode|| -(e.langCode=b.langCode);d.action=a(c.url,e);d.filebrowser=c}function m(a,d,g,k){if(k&&k.length)for(var l,u=k.length;u--;)if(l=k[u],"hbox"!=l.type&&"vbox"!=l.type&&"fieldset"!=l.type||m(a,d,g,l.children),l.filebrowser)if("string"==typeof l.filebrowser&&(l.filebrowser={action:"fileButton"==l.type?"QuickUpload":"Browse",target:l.filebrowser}),"Browse"==l.filebrowser.action){var t=l.filebrowser.url;void 0===t&&(t=a.config["filebrowser"+f(d)+"BrowseUrl"],void 0===t&&(t=a.config.filebrowserBrowseUrl)); -t&&(l.onClick=c,l.filebrowser.url=t,l.hidden=!1)}else if("QuickUpload"==l.filebrowser.action&&l["for"]&&(t=l.filebrowser.url,void 0===t&&(t=a.config["filebrowser"+f(d)+"UploadUrl"],void 0===t&&(t=a.config.filebrowserUploadUrl)),t)){var n=l.onClick;l.onClick=function(a){var b=a.sender;if(n&&!1===n.call(b,a))return!1;if(e.call(b,a)){a=b.getDialog().getContentElement(this["for"][0],this["for"][1]).getInputElement();if(b=new CKEDITOR.dom.element(a.$.form))(a=b.$.elements.ckCsrfToken)?a=new CKEDITOR.dom.element(a): -(a=new CKEDITOR.dom.element("input"),a.setAttributes({name:"ckCsrfToken",type:"hidden"}),b.append(a)),a.setAttribute("value",CKEDITOR.tools.getCsrfToken());return!0}return!1};l.filebrowser.url=t;l.hidden=!1;h(a,g.getContents(l["for"][0]).get(l["for"][1]),l.filebrowser)}}function l(a,d,c){if(-1!==c.indexOf(";")){c=c.split(";");for(var e=0;ex.height-q.bottom?g("pin"):g("bottom"),d=x.width/2,d=h.floatSpacePreferRight?"right":0n.width?"rtl"==h.contentsLangDirection?"right":"left":d-q.left>q.right-d?"left":"right",n.width>x.width?(d="left",p=0):(p="left"==d?0x.width&&(d="left"==d? -"right":"left",p=0)),b.setStyle(d,c(("pin"==k?B:r)+p+("pin"==k?0:"left"==d?C:-C)))):(k="pin",g("pin"),l(d))}}}();if(m){var k=new CKEDITOR.template('\x3cdiv id\x3d"cke_{name}" class\x3d"cke {id} cke_reset_all cke_chrome cke_editor_{name} cke_float cke_{langDir} '+CKEDITOR.env.cssClass+'" dir\x3d"{langDir}" title\x3d"'+(CKEDITOR.env.gecko?" ":"")+'" lang\x3d"{langCode}" role\x3d"application" style\x3d"{style}"'+(a.title?' aria-labelledby\x3d"cke_{name}_arialbl"':" ")+"\x3e"+(a.title?'\x3cspan id\x3d"cke_{name}_arialbl" class\x3d"cke_voice_label"\x3e{voiceLabel}\x3c/span\x3e': -" ")+'\x3cdiv class\x3d"cke_inner"\x3e\x3cdiv id\x3d"{topId}" class\x3d"cke_top" role\x3d"presentation"\x3e{content}\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e'),b=CKEDITOR.document.getBody().append(CKEDITOR.dom.element.createFromHtml(k.output({content:m,id:a.id,langDir:a.lang.dir,langCode:a.langCode,name:a.name,style:"display:none;z-index:"+(h.baseFloatZIndex-1),topId:a.ui.spaceId("top"),voiceLabel:a.title}))),d=CKEDITOR.tools.eventsBuffer(500,l),g=CKEDITOR.tools.eventsBuffer(100,l);b.unselectable();b.on("mousedown", -function(a){a=a.data;a.getTarget().hasAscendant("a",1)||a.preventDefault()});a.on("focus",function(b){l(b);a.on("change",d.input);f.on("scroll",g.input);f.on("resize",g.input)});a.on("blur",function(){b.hide();a.removeListener("change",d.input);f.removeListener("scroll",g.input);f.removeListener("resize",g.input)});a.on("destroy",function(){f.removeListener("scroll",g.input);f.removeListener("resize",g.input);b.clearCustomData();b.remove()});a.focusManager.hasFocus&&b.show();a.focusManager.add(b, -1)}}var f=CKEDITOR.document.getWindow(),c=CKEDITOR.tools.cssLength;CKEDITOR.plugins.add("floatingspace",{init:function(c){c.on("loaded",function(){a(this)},null,null,20)}})}(),CKEDITOR.plugins.add("listblock",{requires:"panel",onLoad:function(){var a=CKEDITOR.addTemplate("panel-list",'\x3cul role\x3d"presentation" class\x3d"cke_panel_list"\x3e{items}\x3c/ul\x3e'),f=CKEDITOR.addTemplate("panel-list-item",'\x3cli id\x3d"{id}" class\x3d"cke_panel_listItem" role\x3dpresentation\x3e\x3ca id\x3d"{id}_option" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"{title}" href\x3d"javascript:void(\'{val}\')" {onclick}\x3d"CKEDITOR.tools.callFunction({clickFn},\'{val}\'); return false;" role\x3d"option"\x3e{text}\x3c/a\x3e\x3c/li\x3e'), -c=CKEDITOR.addTemplate("panel-list-group",'\x3ch1 id\x3d"{id}" class\x3d"cke_panel_grouptitle" role\x3d"presentation" \x3e{label}\x3c/h1\x3e'),e=/\'/g;CKEDITOR.ui.panel.prototype.addListBlock=function(a,c){return this.addBlock(a,new CKEDITOR.ui.listBlock(this.getHolderElement(),c))};CKEDITOR.ui.listBlock=CKEDITOR.tools.createClass({base:CKEDITOR.ui.panel.block,$:function(a,c){c=c||{};var e=c.attributes||(c.attributes={});(this.multiSelect=!!c.multiSelect)&&(e["aria-multiselectable"]=!0);!e.role&& +h.entities_additional&&m.push(h.entities_additional));var l=a(m.join(",")),k=l.regex?"["+l.regex+"]":"a^";delete l.regex;h.entities&&h.entities_processNumerical&&(k="[^ -~]|"+k);var k=new RegExp(k,"g"),d=a("nbsp,gt,lt,amp,shy",!0),b=new RegExp(d.regex,"g");e.addRules({text:function(a){return a.replace(b,c).replace(k,f)}},{applyToAll:!0,excludeNestedEditable:!0})}}})}(),CKEDITOR.config.basicEntities=!0,CKEDITOR.config.entities=!0,CKEDITOR.config.entities_latin=!0,CKEDITOR.config.entities_greek=!0, +CKEDITOR.config.entities_additional="#39",CKEDITOR.plugins.add("popup"),CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{popup:function(a,e,c,f){e=e||"80%";c=c||"70%";"string"==typeof e&&1e&&(e=640);420>c&&(c=420);var h=parseInt((window.screen.height-c)/2,10),m=parseInt((window.screen.width- +e)/2,10);f=(f||"location\x3dno,menubar\x3dno,toolbar\x3dno,dependent\x3dyes,minimizable\x3dno,modal\x3dyes,alwaysRaised\x3dyes,resizable\x3dyes,scrollbars\x3dyes")+",width\x3d"+e+",height\x3d"+c+",top\x3d"+h+",left\x3d"+m;var l=window.open("",null,f,!0);if(!l)return!1;try{-1==navigator.userAgent.toLowerCase().indexOf(" chrome/")&&(l.moveTo(m,h),l.resizeTo(e,c)),l.focus(),l.location.href=a}catch(k){window.open(a,null,f,!0)}return!0}}),function(){function a(a,b){var c=[];if(b)for(var e in b)c.push(e+ +"\x3d"+encodeURIComponent(b[e]));else return a;return a+(-1!=a.indexOf("?")?"\x26":"?")+c.join("\x26")}function e(a){a+="";return a.charAt(0).toUpperCase()+a.substr(1)}function c(){var d=this.getDialog(),b=d.getParentEditor();b._.filebrowserSe=this;var c=b.config["filebrowser"+e(d.getName())+"WindowWidth"]||b.config.filebrowserWindowWidth||"80%",d=b.config["filebrowser"+e(d.getName())+"WindowHeight"]||b.config.filebrowserWindowHeight||"70%",f=this.filebrowser.params||{};f.CKEditor=b.name;f.CKEditorFuncNum= +b._.filebrowserFn;f.langCode||(f.langCode=b.langCode);f=a(this.filebrowser.url,f);b.popup(f,c,d,b.config.filebrowserWindowFeatures||b.config.fileBrowserWindowFeatures)}function f(){var a=this.getDialog();a.getParentEditor()._.filebrowserSe=this;return a.getContentElement(this["for"][0],this["for"][1]).getInputElement().$.value&&a.getContentElement(this["for"][0],this["for"][1]).getAction()?!0:!1}function h(d,b,c){var e=c.params||{};e.CKEditor=d.name;e.CKEditorFuncNum=d._.filebrowserFn;e.langCode|| +(e.langCode=d.langCode);b.action=a(c.url,e);b.filebrowser=c}function m(a,b,g,k){if(k&&k.length)for(var l,r=k.length;r--;)if(l=k[r],"hbox"!=l.type&&"vbox"!=l.type&&"fieldset"!=l.type||m(a,b,g,l.children),l.filebrowser)if("string"==typeof l.filebrowser&&(l.filebrowser={action:"fileButton"==l.type?"QuickUpload":"Browse",target:l.filebrowser}),"Browse"==l.filebrowser.action){var w=l.filebrowser.url;void 0===w&&(w=a.config["filebrowser"+e(b)+"BrowseUrl"],void 0===w&&(w=a.config.filebrowserBrowseUrl)); +w&&(l.onClick=c,l.filebrowser.url=w,l.hidden=!1)}else if("QuickUpload"==l.filebrowser.action&&l["for"]&&(w=l.filebrowser.url,void 0===w&&(w=a.config["filebrowser"+e(b)+"UploadUrl"],void 0===w&&(w=a.config.filebrowserUploadUrl)),w)){var n=l.onClick;l.onClick=function(a){var b=a.sender;if(n&&!1===n.call(b,a))return!1;if(f.call(b,a)){a=b.getDialog().getContentElement(this["for"][0],this["for"][1]).getInputElement();if(b=new CKEDITOR.dom.element(a.$.form))(a=b.$.elements.ckCsrfToken)?a=new CKEDITOR.dom.element(a): +(a=new CKEDITOR.dom.element("input"),a.setAttributes({name:"ckCsrfToken",type:"hidden"}),b.append(a)),a.setAttribute("value",CKEDITOR.tools.getCsrfToken());return!0}return!1};l.filebrowser.url=w;l.hidden=!1;h(a,g.getContents(l["for"][0]).get(l["for"][1]),l.filebrowser)}}function l(a,b,c){if(-1!==c.indexOf(";")){c=c.split(";");for(var e=0;eu.height-q.bottom?g("pin"):g("bottom"),b=u.width/2,b=h.floatSpacePreferRight?"right":0n.width?"rtl"==h.contentsLangDirection?"right":"left":b-q.left>q.right-b?"left":"right",n.width>u.width?(b="left",p=0):(p="left"==b?0u.width&&(b="left"==b? +"right":"left",p=0)),d.setStyle(b,c(("pin"==k?F:t)+p+("pin"==k?0:"left"==b?y:-y)))):(k="pin",g("pin"),l(b))}}}();if(m){var k=new CKEDITOR.template('\x3cdiv id\x3d"cke_{name}" class\x3d"cke {id} cke_reset_all cke_chrome cke_editor_{name} cke_float cke_{langDir} '+CKEDITOR.env.cssClass+'" dir\x3d"{langDir}" title\x3d"'+(CKEDITOR.env.gecko?" ":"")+'" lang\x3d"{langCode}" role\x3d"application" style\x3d"{style}"'+(a.title?' aria-labelledby\x3d"cke_{name}_arialbl"':" ")+"\x3e"+(a.title?'\x3cspan id\x3d"cke_{name}_arialbl" class\x3d"cke_voice_label"\x3e{voiceLabel}\x3c/span\x3e': +" ")+'\x3cdiv class\x3d"cke_inner"\x3e\x3cdiv id\x3d"{topId}" class\x3d"cke_top" role\x3d"presentation"\x3e{content}\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e'),d=CKEDITOR.document.getBody().append(CKEDITOR.dom.element.createFromHtml(k.output({content:m,id:a.id,langDir:a.lang.dir,langCode:a.langCode,name:a.name,style:"display:none;z-index:"+(h.baseFloatZIndex-1),topId:a.ui.spaceId("top"),voiceLabel:a.title}))),b=CKEDITOR.tools.eventsBuffer(500,l),g=CKEDITOR.tools.eventsBuffer(100,l);d.unselectable();d.on("mousedown", +function(a){a=a.data;a.getTarget().hasAscendant("a",1)||a.preventDefault()});a.on("focus",function(d){l(d);a.on("change",b.input);e.on("scroll",g.input);e.on("resize",g.input)});a.on("blur",function(){d.hide();a.removeListener("change",b.input);e.removeListener("scroll",g.input);e.removeListener("resize",g.input)});a.on("destroy",function(){e.removeListener("scroll",g.input);e.removeListener("resize",g.input);d.clearCustomData();d.remove()});a.focusManager.hasFocus&&d.show();a.focusManager.add(d, +1)}}var e=CKEDITOR.document.getWindow(),c=CKEDITOR.tools.cssLength;CKEDITOR.plugins.add("floatingspace",{init:function(c){c.on("loaded",function(){a(this)},null,null,20)}})}(),CKEDITOR.plugins.add("listblock",{requires:"panel",onLoad:function(){var a=CKEDITOR.addTemplate("panel-list",'\x3cul role\x3d"presentation" class\x3d"cke_panel_list"\x3e{items}\x3c/ul\x3e'),e=CKEDITOR.addTemplate("panel-list-item",'\x3cli id\x3d"{id}" class\x3d"cke_panel_listItem" role\x3dpresentation\x3e\x3ca id\x3d"{id}_option" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"{title}" href\x3d"javascript:void(\'{val}\')" {onclick}\x3d"CKEDITOR.tools.callFunction({clickFn},\'{val}\'); return false;" role\x3d"option"\x3e{text}\x3c/a\x3e\x3c/li\x3e'), +c=CKEDITOR.addTemplate("panel-list-group",'\x3ch1 id\x3d"{id}" class\x3d"cke_panel_grouptitle" role\x3d"presentation" \x3e{label}\x3c/h1\x3e'),f=/\'/g;CKEDITOR.ui.panel.prototype.addListBlock=function(a,c){return this.addBlock(a,new CKEDITOR.ui.listBlock(this.getHolderElement(),c))};CKEDITOR.ui.listBlock=CKEDITOR.tools.createClass({base:CKEDITOR.ui.panel.block,$:function(a,c){c=c||{};var e=c.attributes||(c.attributes={});(this.multiSelect=!!c.multiSelect)&&(e["aria-multiselectable"]=!0);!e.role&& (e.role="listbox");this.base.apply(this,arguments);this.element.setAttribute("role",e.role);e=this.keys;e[40]="next";e[9]="next";e[38]="prev";e[CKEDITOR.SHIFT+9]="prev";e[32]=CKEDITOR.env.ie?"mouseup":"click";CKEDITOR.env.ie&&(e[13]="mouseup");this._.pendingHtml=[];this._.pendingList=[];this._.items={};this._.groups={}},_:{close:function(){if(this._.started){var c=a.output({items:this._.pendingList.join("")});this._.pendingList=[];this._.pendingHtml.push(c);delete this._.started}},getClick:function(){this._.click|| -(this._.click=CKEDITOR.tools.addFunction(function(a){var c=this.toggle(a);if(this.onClick)this.onClick(a,c)},this));return this._.click}},proto:{add:function(a,c,l){var k=CKEDITOR.tools.getNextId();this._.started||(this._.started=1,this._.size=this._.size||0);this._.items[a]=k;var b;b=CKEDITOR.tools.htmlEncodeAttr(a).replace(e,"\\'");a={id:k,val:b,onclick:CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick",clickFn:this._.getClick(),title:CKEDITOR.tools.htmlEncodeAttr(l||a),text:c||a}; -this._.pendingList.push(f.output(a))},startGroup:function(a){this._.close();var e=CKEDITOR.tools.getNextId();this._.groups[a]=e;this._.pendingHtml.push(c.output({id:e,label:a}))},commit:function(){this._.close();this.element.appendHtml(this._.pendingHtml.join(""));delete this._.size;this._.pendingHtml=[]},toggle:function(a){var c=this.isMarked(a);c?this.unmark(a):this.mark(a);return!c},hideGroup:function(a){var c=(a=this.element.getDocument().getById(this._.groups[a]))&&a.getNext();a&&(a.setStyle("display", -"none"),c&&"ul"==c.getName()&&c.setStyle("display","none"))},hideItem:function(a){this.element.getDocument().getById(this._.items[a]).setStyle("display","none")},showAll:function(){var a=this._.items,c=this._.groups,e=this.element.getDocument(),f;for(f in a)e.getById(a[f]).setStyle("display","");for(var b in c)a=e.getById(c[b]),f=a.getNext(),a.setStyle("display",""),f&&"ul"==f.getName()&&f.setStyle("display","")},mark:function(a){this.multiSelect||this.unmarkAll();a=this._.items[a];var c=this.element.getDocument().getById(a); +(this._.click=CKEDITOR.tools.addFunction(function(a){var c=this.toggle(a);if(this.onClick)this.onClick(a,c)},this));return this._.click}},proto:{add:function(a,c,l){var k=CKEDITOR.tools.getNextId();this._.started||(this._.started=1,this._.size=this._.size||0);this._.items[a]=k;var d;d=CKEDITOR.tools.htmlEncodeAttr(a).replace(f,"\\'");a={id:k,val:d,onclick:CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick",clickFn:this._.getClick(),title:CKEDITOR.tools.htmlEncodeAttr(l||a),text:c||a}; +this._.pendingList.push(e.output(a))},startGroup:function(a){this._.close();var e=CKEDITOR.tools.getNextId();this._.groups[a]=e;this._.pendingHtml.push(c.output({id:e,label:a}))},commit:function(){this._.close();this.element.appendHtml(this._.pendingHtml.join(""));delete this._.size;this._.pendingHtml=[]},toggle:function(a){var c=this.isMarked(a);c?this.unmark(a):this.mark(a);return!c},hideGroup:function(a){var c=(a=this.element.getDocument().getById(this._.groups[a]))&&a.getNext();a&&(a.setStyle("display", +"none"),c&&"ul"==c.getName()&&c.setStyle("display","none"))},hideItem:function(a){this.element.getDocument().getById(this._.items[a]).setStyle("display","none")},showAll:function(){var a=this._.items,c=this._.groups,e=this.element.getDocument(),f;for(f in a)e.getById(a[f]).setStyle("display","");for(var d in c)a=e.getById(c[d]),f=a.getNext(),a.setStyle("display",""),f&&"ul"==f.getName()&&f.setStyle("display","")},mark:function(a){this.multiSelect||this.unmarkAll();a=this._.items[a];var c=this.element.getDocument().getById(a); c.addClass("cke_selected");this.element.getDocument().getById(a+"_option").setAttribute("aria-selected",!0);this.onMark&&this.onMark(c)},unmark:function(a){var c=this.element.getDocument();a=this._.items[a];var e=c.getById(a);e.removeClass("cke_selected");c.getById(a+"_option").removeAttribute("aria-selected");this.onUnmark&&this.onUnmark(e)},unmarkAll:function(){var a=this._.items,c=this.element.getDocument(),e;for(e in a){var f=a[e];c.getById(f).removeClass("cke_selected");c.getById(f+"_option").removeAttribute("aria-selected")}this.onUnmark&& this.onUnmark()},isMarked:function(a){return this.element.getDocument().getById(this._.items[a]).hasClass("cke_selected")},focus:function(a){this._.focusIndex=-1;var c=this.element.getElementsByTag("a"),e,f=-1;if(a)for(e=this.element.getDocument().getById(this._.items[a]).getFirst();a=c.getItem(++f);){if(a.equals(e)){this._.focusIndex=f;break}}else this.element.focus();e&&setTimeout(function(){e.focus()},0)}}})}}),CKEDITOR.plugins.add("richcombo",{requires:"floatpanel,listblock,button",beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_RICHCOMBO, CKEDITOR.ui.richCombo.handler)}}),function(){var a='\x3cspan id\x3d"{id}" class\x3d"cke_combo cke_combo__{name} {cls}" role\x3d"presentation"\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_combo_label"\x3e{label}\x3c/span\x3e\x3ca class\x3d"cke_combo_button" title\x3d"{title}" tabindex\x3d"-1"'+(CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-haspopup\x3d"true"';CKEDITOR.env.gecko&&CKEDITOR.env.mac&& (a+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(a+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var a=a+(' onkeydown\x3d"return CKEDITOR.tools.callFunction({keydownFn},event,this);" onfocus\x3d"return CKEDITOR.tools.callFunction({focusFn},event);" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan id\x3d"{id}_text" class\x3d"cke_combo_text cke_combo_inlinelabel"\x3e{label}\x3c/span\x3e\x3cspan class\x3d"cke_combo_open"\x3e\x3cspan class\x3d"cke_combo_arrow"\x3e'+ -(CKEDITOR.env.hc?"\x26#9660;":CKEDITOR.env.air?"\x26nbsp;":"")+"\x3c/span\x3e\x3c/span\x3e\x3c/a\x3e\x3c/span\x3e"),f=CKEDITOR.addTemplate("combo",a);CKEDITOR.UI_RICHCOMBO="richcombo";CKEDITOR.ui.richCombo=CKEDITOR.tools.createClass({$:function(a){CKEDITOR.tools.extend(this,a,{canGroup:!1,title:a.label,modes:{wysiwyg:1},editorFocus:1});a=this.panel||{};delete this.panel;this.id=CKEDITOR.tools.getNextNumber();this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.className="cke_combopanel"; -a.block={multiSelect:a.multiSelect,attributes:a.attributes};a.toolbarRelated=!0;this._={panelDefinition:a,items:{}}},proto:{renderHtml:function(a){var e=[];this.render(a,e);return e.join("")},render:function(a,e){function h(){if(this.getState()!=CKEDITOR.TRISTATE_ON){var b=this.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED;a.readOnly&&!this.readOnly&&(b=CKEDITOR.TRISTATE_DISABLED);this.setState(b);this.setValue("");b!=CKEDITOR.TRISTATE_DISABLED&&this.refresh&&this.refresh()}}var m= -CKEDITOR.env,l="cke_"+this.id,k=CKEDITOR.tools.addFunction(function(b){v&&(a.unlockSelection(1),v=0);d.execute(b)},this),b=this,d={id:l,combo:this,focus:function(){CKEDITOR.document.getById(l).getChild(1).focus()},execute:function(d){var e=b._;if(e.state!=CKEDITOR.TRISTATE_DISABLED)if(b.createPanel(a),e.on)e.panel.hide();else{b.commit();var g=b.getValue();g?e.list.mark(g):e.list.unmarkAll();e.panel.showBlock(b.id,new CKEDITOR.dom.element(d),4)}},clickFn:k};a.on("activeFilterChange",h,this);a.on("mode", -h,this);a.on("selectionChange",h,this);!this.readOnly&&a.on("readOnly",h,this);var g=CKEDITOR.tools.addFunction(function(b,e){b=new CKEDITOR.dom.event(b);var g=b.getKeystroke();if(40==g)a.once("panelShow",function(a){a.data._.panel._.currentBlock.onKeyDown(40)});switch(g){case 13:case 32:case 40:CKEDITOR.tools.callFunction(k,e);break;default:d.onkey(d,g)}b.preventDefault()}),p=CKEDITOR.tools.addFunction(function(){d.onfocus&&d.onfocus()}),v=0;d.keyDownFn=g;m={id:l,name:this.name||this.command,label:this.label, -title:this.title,cls:this.className||"",titleJs:m.gecko&&!m.hc?"":(this.title||"").replace("'",""),keydownFn:g,focusFn:p,clickFn:k};f.output(m,e);if(this.onRender)this.onRender();return d},createPanel:function(a){if(!this._.panel){var e=this._.panelDefinition,f=this._.panelDefinition.block,m=e.parent||CKEDITOR.document.getBody(),l="cke_combopanel__"+this.name,k=new CKEDITOR.ui.floatPanel(a,m,e),b=k.addListBlock(this.id,f),d=this;k.onShow=function(){this.element.addClass(l);d.setState(CKEDITOR.TRISTATE_ON); -d._.on=1;d.editorFocus&&!a.focusManager.hasFocus&&a.focus();if(d.onOpen)d.onOpen();a.once("panelShow",function(){b.focus(!b.multiSelect&&d.getValue())})};k.onHide=function(b){this.element.removeClass(l);d.setState(d.modes&&d.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);d._.on=0;if(!b&&d.onClose)d.onClose()};k.onEscape=function(){k.hide(1)};b.onClick=function(a,b){d.onClick&&d.onClick.call(d,a,b);k.hide()};this._.panel=k;this._.list=b;k.getBlock(this.id).onHide=function(){d._.on= -0;d.setState(CKEDITOR.TRISTATE_OFF)};this.init&&this.init()}},setValue:function(a,e){this._.value=a;var f=this.document.getById("cke_"+this.id+"_text");f&&(a||e?f.removeClass("cke_combo_inlinelabel"):(e=this.label,f.addClass("cke_combo_inlinelabel")),f.setText("undefined"!=typeof e?e:a))},getValue:function(){return this._.value||""},unmarkAll:function(){this._.list.unmarkAll()},mark:function(a){this._.list.mark(a)},hideItem:function(a){this._.list.hideItem(a)},hideGroup:function(a){this._.list.hideGroup(a)}, -showAll:function(){this._.list.showAll()},add:function(a,e,f){this._.items[a]=f||a;this._.list.add(a,e,f)},startGroup:function(a){this._.list.startGroup(a)},commit:function(){this._.committed||(this._.list.commit(),this._.committed=1,CKEDITOR.ui.fire("ready",this));this._.committed=1},setState:function(a){if(this._.state!=a){var e=this.document.getById("cke_"+this.id);e.setState(a,"cke_combo");a==CKEDITOR.TRISTATE_DISABLED?e.setAttribute("aria-disabled",!0):e.removeAttribute("aria-disabled");this._.state= -a}},getState:function(){return this._.state},enable:function(){this._.state==CKEDITOR.TRISTATE_DISABLED&&this.setState(this._.lastState)},disable:function(){this._.state!=CKEDITOR.TRISTATE_DISABLED&&(this._.lastState=this._.state,this.setState(CKEDITOR.TRISTATE_DISABLED))}},statics:{handler:{create:function(a){return new CKEDITOR.ui.richCombo(a)}}}});CKEDITOR.ui.prototype.addRichCombo=function(a,e){this.add(a,CKEDITOR.UI_RICHCOMBO,e)}}(),CKEDITOR.plugins.add("format",{requires:"richcombo",init:function(a){if(!a.blockless){for(var f= -a.config,c=a.lang.format,e=f.format_tags.split(";"),h={},m=0,l=[],k=0;kthis.$.offsetHeight){var d=e.createRange();d[33==b?"moveToElementEditStart": -"moveToElementEditEnd"](this);d.select();a.data.preventDefault()}});CKEDITOR.env.ie&&this.attachListener(k,"blur",function(){try{k.$.selection.empty()}catch(a){}});CKEDITOR.env.iOS&&this.attachListener(k,"touchend",function(){a.focus()});b=e.document.getElementsByTag("title").getItem(0);b.data("cke-title",b.getText());CKEDITOR.env.ie&&(e.document.$.title=this._.docTitle);CKEDITOR.tools.setTimeout(function(){"unloaded"==this.status&&(this.status="ready");e.fire("contentDom");this._.isPendingFocus&& -(e.focus(),this._.isPendingFocus=!1);setTimeout(function(){e.fire("dataReady")},0)},0,this)}function f(a){function c(){var b;a.editable().attachListener(a,"selectionChange",function(){var c=a.getSelection().getSelectedElement();c&&(b&&(b.detachEvent("onresizestart",e),b=null),c.$.attachEvent("onresizestart",e),b=c.$)})}function e(a){a.returnValue=!1}if(CKEDITOR.env.gecko)try{var f=a.document.$;f.execCommand("enableObjectResizing",!1,!a.config.disableObjectResizing);f.execCommand("enableInlineTableEditing", -!1,!a.config.disableNativeTableHandles)}catch(b){}else CKEDITOR.env.ie&&11>CKEDITOR.env.version&&a.config.disableObjectResizing&&c(a)}function c(){var a=[];if(8<=CKEDITOR.document.$.documentMode){a.push("html.CSS1Compat [contenteditable\x3dfalse]{min-height:0 !important}");var c=[],e;for(e in CKEDITOR.dtd.$removeEmpty)c.push("html.CSS1Compat "+e+"[contenteditable\x3dfalse]");a.push(c.join(",")+"{display:inline-block}")}else CKEDITOR.env.gecko&&(a.push("html{height:100% !important}"),a.push("img:-moz-broken{-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")); -a.push("html{cursor:text;*cursor:auto}");a.push("img,input,textarea{cursor:default}");return a.join("\n")}var e;CKEDITOR.plugins.add("wysiwygarea",{init:function(a){a.config.fullPage&&a.addFeature({allowedContent:"html head title; style [media,type]; body (*)[id]; meta link [*]",requiredContent:"body"});a.addMode("wysiwyg",function(c){function f(d){d&&d.removeListener();a.editable(new e(a,b.$.contentWindow.document.body));a.setData(a.getData(1),c)}var k="document.open();"+(CKEDITOR.env.ie?"("+CKEDITOR.tools.fixDomain+ -")();":"")+"document.close();",k=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie&&!CKEDITOR.env.edge?"javascript:void(function(){"+encodeURIComponent(k)+"}())":"",b=CKEDITOR.dom.element.createFromHtml('\x3ciframe src\x3d"'+k+'" frameBorder\x3d"0"\x3e\x3c/iframe\x3e');b.setStyles({width:"100%",height:"100%"});b.addClass("cke_wysiwyg_frame").addClass("cke_reset");k=a.ui.space("contents");k.append(b);var d=CKEDITOR.env.ie&&!CKEDITOR.env.edge||CKEDITOR.env.gecko;if(d)b.on("load",f);var g=a.title, -p=a.fire("ariaEditorHelpLabel",{}).label;g&&(CKEDITOR.env.ie&&p&&(g+=", "+p),b.setAttribute("title",g));if(p){var g=CKEDITOR.tools.getNextId(),v=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+g+'" class\x3d"cke_voice_label"\x3e'+p+"\x3c/span\x3e");k.append(v,1);b.setAttribute("aria-describedby",g)}a.on("beforeModeUnload",function(a){a.removeListener();v&&v.remove()});b.setAttributes({tabIndex:a.tabIndex,allowTransparency:"true"});!d&&f();a.fire("ariaWidget",b)})}});CKEDITOR.editor.prototype.addContentsCss= -function(a){var c=this.config,e=c.contentsCss;CKEDITOR.tools.isArray(e)||(c.contentsCss=e?[e]:[]);c.contentsCss.push(a)};e=CKEDITOR.tools.createClass({$:function(){this.base.apply(this,arguments);this._.frameLoadedHandler=CKEDITOR.tools.addFunction(function(c){CKEDITOR.tools.setTimeout(a,0,this,c)},this);this._.docTitle=this.getWindow().getFrame().getAttribute("title")},base:CKEDITOR.editable,proto:{setData:function(a,e){var f=this.editor;if(e)this.setHtml(a),this.fixInitialSelection(),f.fire("dataReady"); -else{this._.isLoadingData=!0;f._.dataStore={id:1};var k=f.config,b=k.fullPage,d=k.docType,g=CKEDITOR.tools.buildStyleHtml(c()).replace(/